这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 基础知识 » Atmega128L,bootloader,flash Atmega128L中,

共3条 1/1 1 跳转至

Atmega128L,bootloader,flash Atmega128L中,作为bootloader的flash区域不够用怎么办?

院士
2006-09-17 18:14:16     打赏
Atmega128L,bootloader,flash Atmega128L中,作为bootloader的flash区域不够用怎么办?



关键词: Atmega128L     bootloader     fla    

院士
2006-12-22 22:43:00     打赏
2楼
问 最大只能设置成4k,不能写入application section,因为怕更新应用程序时bootloader被改写。
有什么解决方法?谢谢! 1: 在Flash中另外划出一段,在bootloader的结尾放一个跳转语句。怕更新应用程序时bootloader被改写
可以通过编程锁定位,保护bootloader 2: 4K是字,就是8K字节。还不够吗?一般来说bootloader都是比较短小的,因为主要功能一般都是从串口或其他渠道获得要更新的程序代码,然后将新的代码烧写入单片机中。

一般从串口接收的程序的bootloader程序代码大约在512B左右。
我们编写过从空中接收128K代码存储入FLASH(NAND)中,然后在更新。由于FLASH驱动比较大,并且还包括一个512B的CRC校验码,程序量也就3K多一点。
以上都是用C编写的。
所以我觉得128的8K bootloader还是十分够用的。 3: to fjmcu这个想过,但在flash中另外划出的一段就不能象bootloader一样被保护,因为位于NRWW区域,如果一样保护,就不能在写application时读了。有办法吗?


4: to zsmbj因为bootloader要包含必须的*.h文件,所以就变得很大。
如果要缩减*.h文件,就得重新用汇编写底层的接口,
由于需要显示和键盘的控制,都用汇编写会很麻烦。
所以。。。。
5: 各位路过的大侠稍做停留,救人一命哈急用
我顶我顶我顶顶顶 6: re主要还是要搞清下载时,运行哪段代码! 7: 编译时*.h中没有用到的部分是否也被编译到生成的可执行文件中?如果是的话,直接删掉不关联的部分,即重做一个.h文件,是否可以有效减小代码? 8: 8K还不够啊,我用mega16才2K,我觉得3K就足够了

专家
2022-10-22 22:55:46     打赏
3楼

学习学习


共3条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]