paulw 发表于 2008-1-30 22:08:33

请问马老师,如何在烧写application程序时不冲掉bootloader的程序,最好是通过熔丝设置

请问马老师,如何在烧写application程序时不冲掉bootloader的程序,最好是通过熔丝设置或者加密设置。通过双龙的ISP下载软件设置“保留源代码”可以实现,保护bootloader程序。我想做一个时间炸_弹,只允许别人对application程序烧写、擦出或升级,不能够对bootloader区进行读写、烧录,有什么方法可以吗??

ztxfhl 发表于 2008-1-31 02:33:09

设置锁定位字节BLB1模式3(即:BLB12=0,BLB11=0.)
不允许 SPM 指令对Boot Loader 区进行写操作,也不允许
运行于应用区的 LPM指令从 Boot Loader 区读取数据。若
中断向量位于应用区,那么执行 Boot Loader 区代码时中
断是禁止的。
再在bootloader程序中限制bootloader程序读程序的地址上限.
这样应该可以吧

plc_avr 发表于 2008-1-31 07:41:22

难啊,一般的设置都是先全片擦除,再写入代码。你再怎么写熔丝位都没用。我觉得最好就是自做上位机软件,从BOOT引导用户区升级,用户区只允许读写,BOOT禁止读写。这样从ISP口是读不出程序的。

paulw 发表于 2008-1-31 23:37:18

难度就在于:用ISP下载程序时往往都先是全片擦除,然后再烧录代码。各位大侠有什么好招?

machao 发表于 2008-2-1 00:49:04

使用现在的下载软件配合熔丝的配置是无法做到这点的.

通常使用BOOTLOAD的自编程方式可以做到.另外除非你自己编写特殊的编程平台的软件,不使用全片擦除的功能,对特定的FLASH扇区写全1,然后再写数据.

paulw 发表于 2008-2-18 16:37:00

谢谢,马老师!我是在看了你的《128应用》一书,有了这个想法的;通过bootloader的自编程可以实现,问题是别人不是按照我的游戏规则玩的,别人只要通过改编熔丝,再spi编程或者高压并行编程就可以将我的bootloader程序擦除掉,如果像计算机那样把代码驻存在bios中就好了;

machao 发表于 2008-2-18 19:19:18

BIOS也是可以改写的.曾经还有CIH病毒,专门改写BIOS.

PIC的boot程序是不能擦掉的,可你也不能改成自己专用的.除非你自己设计专用的芯片.

paulw 发表于 2008-3-13 11:32:25

ok!ok!!!
页: [1]
查看完整版本: 请问马老师,如何在烧写application程序时不冲掉bootloader的程序,最好是通过熔丝设置