关于探索者IAP实验中RAM使用

2019-07-20 06:56发布

学习了一下原子探索者的IAP实验。它是利用几个特大的缓冲数组接收更新代码(120K的大小),然后将其写入主存储器,最后进行跳转执行新代码。
下面是我的问题:
1、"定义在主函数中或所有函数之外的全局数组与程序的寿命一样长,不能中途释放.",所以跳转执行新代码后,那个特大的接收缓存数组有没有被释放掉? 如何进行测试?
2、利用原子的内存管理进行缓存是否可以?(其实这个问题不想问的,因为我自己测试过。接收是完全没问题,但是在写入Flash时,偶尔会报FLASH_ERROR_PROGRAM错误。)
3、如果不是处于实验阶段,bootloader设计需要注意哪一点?(主要就是接收缓存这一块,如果代码过大,缓存不够用)

问题可能有点低级,还请大家不吝指教!!!!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
2条回答
正点原子
1楼-- · 2019-07-20 11:26
跳转就相当于复位。
也就是IAP和APP,都可以把内存 用完。
但是互相不影响。
hu25886
2楼-- · 2019-07-20 17:12
正点原子 发表于 2018-8-2 14:18
跳转就相当于复位。
也就是IAP和APP,都可以把内存 用完。
但是互相不影响。

是不是这样理解。IAP申请的内存接收代码,代码写入主存储器中,跳转(复位)。在复位过程中就将IAP使用的内存释放掉了?

一周热门 更多>