请高手帮忙: 在C代码中嵌入读ARM CPU ID 问题

johnson_kingway 2008-03-27 10:45:48
当本人把以下代码嵌入到C文件中
__asm
{
MRC p15,0,r10,c0,c0,0;
}
编译出错的信息为:
Warning: C2624W: Thumb inline assembler will not be supported in future releases of the compiler
Serious error: C2020E: illegal instruction opcode: MRC


怎样解决啊?
...全文
356 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
johnson_kingway 2008-03-28
  • 打赏
  • 举报
回复
tks!我已经换了一个方法!绕过了这个问题!
zjuwyj 2008-03-27
  • 打赏
  • 举报
回复

抱歉,上面的肯定错了。

int get_cpu_id(void)
{
int id;
__asm__ __volatile__ ("MRC p15,0,%0,c0,c0,0" : "=r" (id) );
return id;
}
zjuwyj 2008-03-27
  • 打赏
  • 举报
回复
如果你使用gcc作为编译器,你最好先了解一下gcc的内嵌汇编语法
不知道下面的语句是否有用?


int get_cpu_id(void)
{
int id;
__asm__ __volatile__ ("MRC p15,0,%0,c0,c0,0" : : "r" (id));
return id;
}

注:本人未测试过上述程序,

21,597

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 驱动开发/核心开发
社区管理员
  • 驱动开发/核心开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧