_sbrk에 문제가 있습니다. 컴파일의 링크 단계에서 나는 아래의 명령을 사용하여 내 객체를 연결하고 _sbrk에 대한 정의되지 않은 참조를 얻습니다. 내가 ARM926EJ-S과 ARM 모드에서 컴파일하고정의되지 않은 참조 _sbrk
arm-none-eabi-ld -static -T linkerscript.ld -o exe timer_example.o /home/ziga/projects/cs_lite/arm-none-eabi/lib/libc.a /home/ziga/projects/cs_lite/lib/gcc/arm-none-eabi/4.5.1/libgcc.a
그래서 내가 폴더 홈/ziga/프로젝트/cs_lite/팔에있는 바로 multilib (libc.a와 libgcc.o로)를 선택한 생각 -none-eabi/lib /.
저는 인터넷에서 _sbrk 함수를 검색해 왔으며 마이크로 프로세서에 의존하기 때문에 표준 C 라이브러리에 포함되어 있지 않은 일종의 메모리 관리 호출입니다. Soo는 자체적으로 _sbrk 함수를 작성해야합니까? 어떻게해야합니까? arm926ej-s에 대한 예가 있습니까? 이 함수를 작성한 후에는 객체 파일로 컴파일하고 다른 객체, 라이브러리와 함께 링크하려고합니다.
친절한 관계로, Ziga.
나는이 문제를 해결하고 난 뒤 comunity 뭔가를 줄 수 있도록 여기에 솔루션을 게시 할 예정입니다. _sbrk 함수는 ARM 용 NXP CDL 패키지 안에 있습니다. 하위 폴더 CDL_v005/CSP를/lpc313x/BSP와/ea3131/당신이 추가되어야 소스 파일 라는 이름의 libnosys_gnu.c를 찾을 소스에서 http://www.lpclinux.com/Downloads/WebHome : 패키지 은 여기 (링크는 이미 알고 그나마 모든 사람을위한)을 다운로드 할 수 있습니다 프로젝트를 컴파일하고 파일을 오브젝트로 컴파일 한 후 다른 오브젝트와 함께 실행 파일에 링크하고 라이브러리를 생성합니다.
최고의 성공과 많은 성공.
실제로 질문을 편집하는 대신 해당 답변을 _answer_에 입력해야합니다. 자신의 질문에 대답하는 것은 좋습니다 (심지어 그것을 받아들이는 것조차도). – paxdiablo