浅析IAR环境下Flash loader工作原理

来源:互联网 发布:信鸽软件怎么样 编辑:程序博客网 时间:2024/05/18 00:54

来自:http://comm.chinaaet.com/adi/blogdetail/32541.html

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

image

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

image

图1

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

image 

图2

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

image

图3

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

图4

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

    今天写的有点急,一会儿有点事先撤了,改天抽个空再细聊聊目前几种下载工具的工作原理,对比分析一下,呵呵,不多说了,未完待续~

0 0
原创粉丝点击