无网不进  
软硬件开发

STM32开发环境搭建

本文介绍基于gcc工具链的STM32开发环境搭建,以Ubuntu系统为例。

安装工具链

sudo apt install gcc-arm-none-eabi binutils-arm-none-eabi gdb-arm-none-eabi libnewlib-arm-none-eabi libstdc++-arm-none-eabi-newlib openocd

工具链的使用

    1. 编译 
      1. C编译器是 arm-none-eabi-gcc ,C++编译器是arm-none-eabi+g++
      2. 选择指令集CPU和CPU架构,例如Cortex-M3 指令集是thumb,架构是ARMv7-M 所以选项为:-mthumb -mcpu=cortex-m3 -march=armv7-m
      3. 选择浮点运算方式 :使用-mfloat-abi选项,可能取值有soft,表示不使用浮点运算单元 ,用整数计算模拟浮点运算;softfp,表示使用浮点运算单元,参数传递先使用整数寄存器,再传递到fpu寄存器中; hard,表示使用浮点运算单元,参数传递直接使用浮点寄存器。使用 -mfpu指定浮点运算单元,例如fpv4-sp-d16 其中sp表示单精度(Single-precision)
    2. 链接 
      1. 选择C库,有两个标准库可选,newlib和newlib-nano,如果是C++ 有类似的stdc++_nano和supc++_nano,后者有更好的代码尺寸的优化。如果使用newlib-nano则要增加编译选项和链接选项 --specs=nano.specs
      2. 选择链接脚本
posted on 2018-01-10 10:05  无网不进  阅读(642)  评论(0)    收藏  举报