如何将bootloader程序烧录到BLS区
马老师好,各位好:如何将bootloader程序保存在bls区域,也就是说如何将bootloader程序烧录到BOOTloader区,谢谢! 请马老师发表一个意见!我实在找不到这方面信息,在datasheet里面也没有介绍! 你不是说“单片机已学会了”?http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=4106245&bbs_page_no=1&bbs_id=1003 无语…… 当熔丝位BOOTRST 已编程,且Boot 区为8K 字节时,典型的复位和中断设置如下:
地址符号代码说明
.org $0002
$0002 jmp EXT_INT0 ; IRQ0 句柄
$0004 jmp EXT_INT1 ; IRQ1 句柄
... ... ... ;
$0044 jmp SPM_RDY ; SPM 就绪句柄
;
.org $F000
$F000 RESET: ldi r16,high(RAMEND) ; 主程序
$F001 out SPH,r16 ; 设置堆栈指针为RAM 的顶部
$F002 ldi r16,low(RAMEND)
$F003 out SPL,r16
$F004 sei ; 使能中断
$F005 <instr> xxx
这是M128 新片手册,建议看个百十遍。
不看个千百遍,玩不精AVR 的。
datasheet 里没介绍? 你看你的火星版? 我的中文版里都有。 算了,还是做个好人吧,
你烧好熔丝位,把后半截的程序空间劈开。
再烧好熔丝位,吧程序设置成从后半截开始运行,也就是你劈开的那部分,
写程序的时候 第一行 .ORG $F000 就OK 了
不一定是F000 ,看你劈开多少,就从那里开始。 可以參考一下這個網頁
http://www.scienceprog.com/testing-avr-universal-bootloader-on-atmega128/
有說明要怎麼做,你應該是沒有設定Memory Setting,設定到你要的位置
页:
[1]