[AVR单片机]

请教如何对使用AVR带Bootload功能的系统进行加密

[复制链接]
2851|8
手机看帖
扫描二维码
随时随地手机跟帖
古道热肠|  楼主 | 2013-9-2 12:23 | 显示全部楼层 |阅读模式
为了便于程序升级,使用了atmega16芯片的BootLoad功能,请教如何设置加密位才能既安全又可靠呢?具体要求是BootLoad区的程序能升级用户区的应用程序,而用户区运行的应用程序不能修改和读取BootLoad区的内容,也不能通过ISP编程接口读取BootLoad区的内容。
现在的设置是把程序编程和校验功能关闭 LB1和LB2编程为0
BLB11和BLB12编程为0,不允许应用区对Boot进行读写操作
BLB01和BLB02编程为1,允许Boot区对应用区进行读写操作。
这样设置是否就能确保BootLoad区的内容不会被误写,也不能读出来,这样也保护了Bootload本身的安全。请大家熟悉这个的讲讲,先谢谢诸位了。

相关帖子

netcattle| | 2013-9-2 15:01 | 显示全部楼层
写加密位貌似不能阻止ISP接口对程序区的读写

使用特权

评论回复
huangxz| | 2013-9-2 23:43 | 显示全部楼层
凭版主的聪明智慧,这点小问题应该不在话下哦:lol

使用特权

评论回复
古道热肠|  楼主 | 2013-9-3 11:32 | 显示全部楼层
netcattle 发表于 2013-9-2 15:01
写加密位貌似不能阻止ISP接口对程序区的读写

LB1和LB2编程为0后,用ISP口是不能读取Flash的内容和校验的。除非先用整片擦除。关键是对下面两个熔丝位不太清楚到底是何含义。

使用特权

评论回复
netcattle| | 2013-9-3 13:09 | 显示全部楼层
本帖最后由 netcattle 于 2013-9-3 13:12 编辑
古道热肠 发表于 2013-9-3 11:32
LB1和LB2编程为0后,用ISP口是不能读取Flash的内容和校验的。除非先用整片擦除。关键是对下面两个熔丝位 ...

原来能阻止ISP啊,我记得资料上只提到阻止LPM/SPM操作,我以为只限程序。
以前做过测试,是不能阻止JTAG读取,BLB0写0也同样不能阻止JTAG对BOOT区的程序读取。ISP到是没有测试过·

使用特权

评论回复
dqyubsh1| | 2013-9-3 15:14 | 显示全部楼层
加密之后,JTAG能读到数据,但读取到的内容也是不对的。

使用特权

评论回复
qin552011373| | 2013-9-3 20:40 | 显示全部楼层
dqyubsh1 发表于 2013-9-3 15:14
加密之后,JTAG能读到数据,但读取到的内容也是不对的。

是滴

使用特权

评论回复
古道热肠|  楼主 | 2013-9-4 17:19 | 显示全部楼层
现在的要求就是要保证Boot区的安全,加载任何用户程序运行时都不能把Boot区毁掉了,因为毁了Boot区,就要用ISP线重新开盖刷机了,这是比较麻烦的事情况了。请教一下诸位是否如上面所述的这样设置理论上就保险了?谢谢大家参与!

使用特权

评论回复
netcattle| | 2013-9-5 08:50 | 显示全部楼层
应该是的,我情况和楼主差不多,主控板被面板封着,现在的做法就是锁定了BL0和BL1,测试过同过BOOTLOADER刷入,BOOTLOADER是不会被覆盖的,。
  楼主要是有什么更好的方法希望能分享下。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:以VS1003B和山景SOC芯片为背景,倾心研制数字化语音录放产品. 排忧邮箱:xg_2004_sy@126.com 得意之作是做了个AVR高压编程器,用起来爽歪歪, 串口MP3录放音模块,全面进入数字录放音时代

284

主题

6411

帖子

16

粉丝