遇到的问题
最近一个工程项目使用cubeide直接生成,需要转到linux编译服务器下进行线上编译,项目使用的stm32u535是M33内核的,编译服务器上的arm-none-eabi-gcc不支持,因为内核M33需要更高版本的编译工具链,故需要调整
解决方法
最简单的方法:切换高版本arm-none-eabi-gcc
修改makefile或cmke的方法:如果没有权限或不想修改切换系统高版本的编译链可以修改makefile或cmke
- linux下查询arm-none-eabi-gcc版本的指令:arm-none-eabi-gcc -v
- linux下查询arm-none-eabi-gcc路径的指令:which arm-none-eabi-gcc
- linux下查询arm-none-eabi-gcc所有版本路径的指令:whereis arm-none-eabi-gcc
- cmake下修改路径:选择编译器及设置编译器选项
- makefile下修改路径:以cubemx自动生成的makefile为例,GCC_PATH后面跟着的是你使用whereis查找到的服务器所有的编译链版本中你所需要的那个
相关链接
linux学习链接
ubuntu20.04查看gcc版本以及各版本切换
Ubuntu中gcc-arm-none-eabi的安装、移除和版本切换