我正在开发 STM32H753 上的裸机独立软件。我既没有使用 libc 也没有使用 crt。
这是链接命令行:
arm-none-eabi-gcc -T"xxx.ld" -mfpu=fpv5-d16 -mfloat-abi=hard -mthumb -ffreestanding -nostdlib -nostartfiles --specs=nosys.specs -Wl,--start-group -lc -lm -Wl,--end-group -Wl,-Map=xxx.map -o xxx.elf <list of .o>
现在我需要包含数学库,因为我正在使用sqrt
函数。我认为链接命令行就足够了,但我收到“sqrt undefined”错误。
我尝试将路径添加到libm.a
: (也尝试不使用-Wl
)
arm-none-eabi-gcc -T"xxx.ld" -Wl,-L/opt/gcc-arm-none-eabi-10-2020-q4-major/arm-none-eabi/lib/ -mfpu=fpv5-d16 -mfloat-abi=hard -mthumb -ffreestanding -nostdlib -nostartfiles --specs=nosys.specs -Wl,--start-group -lc -lm -Wl,--end-group -Wl,-Map=build_uP1/base_gen_uP1.map -o build_uP1/base_gen_uP1.elf <list of .o>
但我仍然得到同样的错误。
我不明白选择哪些选项来链接正确的库