技术积累缓冲区
技术积累
1.内外flash作为同一片flash操作,测试及运行,减少搬运过程,增加速度。 将主要程序放在主flash,不主要的程序放在norflash里面执行。这样改变函数或者程序文件的存放位置,用 .o文件可以进行控制。
2.执行目标: 实现小内部flash执行大flash程序,主要是克服某些功能需求太大的问题。而且还要实现可以调试的功能。
3.如果可以分配常用文件和不常用文件的.o文件的位置存放做编译区分开,那么就可以做成很容易实现的升级文件很小,但是功能不会影响的效果了。如此会变得很高级。
比如我用30K空间存放不长更新的内容,用5K空间存放常更新的内容,那么最后需要更新的只有5K空间就可以了。
目前找到的资料:
keil将程序装入外部FLASH详解 https://blog.csdn.net/huan447882949/article/details/81048352
Cortex-M单片机下载数据到外部flash https://blog.csdn.net/anobodykey/article/details/77688804
IAR调试KE02,如何将函数放到flash中的指定地址?(已解决) http://www.nxpic.org/module/forum/thread-580425-1-1.html
STM32如何设置程序在内部FLASH非0扇区开始执行? https://bbs.csdn.net/topics/390612722
串行SPI Nor Flash启动流程 http://m.elecfans.com/article/648246.html
norflash芯片内执行(XIP) https://blog.csdn.net/amberman/article/details/8122300
关于IAR的配置
http://ziye334.lofter.com/post/2435a3_52aa1c7
http://ziye334.lofter.com/post/2435a3_52aa1c7
https://blog.csdn.net/DICKJTK/article/details/8606229
https://blog.csdn.net/txwang2008/article/details/54971490
https://www.maximintegrated.com/cn/app-notes/index.mvp/id/4128
《IAR IDE user Manual.pdf》、《EW8051_CompilerReference_第6版.pdf》都对BANK机制有所描绘。 XCL相关的推荐看我另外一个资源“IAR Linker and Library Tools Reference Guide”
https://blog.csdn.net/guidianhjh/article/details/8780780
IAR的编译过 https://blog.csdn.net/xuehui869/article/details/7313035
IAR制定 数据/函数到制定的文件区域
https://blog.csdn.net/cathy_aa/article/details/72829097
通过修改ICF文件是可以实现的了,flash里面的文件规定位置和实现。
但是内部区分很多种类型,这几种类型都得有所处理。
place in mem:[from 0x08011000 to 0x08013000] { section .text object MainLoop.o };
place in mem:[from 0x08011000 to 0x08013000] { section .rodata object MainLoop.o };
IAR xcl文件 就是link文件
https://blog.csdn.net/guidianhjh/article/details/8780780
https://blog.csdn.net/Stephen_yu/article/details/78686482

浙公网安备 33010602011771号