共3条
1/1 1 跳转至页
Atmega128L,bootloader,flash Atmega128L中,作为bootloader的flash区域不够用怎么办?


问
最大只能设置成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就足够了
有什么解决方法?谢谢! 答 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就足够了
共3条
1/1 1 跳转至页
回复
打赏帖 | |
---|---|
分享一种检测按键状态的方法被打赏20分 | |
周末总结一下,STM32C0系列的开发经验被打赏50分 | |
【Cortex-M】Systick Timer使用被打赏10分 | |
分享汽车防盗系统的组成与分类(一)被打赏5分 | |
VOFA+波形显示+JYD-31蓝牙发送和解析不定长数据被打赏10分 | |
【换取手持数字示波器】-STM32F4PWM控制LED灯管亮度被打赏22分 | |
【换取手持数字示波器】STM32F4驱动RPR-0521RS照度、接近一体型传感器被打赏23分 | |
宏定义和const关键字定义被打赏5分 | |
【分享开发笔记,赚取电动螺丝刀】几个单片机I2S外设的BLCK时钟对比被打赏20分 | |
【功率监测与控制系统DIY活动成果贴】DIY功率计与LabVIEW数据采集被打赏100分 |