技术积累缓冲区

技术积累

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

 

posted @ 2019-02-18 14:08  上下求索之  阅读(178)  评论(0)    收藏  举报