Skip to content

Gcc交叉编译汇编文件报错

· 1 min · Linux / GCC / 嵌入式开发 / RTOS / 问题解决

问题描述#

使用Cmake搭建交叉编译工具链来编译stm32项目,编译器为arm-none-eabi-gcc。使用编译器编译uCOS中cpu架构相关的文件os_cpu_a.s编译不成功。

项目是从keil项目直接移植过来的。

反复检查Cmake对汇编文件的编译选项并没有发现错误。

报错原因#

移植uCOS运行在单片机上时,官方提供的代码接口是编译器相关的,原来的文件是适配ARMCC工具链的,现在在GNU的工具链上是跑不通的。

GNU的ARM汇编语法和ARMCC的有所不同,主要是伪指令方面,其他的指令基本相同。

问题解决#

移植官方的GNU工具链的接口文件。