AVR单片机解密之后烧写芯片注意事项

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

致芯科技

AVR单片机解密之后烧写芯片注意事项

AVR单片机内部有多组与器件配置和运行环境相关的的熔丝位,这些熔丝位非常重要,用户可以通过设定和配置熔丝位使AVR单片机局部不同的特性,以更加适合实际应用。但是由于需要对熔丝位进行配置,给初学者带来一些不太好理解的地方,对于单片机解密以后,在烧录程序的时候,也要对熔丝位配置,如果配置不对了,可能不工作或功能发生变化。所有在烧录解密后的文件的时候一定要对熔丝位进行配置,由于支持AVR的工具非常多,而不同的工具的软件的界面不同,所以在做AVR单片机解密前最好告诉解密公司自己使用的是什么工具,让芯片解密公司按照自己的工具的界面做配置图,这样就方便了解密以后去烧写程序,不过自己也可以用解密公司提供的样片去读熔丝位配置,有的工具直接读芯片就可以,有的是读配置等等,然后将读出的配置保存。

如果是刚出厂的单片机,默认的是使用内部1MHZ的RC振荡作为系统时钟,而且JTAG口处于允许方式。对于AVR熔丝位要起码要明确以下几点。

1、AVR熔丝可以多次编程,不是一次性的OTP熔丝。

2、熔丝位的配置可以通过并行方式、ISP方式和JTAG串行方式实现。

3、AVR芯片加密锁定后(LB2/LB1=1/0,0/0)不能通过任何方式读取芯片内部FLASH和EEPROM 中的数据,但熔丝位的状态任然可以读取,只是不能修改配置。

4、芯片擦除命令是将FLASH和EEPROM中的数据清除,并同时将两位锁定位状态配置成无锁定状态(LB2/LB1=1/1),但芯片擦除命令并不改变其他熔丝位的状态。

5、下载编程的正确步骤是:在芯片无锁定状态下对芯片下载运行代码和数据,配置相关熔丝位,最后配置芯片的加密位置。

6、芯片被加密锁定后,如果发现熔丝位及配置不对,则必须使用芯片擦除命令,清除芯片中的数据,解密加密锁定,然后重新下载运行代码和数据,修改配置相关的熔丝位,最后再次配置芯片的加密锁定位。

7、需要非常明确的指出一点的是SPIEN位,很多客户曾经电话咨询过,说是我们提供的单片机用ISP连接不上,而自己买来的可以,熔丝为的SPIEN就是配置ISP的,如果SPIEN

为1,ISP是允许状态,如果是0则为禁止状态,如果是禁止状态当然是无法ISP连接口芯片的。

8、另外比较重要的是BOOTRST位,这一位的设置关系到芯片上电后程序从0X0000开始执行还是从BOOT区开始执行。而系统时钟源的选择也非常重要,解密后的程序客户烧写的时候经常不好用,打部分是由于时钟源没有设置对的原因,所以系统时钟一定按照原来的设置。

由于采用不同的工具,烧写的方法和要求的文件也不同。

一、一种方法是采用通用编程器的方法,如果采用通用编程器的方式,一般都支持BIN或HEX文件,直接加载文件,然后进行相应配置,直接烧写就可以。

二、另一种方法是使用ISP或JTAG下载线模式烧写文件,因为使用下载线也有很多种,一般的下载线都支持在AVRSTUDIO下下载,STUDIO在下载的时候,要求的文件格式必须是HEX 格式的文件,如果加载BIN文件,会提示不是AVRSTUDIO支持的格式。并且要求FLASH和EEPROM文件是分开下载的,即解密后要提供FLASH和EEPOM两个文件。

相关文档
最新文档