技术专栏
hi3518eV100 获取硬件唯一特征码
int get_cpu_id_by_asm(char* cpu_id) { bzero(cpu_id, strlen(cpu_id));
unsigned int s1 = 0;
unsigned int s2 = 0;
__asm__ __volatile__
(
"movl $0x01, %%eax; \n\t"
"xorl %%edx, %%edx; \n\t"
"cpuid; \n\t"
"movl %%edx, %0; \n\t"
"movl %%eax, %1; \n\t"
: "=m"(s1), "=m"(s2)
);
if (0 == s1 && 0 == s2)
{
return -1;
}
char cpu[32] = { 0 };
snprintf(cpu, sizeof(cpu), "%08X%08X", htonl(s2), htonl(s1));
memcpy(cpu_id, cpu, 128);
return 0;
}
这个纯c函数在linux 与osx下都可以获取到cpuid,hi3518V100 编译报错
/tmp/ccpeXN1e.s: Assembler messages:
/tmp/ccpeXN1e.s:32: Error: bad instruction movl $0x01,%eax' /tmp/ccpeXN1e.s:33: Error: bad instruction
xorl %edx,%edx'
/tmp/ccpeXN1e.s:34: Error: bad instruction cpuid' /tmp/ccpeXN1e.s:35: Error: bad instruction
movl %edx,[sp,#8]'
/tmp/ccpeXN1e.s:36: Error: bad instruction `movl %eax,[sp,#12]'
请问是不支持汇编指令,还是需要在编译的时候加什么参数。请大神帮忙解答一下 或者也可以提供一下其他可以获取到海思芯片唯一特征码的方法,感激不尽
声明:本文内容由易百纳平台入驻作者撰写,文章观点仅代表作者本人,不代表易百纳立场。如有内容侵权或者其他问题,请联系本站进行删除。
红包
点赞
收藏
评论
打赏
- 分享
- 举报
评论
1个
手气红包
相关专栏
-
2018-06-18 22:47:22
-
2020-08-03 19:07:53
-
浏览量:496次2020-07-17 12:21:58
-
浏览量:365次2020-08-04 20:26:22
-
浏览量:778次2019-11-05 20:18:39
-
2019-04-10 21:45:38
-
浏览量:345次2020-08-06 15:44:06
-
浏览量:441次2020-08-06 15:57:44
-
浏览量:4574次2018-06-02 19:08:30
-
浏览量:515次2018-04-20 10:56:24
-
浏览量:1988次2018-06-14 23:13:10
-
浏览量:421次2020-03-02 19:17:50
-
浏览量:998次2018-04-03 09:48:45
-
浏览量:489次2019-04-10 17:45:23
-
浏览量:511次2020-07-30 10:36:08
-
浏览量:415次2018-04-23 15:16:57
-
浏览量:775次2020-01-04 13:34:40
-
浏览量:624次2020-07-30 11:57:30
-
浏览量:456次2019-10-24 18:28:28
置顶时间设置
结束时间
删除原因
-
广告/SPAM
-
恶意灌水
-
违规内容
-
文不对题
-
重复发帖
打赏作者

qn1592906362
您的支持将鼓励我继续创作!
打赏金额:
¥1

¥5

¥10

¥50

¥100

¥0.1

支付方式:

举报反馈
举报类型
- 内容涉黄/赌/毒
- 内容侵权/抄袭
- 政治相关
- 涉嫌广告
- 侮辱谩骂
- 其他
详细说明
审核成功
发布时间设置
发布时间:
请选择发布时间设置
是否关联周任务-专栏模块
审核失败
失败原因
请选择失败原因
备注
请输入备注
makefile 交叉编译工具支持汇编