我正在对主机环境(vectorcast)上的嵌入式代码进行单元测试。
该代码是在目标硬件上使用 arm-eabi 编译器开发的。我们在没有任何模拟器或硬件接口的桌面上对其进行测试。
我正在使用 mingw - 4.5 gcc 编译器。头文件中通常有很多汇编代码,例如:
__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __RBIT(uint32_t value)
{ uint32_t result;
__ASM volatile ("rbit %0, %1" : "=r" (result) : "r" (value) );
return(result);}
在测试我的源单元说 x1.c 时,它在包含的头文件中调用了上面定义的函数。当我尝试编译它时,我收到以下错误:
错误:没有这样的指令:`rbit %ebx,%eax'
是否有任何 gcc 开关在用于选项时会忽略以 __asm 为前缀的代码?
也欢迎任何其他解决方案。