环境: arm-none-eabi-gcc
出现此错误的代码如下:
int func_a(uint32_t param, uint32_t div){
return param / div;
}
被除数/除数=商
如果除数为常数,不会出错。如果是一个变量,则需要调用除法。位于libgcc.a中。需要在编译时加上如下命令:
arm-none-eabi-ld -Tyour.lds $^ -lgcc -L /usr/lib/gcc/arm-none-eabi/6.3.1 -o $(your).elf -Map=bin.map
-Tyour.lds 指你的lds文件为your.lds。
$^ 指所有依赖的*.o
-lgcc 指libgcc.a库,会自动展全。
-L /usr/lib/gcc/arm-none-eabi/6.3.1 指库的位置。
-Map=bin.map 指生成bin.map文件。
注意, -lgcc -L /usr/lib/gcc/arm-none-eabi/6.3.1要放到“$^”后面 与 “-o” 前面。