준호씨의 블로그

arm-linux-gcc를 사용해 "hello arm" 만들기. android adb shell에서 돌려보기. ARM GCC 3.4.3 이용 크로스컴파일 본문

개발이야기

arm-linux-gcc를 사용해 "hello arm" 만들기. android adb shell에서 돌려보기. ARM GCC 3.4.3 이용 크로스컴파일

준호씨 2011. 10. 19. 14:38
반응형

오랜만에 arm-linux-gcc를 써볼일이 생겨서 한번 써봤네요.

여러가지 방법이 있지만 좀 옛버전을 이용해서 손쉽게 세팅해 보았습니다.

FALINUX에서 사용하기 좋게 만들어둔 패키지가 있더군요.

 

페도라 코어 2, 코어 3 ARM GCC 3.4.3 크로스 컴파일러 2006.12.09

http://forum.falinux.com/zbxe/?mid=warehouse&category=407522&document_srl=405714

 

에서 다운 받을 수 있었습니다. 페도라 코어라고 적혀 있긴 하지만 저는 Ubuntu 10 에서 작업했습니다.

 

다운로드

$ wget http://forum.falinux.com/_bankimages/_data_toolchain/arm-toolchain-3.4.3.tar.gz

다운로드 주소를 복사해서 wget으로 바로 받았습니다. 편하신 방법으로 받으시면 되겠습니다.

 

압축풀기 (설치하기)

$ sudo tar xvfz arm-toolchain-3.4.3.tar.gz /

root 권한이 있어야 되기에 sudo 를 앞에 넣고 압축을 풀었습니다. root 폴더에다가 압축을 풀어야 됩니다. /usr 폴더 필요한곳에 적당히 압축이 풀어 집니다.

압축을 풀고 나면

$ arm-linux-gcc –version

명령어로 잘 설치 되었는지 확인해 봅니다.

image

네 잘 설치 되었군요 :)

 

프로그램 만들기 – hello arm

즐거운 코딩 시간입니다. 간단하게 만들어 볼까요?

#include <stdio.h>

int main()

{

    printf("hello arm\n");

    return 0;

}

 

컴파일

$ arm-linux-gcc hello_arm.c -static -o hello_arm

gcc가 아닌 arm-linux-gcc 를 사용합니다.

참고1. -static 옵션을 넣어 주지 않으면 실행시킬 때 not found 오류가 나는데 관련 라이브러리가 없어서 나는 오류입니다. 따로 라이브러리를 넣어줘도 되겠지만 우선 쉽게 쉽게 나가죠 ~_~

참고2. x86기반 리눅스 같은데서 돌리면 실행파일이 아니라고 뜨니 참고 하시길 바랍니다.

 

adb 명령어를 이용해서 android에 파일 넣기

파일을 밀어 넣는 방법에도 여러가지 방법이 있겠지만 adb push 명령어를 이용해 보았습니다.

adb push hello_arm /data

 

실행결과

image

권한이 없다고 떠서 우선 777로 줬습니다. 755를 주던 뭘 주던 어쨌든 실행권한이 있으면 되겠습니다.

반응형
Comments