当前位置:首页 > 单片机 > 单片机
[导读]见过很多初学者对PIC16系列单片机的ID码的读和写犯迷糊。说实话,这方面的资料也不怎么全。有些教材可能会涉及ID区域的介绍,可是往往是一代而过。这对初学者来说是比较容易犯错的地方。今天有空,对相关的问题作了一

见过很多初学者对PIC16系列单片机的ID码的读和写犯迷糊。说实话,这方面的资料也不怎么全。有些教材可能会涉及ID区域的介绍,可是往往是一代而过。这对初学者来说是比较容易犯错的地方。今天有空,对相关的问题作了一些整理,分享给大家。可能有些地方说的不够妥当,欢迎大家多多探讨。


1.什么是ID区域?


ID区域是独立于EEPROM,FLASH,RAM的区域。程序设计人员可以利用该区域存放软件的版本号,编写日期,烧录日期,产品标识等信息。不过该区域很小PIC16系列只能存放4个字节。


2.ID码怎么烧录到ID区域里面去?


可以利用PICC自带的宏命令IDLOC(X)来实现。具体操作如下:


.....................................//头文件 其它宏定义


__IDLOC(76F4); //注意:前面是两个下划线。括号里面最多可以有2个字节


void main()


{

...................................//程序主体


}


编译以后再用烧录工具烧到单片机中即可。这里要提醒一下,IDLOC(X)里面最多有2个字节的16进制数,超过部分会无效。比如你写个987FE3,E3会丢掉。另外得说一下这两个16进制数在ID区域是怎么放的。我们已经知道IDLOC(X)里面能又个字节,而ID区域能放4个字节。以X=76F4为例,它们是这样放的07060F04。也就是说,在每个16进制数前加1个0。如果你写的不是2个字节的16进制数,比如是1个字节的78。编译器会在前面补0,那就成了0078。写到ID区域的就是00000708


3.ID码怎么读出来?


可以通过烧录工具跟编译器配合读出来。我用的是PICC跟ICD2。连好线,单片机上电以后,在编程模式下,通过执行Read Target Device操作,然后在Configure菜单下的Id memory


选项可以看到刚才编程的时候设置的ID码。


其实,多数PIC都没有唯一ID,有人通过烧断PIC读出总线来实现加密,但设备需要自制。
只要是市场上大量销售的芯片,解密都不是什么麻烦事,只能尽量用新型号或者生僻的型号。

有人用MCU内部的EEPROM这么搞过,但不是这么简单的这么搞,对于大批量生产来说,还需要一些技巧才能比较好的处理这个问题。
1、设置一个自检程序,通过特殊操作(我有一个自制工装,可以把MCU的各个相关IO强行固定在某个逻辑电平上,软件判断逻辑组合,必须符合一个特定组合才能进入特殊操作启动代码,UART接受工装的通信数据,通信数据传入EEPROM要被擦写的次数和位置等)。
2、进入自检后,MCU疯狂的擦写EEPROM中设定的某个位置(适当提高一点VCC电压以加快失效),最多擦写200万次后停止操作,一般MCU自带的EEPROM擦写次数都不到100万次,EEPROM某个字节在0XAA和0X55之间不断的被循环擦写。
3、这个擦写的时间还是比较长的,一般要数十分钟以上,我一般放在产品通电老化阶段进行这个自检程序(产品一般要在老化房4~6个小时候通电老化时间,自检程序兼容这个时间执行,避免产生新的工时损失)
4、擦写过程中在RAM中记录EEPROM该字节失效时的操作次数,并存入到EEPROM其他字节中。
5、产品正常销售中,执行APP用户程序,继续不断的擦写那个失效字节,如果不能擦写,则说明加密成功,否则有另一个纠错程序就不讲了,各位可以自行想办法。


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

伦敦, Feb. 23, 2023 (GLOBE NEWSWIRE) -- 英国一家领先的超级跑车租赁公司刚刚推出一种加密货币支付系统,服务全球最出众的超级跑车租赁业务。 目前,客户可以选择以比特币、以太坊加密货币或英镑...

关键字: CLASSIC 加密 AD WIRE

伦敦, Nov. 25, 2022 (GLOBE NEWSWIRE) -- Tusk Inc. Limited是一家于 2012 年在英国和吉隆坡作为资本管理公司启动的公司。作为一家当下处于领先地位的电气解决方案公司...

关键字: INNOVATION 加密 COM LIMIT

近日,东航、南航、海航等多家航空公司宣布恢复并加密多条国际航线。10月17日,东方航空官宣,计划于10月底恢复多条国际航线,包括上海—曼谷—青岛、杭州/青岛/南京/昆明—东京成田、青岛...

关键字: 加密 MDASH

新加坡航空公司将于2022年10月11日开通成都往返新加坡(航班号:SQ843/SQ842)的客运航班服务,航班采用空客A350-900远程客机执飞,每逢周二运营。与此同时,新航深圳往返新加坡(航班号:SQ847/SQ8...

关键字: 新加坡 加密

伦敦, Aug. 31, 2022 (GLOBE NEWSWIRE) -- Meco Limited(Mecobit)于2020年8月在香港科技局举行的精英发布活动上发布了备受期待的终极太阳能发电系统(一套具有惊人备份和...

关键字: LIMIT 加密 太阳能 电力

青岛2022年8月12日 /美通社/ -- 今天,DHL快递宣布开通青岛至韩国仁川的货运航线,转运效率将再提升。作为首批入驻胶东国际机场的国际物流企业之一,DHL快...

关键字: BSP VIEW 加密 加速度

(全球TMT2022年7月19日讯)亚马逊云科技宣布,互联汽车服务提供商WirelessCar(维瑞联行)选择亚马逊云科技为首选云服务提供商。借助亚马逊云科技覆盖全球的基础设施,以及存储、数据库、无服务器计算、安全、物...

关键字: WIRELESS 亚马逊 云服务 加密

上海2022年7月12日 /美通社/ -- 今天,DHL北亚枢纽迎来投运十周年纪念日。十年来,北亚枢纽已发展建设成为集航空货运站、快件处理中心、货物中转功能为一体的国际航空货...

关键字: 供应链 加密 数字化 照明

加密货币(英文:Cryptocurrency,常常用复数Cryptocurrencies,又译密码货币,密码学货币)是一种使用密码学原理来确保交易安全及控制交易单位创造的交易媒介。

关键字: 加密 货币 电子货币

广州2022年6月19日 /美通社/ -- 今天上午,中外运敦豪广东分公司在位于广州市越秀区海珠广场的新办公场所举行了乔迁开业仪式。中外运敦豪董事总经理吴东明出席并为办公室新...

关键字: BSP 供应链 加密
关闭
关闭