关于IAR的一些总结 -- Flash Loader原理

使用IAR有接近三年了,一直断断续续使用,没有深入研究。

感谢 http://www.chinaaet.com/ 里面的各位博主,这个系列的一些总结源于看了各种大神的文章得出来,如果总结有错误,请指出。


http://blog.chinaaet.com/detail/32541.html

先说说Flash Loader这个小程序,IAR调试器C-SPY默认是通过它来完成数据传输、Flash 擦除和烧写等任务,当然前提是得选中Options->Debugger->Download选项下的“Use Flash Loader”,如下图:

关于IAR的一些总结 -- Flash Loader原理_第1张图片

下面我们说说Flashloader的工作原理,其实Flashloader是IAR为C-SPY调试器开发的一个可执行小程序(有点类似Bootloader),IAR在调用调试器的时候需要先将Flashloader可执行文件下载到目标芯片的RAM中

关于IAR的一些总结 -- Flash Loader原理_第2张图片

图1

然后再将要下载的文件也放到RAM缓存中

关于IAR的一些总结 -- Flash Loader原理_第3张图片 

图2

之后C-SPY通过指令启动Flashloader程序,它读取编程数据再将其写入到目标芯片的Flash之中去,完成目标芯片Flash的擦写和编程

关于IAR的一些总结 -- Flash Loader原理_第4张图片

图3

最后清除释放RAM区Flashloader程序和编程数据,启动新的程序运行。image

图4

    如上所示即为Flash loader的工作原理,其实仔细分析过来你会得到一个惊天秘密,即大多数在线下载工具在烧写目标芯片的flash时都是通过这种方式的,可能通过表象看到的是二进制文件是直接下载到flash中去了(无论是片上还是片外flash),但是真正的下载过程往往不是表面看上去那么简单。所以今天说说这个的一个原因除了发泄自己的兴奋之情外也是希望通过这么一个例子告诉大家深究某些东西原理的重要性。

你可能感兴趣的:(IAR)