2019-08-17 03:12发布
yuzeyuan1 发表于 2017-7-6 11:26 请问串口IAP实验里,txt里说“本实验下载成功后,需用串口调试助手发送SRAM APP/FLASH APP等APP代码(.bin ...
xsx127 发表于 2017-7-6 11:31 Flash分区:bootloader区,程序1区,程序2区。。。 只要你的程序bin文件加上bootloaderbin文件大小小于fla ...
yklstudent 发表于 2017-7-6 10:48 没有这要求,不超过你分配给APP程序的FLASH空间大小就好了
最多设置5个标签!
RO-data:即 Read Only-data,表示程序定义的常量,如 const 类型(FLASH)。
RW-data:即 Read Write-data,表示已被初始化的全局变量(SRAM)
ZI-data:即 Zero Init-data,表示未被初始化的全局变量(SRAM)
有了这个就可以知道你当前使用的 flash 和 sram 大小了,所以,一定要注意的是程序的大
小不是.hex 文件的大小,而是编译后的 Code 和 RO-data 之和。
额,我会了,有个打开文件
只要你的程序bin文件加上bootloaderbin文件大小小于flash就行
您好,我刚刚拿代码测试了一下,实现了固件更新,但有两个问题
1:RAM那么小,为什么会有SRAM进行固件更新这个用法呢?有好处么?
2、flash里分bootloader区,程序1区,程序2区。程序1用到的所有数据都会在程序1区里,如果最开始程序1区是100kB,它会不会在程序运行过程中再变大了?比如变大到110kB。如果它会变大,我是不是要把程序2区的起始地址弄的远一些,以免被覆盖?
1,ram比程序小,却能更新程序是因为,分段更新,第一次往flash 0-100地址写数据,第二次往flash 100-200写数据,就算你程序很大,也只占用100字节的内存
2,程序的大小是编译后固定的,占用flash空间是固定的
您好,我刚刚拿代码测试了一下,实现了固件更新,但有两个问题
1:RAM那么小,为什么会有SRAM进行固件更新这个用法呢?有好处么?
2、flash里分bootloader区,程序1区,程序2区。程序1用到的所有数据都会在程序1区里,如果最开始程序1区是100kB,它会不会在程序运行过程中再变大了?比如变大到110kB。如果它会变大,我是不是要把程序2区的起始地址弄的远一些,以免被覆盖?
一周热门 更多>