您的位置 首页 元件

根据STM32F103的ID号对应用程序的维护办法

由于现在市场激烈竞争、混乱的市场机制及已失去的市场道德,迫使在产品设计时,必需要考虑到对产品的保护,以防产品的技术被第三方所用。

因为现在商场剧烈竞赛、紊乱的商场机制及已失掉的商场品德,迫使在产品规划时,必需求考虑到对产品的维护,以防产品的技能被第三方所用。无论是从硬件方面来维护,仍是从软件方面来维护,都无法确保产品100%的安全。因为嵌入式体系的特色便是软件、硬件相结合,才具有实践的含义,失掉任何一个渠道都是废品一堆,因而将体系的软件、硬件结合起来对产品进行加密维护,可靠性会大大地添加。STM32F103系列ARM处理器芯片就内置了仅有的96位ID号,一起也有今后备电池为电源的SRAM,还有侵略检测(翻开机壳等)功用,以供给这方面的使用需求。

因而能够有几种产品维护的办法:

1、 将ID号写入内部Flash贮存器

如使用办法,基本思路为:程序初次运转,则检测ID号存贮区的Flash的数据,以判别是否需求将该体系的CPU的ID号更新到Flash中。当今后体系再从头发动时,就直接读取Flash中的ID号并与本机CPU的ID号进行比较。但有一点是,该存贮区的数据不能单一化存贮,最好是与体系校对、体系设置、体系参数等数据混合寄存在一起,这时,体系脱离这组数据,也就不会运转了。该数据在出厂时由工厂指定写入。这样一来,就算读出CPU中的程序代码,反编译后,也不清楚这组数据的意图,然后起到对使用代码的维护作用。

2、 将ID号写入SRAM,并合作电池电源及侵略检测

该办法或许相对杂乱一些。基本思路为:程序初次运转后,设置好后备电源维护的RAM区,并读出CPU的ID号存贮起来,一起在使用程序中设置侵略检测功用。在体系正常运转的情况下,RAM中的ID号一直都能与本机的ID号共同,如有侵入,则可触发相应的中止,删去RAM中的ID号,但不要铲除体系中运转状况,然后引导使用程序进入过错的运转状况,或触发体系内核删去代码进行“自杀”,以确保体系软件的安全。

关于上述的两种办法中,怎么断定体系为榜初次发动,只能依据各自的思路来作为一个原则,非常规的办法,应该会相对好一些。而这种使用运态读入ID号的办法,不同的CPU有不同的校验,所以破解CPU的ID号也就失掉了任何含义了。

使用的比如:智能液位控制器

使用的是榜首种办法:在Flash区域,我开了一个扇区,用来存贮我的标识符(厂家标识符)、体系参数、CPU-ID、体系是否是榜初次运转、自定义数据的CRC代码。我的代码程序有两部份,一部份是使用程序,第二部份是除上述体系参数及CPU-ID以外的数据,而体系初次运转标识是一组特定字符。体系运转时,首要判别厂家标识符,接着判别体系是否是初次运转,如不是,更新CPU-ID,启始化体系运转参数,最终破坏掉体系初次运转标识数据,并将新的数据存贮起来。这之后体系再次运转,则在这一区域就多了许多数据(不看代码,我自己也不知道这些数据是些什么东西),每次发动,体系都会校验CPU-ID,从面每一个体系,在每一台设备上都有一个仅有的标识符。

或许的破解剖析:

1、 如有人直接抄板后,读出CPU程序后,只写榜首部份数据,不写入第二部份数据,则体系无法辨认厂家标识符,则体系不运转。

2、 如有人直接抄板后,读出CPU悉数程序数据,则第二部份数据关于新的体系无效,程序不会正常运转

3、 如有人想剖析第二部份数据,也不会有任何成果。因为脱离本来的体系,数据无任何含义。

4、 因为CPU-ID号是无法再从头更改的,CPU-ID无法进行仿制而使其共同。

以上的办法,仅是个人的一些思想办法罢了,是否有用,还需求各位提出各自的定见,来整改补葺以到达较好的一种作用。关于怎么更有用的对产品进行维护,信任不同的人、不同的使用,会有不同的处理办法。没有肯定的维护,只要更多的办法,以万变应万变了。

读取STM32F103的ID号的代码如下:

/*

功用描绘: 读取STM32F103 CPU序列号

输入参数:无

输出参数:回来STM32处理器96位长度的序列号

联合嵌入式中心供给:http://www.uectr.com

*/

void Get_SerialNum(unsigned int* SerialID)

{

SerialID[0] = *(unsigned int*)(0x1FFFF7E8);

SerialID[1] = *(unsigned int*)(0x1FFFF7EC);

SerialID[2] = *(unsigned int*)(0x1FFFF7F0);

}

//使用办法:

u32 Device_Serial[3];//用以存贮96位ID号

Get_SerialNum(Device_Serial);//读取ID号

  • STM32单片机中文官网
  • STM32单片机官方开发工具
  • STM32单片机参阅规划

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/xinpin/yuanjian/150810.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部