Cygwin에서 arm-linux-gcc 컴파일 해보기

FALinux에서 개발 중인 보드는 arm 프로세서가 사용됩니다.

arm 컴파일 환경을 구성하기 위한 목적을 달성하기 위해
FAIDE(for eclipse) 안에 포함되어 있는 Cygwin에서 arm-linux-gcc를 사용하여 컴파일을 하려고 합니다.

 

1. C 예제 파일

arm-linux-gcc 로 컴파일이 제대로 되는지 확인하기 위해서 cygwin 폴더로 갑니다.

C:\FAIDE\Cygwin\ 폴더로 가서 test 라는 폴더를 생성하고 test.c 파일을 만들어줍니다.

* Cygwin에서 vim을 통해 직접 만들어줄 수 있지만, 좀더 편하게 소스를 편집하기 위해
   윈도우 메모장 및 편집 프로그램을 사용하여 먼저 c 파일을 만들어두었습니다.

test.c (예제 파일)#include <stdio.h>

int main()
{
    printf( "Hello\n");
    return 0;
}

test.c 파일은 다음과 같이 위치하게 됩니다.

C:\FAIDE\Cygwin\test\test.c

 

2. Cygwin 실행

C:\FAIDE\Cygwin 폴더로 이동하여, Cygwin.bat 이나 Cygwin rxvt.bat 파일을 실행합니다.

실행한 다음, test 폴더로 이동하여 test.c 파일이 있는지 확인합니다.

▲ 윈도우에서 C:\FAIDE\Cygwin\test\test.c 파일은 /test/test.c 에 위치하게 됩니다.

arm-linux-gcc 컴파일 명령을 통해서 test 실행 파일을 생성합니다.

아래와 같이 입력합니다.

$ arm-linux-gcc -o test test.c

▲ test 파일과 test.c 파일을 볼 수 있습니다.

Arm 용으로 컴파일 되었는지, file 명령을 통해 확인합니다.

$ file test

▲ 설명 중간에 ARM 이라는 부분을 확인하면 됩니다.

test: ELF 32-bit LSB executable, ARM, version 1, for GNU/Linux 2.6.21, dynamically linked (uses shared libs), not stripped

▲ x86 환경에선 실행할 수 없다고 합니다. (당연한거겠죠 ^^*)

 

3. C 예제 파일

arm-linux- 로 컴파일이 제대로 되는지 확인하기 위해서 EZ-Board에서 실행을 합니다.

test.c (예제 파일)Welcome to FALinux (www.falinux.com)
Linux Kernel 2.6.21-falinux
falinux login: root
[root@falinux ~]$ mount -t nfs -o nolock 192.168.10.28:/nfs /mnt/nfs
[root@falinux ~]$ cd /mnt/nfs
[root@falinux nfs]$ ./test
Hello
[root@falinux nfs]$

Cygwin에서 컴파일 및 실행을 확인하였으므로, FAIDE 로 옮겨가서 arm-linux-gcc 로 컴파일 하는 방법을 찾아보도록 하겠습니다.