问题描述#
使用Cmake搭建交叉编译工具链来编译stm32项目,编译器为arm-none-eabi-gcc。使用编译器编译uCOS中cpu架构相关的文件os_cpu_a.s编译不成功。
项目是从keil项目直接移植过来的。
反复检查Cmake对汇编文件的编译选项并没有发现错误。
报错原因#
移植uCOS运行在单片机上时,官方提供的代码接口是编译器相关的,原来的文件是适配ARMCC工具链的,现在在GNU的工具链上是跑不通的。
GNU的ARM汇编语法和ARMCC的有所不同,主要是伪指令方面,其他的指令基本相同。
问题解决#
移植官方的GNU工具链的接口文件。