技术专栏
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
-
浏览量:6622次2022-06-10 21:02:09
-
浏览量:1076次2023-11-08 18:12:13
-
2023-06-12 14:35:32
-
浏览量:11683次2022-06-10 21:26:04
-
浏览量:8885次2020-07-17 12:21:58
-
浏览量:3408次2022-01-31 09:00:24
-
浏览量:12250次2022-06-10 21:31:53
-
浏览量:6414次2022-06-08 21:18:55
-
浏览量:2241次2020-08-04 20:26:22
-
浏览量:1438次2023-06-12 14:35:30
-
浏览量:2720次2019-11-05 20:18:39
-
2019-04-10 21:45:38
-
浏览量:531次2023-12-11 11:42:02
-
浏览量:10257次2020-09-06 23:18:26
-
浏览量:1012次2023-06-12 14:35:25
-
浏览量:1327次2024-01-25 16:21:59
-
2020-08-03 19:07:53
-
浏览量:1220次2023-06-12 14:35:43
置顶时间设置
结束时间
删除原因
-
广告/SPAM
-
恶意灌水
-
违规内容
-
文不对题
-
重复发帖
打赏作者
qn1592906362
您的支持将鼓励我继续创作!
打赏金额:
¥1
¥5
¥10
¥50
¥100
支付方式:
微信支付
打赏成功!
感谢您的打赏,如若您也想被打赏,可前往 发表专栏 哦~
举报反馈
举报类型
- 内容涉黄/赌/毒
- 内容侵权/抄袭
- 政治相关
- 涉嫌广告
- 侮辱谩骂
- 其他
详细说明
审核成功
发布时间设置
发布时间:
请选择发布时间设置
是否关联周任务-专栏模块
审核失败
失败原因
请选择失败原因
备注
请输入备注
makefile 交叉编译工具支持汇编