[완료]크로스컴파일 관련 질문드립니다.
현업 개발자인데, 이전에는 리눅스같은 os가 아니라 순수 메모리상의 스타팅어드레스에서 시작하는 프로그램을 개발하다
이번에 리눅스(uclinux)가올라가있는 환경에서 크로스컴파일을 하여 개발을 하고있습니다.
궁금한것은 이런 환경에서는 hostpc에서 코딩한뒤 cross compile을 한뒤 완성된 결과를 타겟보드에 올려서 구동시키는것으로 알고잇습니다.
이 상황에서 컴파일러를 보면 hostpc용개발은 보통 gcc를 이용하지만,
cross컴파일에서는 보통 칩밴더에서 제공해주는 os와 tool chain을 사용하여 작업을 진행합니다.
이 자료내에는 타겟보드의 os와 hostpc에서 타겟보드에서 돌수있도록 컴파일해주는 컴파일러및 링커등이 포함되어있는데,
보통 arm-linux-gcc arm-elf-gcc등을 사용합니다.
그런데 보면 이 arm-linux-gcc등은 그 칩밴더에서 만든것이 아니라 오픈되어있는 컴파일러및 링커등이라고 보입니다.
이때 만약 어떤 공개된 api등을 사용하려면 ( 큐토피아나 SDL , 기타 여러가지등등) 그 칩에서 이 api들을 지원되는지 확인해야되고,
그 칩에서 맞게 돌아가는 컴파일러, 링커를 사용해야되는것으로 알고있는데,
만약에 제공된 툴체인의 컴파일러가 arm-linux-gcc라면 이것을 사용하지않고 arm-elf-gcc등을 사용하면 안돌아가는것인지,
그리고 어떤 칩에서 어떤 컴파일러및 툴체인, os를 사용가능한것인지 알고싶습니다.
-----------------------------
답변 감사드립니다^^ 궁금증이 해결되었네요.
메인 마이크로 프로세서 타입만 맞추면 됩니다.
큐토피아나 SDL 류의 그래픽 기반의 프레임웍은 운영체제가 제공하는
비디오 카드의 비디오 메모리와 연결된 프레임 버퍼를 주로 이용합니다.
그러니 해당 장비의 비디오 카드에 맞는 드라이버만 있으면 사용 가능
합니다.
그리고 툴채인은 메인 프로세서 타입만 맞추면 됩니다. 그래픽 칩이나 기타
칩과는 무관하죠. 단지 그 칩을 쓰기 위해 드라이버가 필요한데, 없으면
만들면 됩니다.
댓글 달기