0

我正在对主机环境(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 为前缀的代码?

也欢迎任何其他解决方案。

4

0 回答 0