在mac上安装stm32CubeMX
TOOLS DOWNLOAD AND SETUP
在 ST 官网下载了 CubeMX 的 Mac 版软件,然后会发现关闭安全相关的限制也没办法打开该软件包。
通过 tree
命令查看目录可以找到一个叫
SetupSTM32CubeMX-6_3_0
的应用程序,运行该文件即可进行安装。
Mac 系统上可运行的程序都是 .App
结尾的文件夹,直接点击右键的 显示包内容
即可进入查看。
双击 SetupSTM32CubeMX-6_3_0
即可运行安装程序。
NEW PROJECT
在 CubeMX 的 Home 界面,可以 根据芯片型号新建项目,也可以 根据ST板子型号新建项目。
只需要在对应需要的 MCU 或者 板子上双击即可。
如果使用ST自家的评估板,新建项目时建议直接选择
ACCESS TO BOARD SELECTOR
。
它会帮助默认设置一些板子上的外设(它会提示
Initialize all peripherals with their default Mode?
),就不用用户自己去设置,否则选择 ACCESS TO MCU SELECTOR
就会在某些地方上产生默认配置差异,如 GPIO。
下图为根据 ST 板子型号生成项目时默认配置的一些外设引脚。当然,还需要自行设置各个需要使用到的引脚的具体配置,如输入/输出、拉高/拉低等等。
下图为根据 ST 芯片信号生成项目时默认不配置任何引脚:
DEBUG RECORDS
ATTEMPT TO RENAME SPEC 'LINK' TO ALREADY DEFINED SPEC 'NANO_LINK'
cmake .. ; make
时发现 cmake
无误,而
make
报错,提示
attempt to rename sepc 'link' to already defined spec 'nano_link'
。
具体报错信息如下:
1 | fatal error: /Users/liewzheng/bin/gcc-arm-none-eabi-5_4-2016q3/bin/../lib/gcc/arm-none-eabi/5.4.1/../../../../arm-none-eabi/lib/nano.specs: attempt to rename spec 'link' to already defined spec 'nano_link' |
而 CMakeLists.txt
文件中只有以下此句设计
spec
和 nano
关键字(下方注释是后来加上去的),此配置在 linux
平台上是运行正常的。
1 | # 如果提示 linker 相关的错误,请删除 `-specs=nosys.specs` 和 `-specs=nano.specs` 这两个标志及所在临时文件夹并再次 `cmake .. ; make` 进行尝试 |
解决方法
根据 Building
Error from imported STM32CubeMX project 的解决方法,删除
-specs=nosys.specs
和 -specs=nano.specs
这两个连接器的标志即可编译通过。
删除该两个标志后,MCU
变量为
SET(MCU "${CPU} -mthumb ${FPU} ${FLOAT_ABI}"
。