Mikrodenetleyici alanında yeniyim. ARM mikrodenetleyici programlarını derlemek için AVR mikroişlemcileri için derleme programları olan bir IDE'yi kullanmam gerekiyor. Derleyiciyi AVR'den ARM'ye değiştirdim ve birisinin söylediği gibi bazı seçenekler ekledim. Onu çalıştırdığınızdaexit.c :(. Text + 0x18): arm-none-eabi-gcc kullanıldığında `_exit 'için undefined başvuru
\ARM-GCC\bin\arm-none-eabi-gcc -O0 -ffunction-sections -Wall -std=gnu99 -mfloat-abi=soft
-Wa,-adhlns="[email protected]" -fmessage-length=0 -mcpu=cortex-m0 -mthumb -g3 -gdwarf-2 -Wl,
--gc-sections -o <Dir_name>\Build_Files\Blink_arm.cpp.elf <Dir_name>\Build_Files\Blink_arm.cpp.o <Dir_name>\Build_Files\core.a
-L<Dir_name>\Build_Files -lm
Ben follwing hatayı alıyorum: aşağıdaki komutu
tools/arm-gcc/bin/../lib/gcc/arm-none-eabi/4.6.2\libc.a(lib_a-exit.o): In function `exit':
exit.c:(.text+0x18): undefined reference to `_exit'
collect2: ld returned 1 exit status
bu hata ne olduğuna biraz yardım getireyim ve nasıl çözebiliriz. Ayrıca komut satırındaki bu seçeneklerin ne anlama geldiğini bilmiyorum.
yılında senin ARM libc (derleyicinizle birlikte verilir), 'exit()' işlevi, herhangi bir kütüphanede tanımlanmayan '_exit()' işlevini çağırır. 'void _exit (int status)' ı tanımlayarak hızlı bir düzeltme yapabilmenize rağmen, derleyiciniz yanlış ayarlanmış olmalıdır (NOT: bu çalışmaz, libc dosyanızın _exit() değerini farklı bir imza ile bildirmesidir.) 'AVR muadili gibi sonsuz bir döngüde durdurabilir.GCC kurulumunuzu sabitlemek tavsiye edilen bir seçenek olabilir – Dylan
Bakınız: [newlib syscalls] (https://sourceware.org/newlib/libc.html#Syscalls); Yönetim kurulu için uygulanmamışlarsa, bunları uygulamaya koymanız gerekir.Ayrıca, kodunuzla ilgili sorunlar olabilir.Newlib her şeyi desteklemez, bkz. [Gatliff'in newlib] (http://www.billgatliff.com/newlib.html) genel bakış. –