crosstool-NG을 사용하여 NAS 상자에서 실행중인 프로세서를 대상으로 교차 컴파일러를 작성하려고합니다.crosstool-NG가있는 ARM 크로스 컴파일러의 올바른 옵션은 무엇입니까
Processor : ARM926EJ-S rev 5 (v5l)
BogoMIPS : 183.09
Features : swp half thumb fastmult edsp java
CPU implementer : 0x41
CPU architecture: 5TEJ
CPU variant : 0x0
CPU part : 0x926
CPU revision : 5
...
Hardware : Oxsemi NAS
Revision : 0000
Serial : 00000d51caab2d00
다음은 대상 옵션 페이지에 옵션 플래그와 내 현재 설정() :
- 대상 아키텍처 (암)
- MMU 사용 (예)
- 엔디안 (리틀 엔디안)
- 비트 수 (32 비트)
- 기본 명령어 세트 모드 (ARM) CPU에 대한
- 사용 EABI (예) 가
- 아키텍처 수준 --with-아치 =()
- 방출 어셈블리 --with- CPU =() CPU()
- 를 사용하여 특정 FPU()
- 부동 소수점 (소프트웨어)
- 대상 CFLAGS()에 대한
- 조정
- 대상 LDFLAGS()
는 NAS 상자가 /proc/cpuinfo
이며, example dmesg output 존재하는 ZyXEL NSA210입니다
같은 arm926ej-s
, armv5l
, armv5tej
하지만 나도 몰라 옵션이 이동하는 어디에.
상자에 사용 된 Linux 버전이 NG가 아니기 때문에 대상 OS를 베어 메탈로 설정했습니다.
또한 툴체인이 빌드되면 동일한 옵션을 컴파일러에 다시 전달해야합니다.
지금까지 시도하여 방금 Illegal instruction
메시지를 생성했습니다.
편집
사람이 내 질문에 대답 할 올바른 매개 변수를 찾는 방법을 명시 적으로 참조와 함께 ARM의 GCC 툴체인을 설정하는 방법에 대한 기사를 향해 날 지점 수 있다면.
도움 주셔서 감사합니다. 명확히하기 위해 리눅스가 리눅스에서 컴파일되도록 컴파일해야합니까, 아니면 베어 메탈 시스템 용으로 컴파일하고 리눅스에서 실행할 수 있습니까? –
Linux에서 베어 머신 프로그램을 실행할 수 없습니다. – ams