完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
如果匹配上了才正常运行代码,从而起到加密效果,防止他人复制程序。 STM32F103ZET6的id起始位是0x1FFFF7E8 #include "id.h" // 把地址直接减去一个数是不要在程序中直接出现这个地址 #define STM32_ID_D 352525 // 任意的一个数 volatile u32 STM32_ID_addr[3]={0x1FFFF7E8 - STM32_ID_D,0x1FFFF7EC + STM32_ID_D,0x1FFFF7F0 - STM32_ID_D}; uint32_t id[3]; // 因为不想让程序在反汇编后直接找到这个地址,所以这个地址是运算出来的, // 跟STM32_ID_addr反运算,当然了也可以用高级的算法,注意不能让编译器优化这个地址 void ID_evaluation(void) { u32 addr; addr=STM32_ID_addr[0] + STM32_ID_D; id[0] = *(__IO uint32_t *)addr; addr=STM32_ID_addr[1] - STM32_ID_D; id[1] = *(__IO uint32_t *)addr; addr=STM32_ID_addr[2] + STM32_ID_D; id[2] = *(__IO uint32_t *)addr; //不知道自己芯片id的可以在此处printf打印出id[0],id[1],id[2] //打印出来后放入下面的比较函数,记得删除打印的代码 } void If_Not_ID(void) //如果ID匹配不上 死循环 { int i=1; while(i) if((id[0]==97910579)&&(id[1]==861485360)&&(id[2]==1360034085)) { //我事前读取出了芯片的ID值 然后再写入代码比较 i--; } } |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1618 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1545 浏览 1 评论
979 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
683 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1597 浏览 2 评论
1863浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
645浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
516浏览 3评论
532浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
505浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 15:22 , Processed in 0.818642 second(s), Total 76, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号