搞定了。我想我会分享我的结果,以便其他人可以使用它。谢谢大家的时间。
我使用这个 ARM 工具链来构建我的项目,并使用该工具附带的texane/stlink库./st-flash
将二进制文件闪存到我的 STM32L1。虽然 texane/stlink 带有 GDB,但我发现没有它我可以完成构建+闪烁过程。
我的 Makefile 最终看起来像这样。它不是很漂亮或抽象,但它完成了工作。
all:
arm-none-eabi-gcc -T stm32l1xx.ld -mthumb -mcpu=cortex-m3 -D STM32L1XX_MD -D USE_STDPERIPH_DRIVER startup_stm32l1xx_md.s system_stm32l1xx.c main.c [ sources ] -lm --specs=nosys.specs -o Project.elf
其中:
arm-none-eabi-gcc
ARM 工具链
-T stm32l1xx.ld
链接器文档
-mthumb -mcpu=cortex-m3
告诉 GCC 这是给 M3
-D STM32L1XX_MD -D USE_STDPERIPH_DRIVER
为标准外设驱动程序定义
startup_stm32l1xx_md.s
面向 GCC 的启动文档。
system_stm32l1xx.c main.c [ sources ]
我的源文件列表
-lm
对于Math.h
( L ib数学)
--specs=nosys.specs
不要使用像_exit
.
-o Project.elf
输出名称