TI OMAP4 Pandaboard 용 OS 이미지를 작성하려고합니다. 다운로드 한 BSP는 gcc g ++ 컴파일러 없이는 빌드 할 수 있지만 매우 제한적입니다. 추가 할 파일이 너무 많기 때문에 QNX Momentics IDE에 도구 체인을 추가하는 것이 매우 어렵다고 생각합니다. 수동으로 빌드 파일을 수정하여 수행 할 수 있습니까? 가능한 경우 예를 들어주십시오. 미리 감사드립니다.ARM 플랫폼 용 gcc g ++ 툴 체인을 포함하여 os 이미지를 빌드하는 방법은 무엇입니까?
답변
생각해 보면 타겟 보드에서 QNX C/C++ 컴파일러를 실행하려고합니다. 옳은?
그렇다면 런타임 키트를 설치하는 대신 QNX 소프트웨어 개발 플랫폼을 설치해야합니다.
System Builder을 cus tomize your QNX OS에 사용할 수도 있지만 이는 QNX SDP를 사용하는 것보다 어려울 것입니다.
다른 하나의 메모 : QNX는 gcc
대신 C에 대해 qcc
을 사용하고 C++에 대해 QCC
을 사용합니다. 모두 gcc
을 사용하지만 QNX에서 컴파일하려면 gcc
대신 qcc
을 사용하십시오.
아니요, TI OMAP4 Pandaboard에서 g ++을 실행할 수 없습니다 (X86 플랫폼에서 실행중인 기존 QNX 툴체인을 사용하여 ARM 플랫폼 용 소스에서 g ++를 빌드하지 않는 한).
왜 불가능합니까? QNX는 X86 기반 호스트에 대해서만 빌드 도구를 출시합니다. 현재 지원되는 호스트 OS에는 Windows, Linux 및 QNX의 몇 가지 변형이 포함되지만 호스트 하드웨어가 X86 기반이라는 전제 조건이 있습니다.
실제로 대상 하드웨어에 라이브러리를 구축하고 싶지는 않습니다. (사용자 입력 등을 기반으로 일부 소스 코드를 빌드하는 아주 특별한 경우를 제외하고) 빌드를 실제로 수행하는 위치는 중요하지 않습니다.
ARM을 사용하여 개발 호스트에서 라이브러리를 빌드해야합니다 toolchain (고급 툴을 사용하려면 QCC, 친숙한 g ++ 인터페이스를 사용하려면 ntoarmv7-g ++). 바이너리가 있으면 .ifs 파일에 포함시킬 수 있습니다. 당신은 다음 예제와 유사한 .build 파일의 라인을 포함해야합니다
/경로// targetfs/yourbinary =/경로 /에/buildmachine/yourbinary
빌드 환경이 구성되어있는 경우 mkifs가 바이너리를 찾으면 "path/on/buildmachine"부분을 생략 할 수 있습니다. 당신은/proc 디렉토리에서 대상에 진을 갖는 좋은 경우
/부팅 당신은/targetfs/부분뿐만 아니라 /를 "/ 경로를 생략 할 수 있습니다.
을가 일반적으로 더 것이 개발의 용이성을 위해 FAT 파일 시스템을 사용하여 SD 카드에 바이너리를 저장하는 것이 편리합니다. .ifs 파일을 다시 만들 필요없이 바이너리를 SD로 복사 할 수 있습니다.
마지막으로 경험이 있으면 CIFS 또는 NFS를 통해 호스트 컴퓨터의 파일 시스템의 일부분을 복사하여 대상에서 직접 마운트하면 각 빌드 사이클에서 파일을 복사하고 (가능하면 대상을 다시 부팅해야하는) 모든 문제를 방지 할 수 있습니다. 너에게서 r 원래 질문.
사악 해줘서 고마워! 귀하의 대답은 매우 중요합니다. 하지만 질문에 libupnp는 configure를 사용하여 시스템 환경을 확인하고 적절한 컴파일 옵션을 자동으로 정의하는 이식 가능한 라이브러리입니다. 이제는 모멘 틱스에서 어떤 옵션을 정의해야할지 모르겠습니다. 사실 그것은 호스트에 성공적으로 구축되었습니다. 그러나 그것은 목표물에서 정상적으로 움직일 수 없습니다. 그래서 나는 그 질문을했다. – allenchen
그래, 진짜 질문은 "QNX 용 libupnp을 빌드하는 방법"입니다. 우선, 다음은 QNX 문서에서 구성 기반 빌드를 수행하는 링크입니다. http://www.qnx.com/developers/docs/6.5.0_sp1/index.jsp?topic=%2Fcom.qnx.doc.neutrino_prog% 2Fmake_convent.html & anchor = GNU_configure 둘째로, 의존성을 포함하여 다운로드 위치에 대한 링크를 제공하면, 사용하고있는 의존성을 제공하면보다 구체적인 조언을 제공 할 수 있습니다. 여러분과 나에게있어서 한 가지 문제는 빌드 결과가 정확하더라도 구성/사용 오류로 인해 제대로 작동하지 않을 수 있다는 것입니다. – maverick
하지만 libupnp를 포트하려면 configure를 실행하여 컴파일러 옵션을 결정해야합니다. QNX SDP를 사용하는 방법을 모르겠습니다. – allenchen
@allenchen 기본적으로 대상 플랫폼에 QNX SDP 만 설치하면됩니다. 이것은 전체 개발 스택을 제공합니다.즉, 이것이 정말로 당신의 보드에 달려 있으며, 모든 것이 작동하도록하기 위해 뛰어 내야하는 농구가 얼마나 어려운가하는 점입니다. 불행히도 꽤 좋지 않을 수도 있습니다. – kmort
QNX SDP를 대상 플랫폼에 설치할 수 있는지 여부를 알지 못합니다. 그러나 나는 정말로 의심 스럽다. OS 이미지를 만들 때 컴파일러 체인을 패키지하는 방법을 알고 있습니까? – allenchen