關(guān)于IAR的一些總結(jié) -- Flash Loader原理
先說說Flash Loader這個(gè)小程序,IAR調(diào)試器C-SPY默認(rèn)是通過它來完成數(shù)據(jù)傳輸、Flash 擦除和燒寫等任務(wù),當(dāng)然前提是得選中Options->Debugger->Download選項(xiàng)下的“Use Flash Loader”,如下圖:
下面我們說說Flashloader的工作原理,其實(shí)Flashloader是IAR為C-SPY調(diào)試器開發(fā)的一個(gè)可執(zhí)行小程序(有點(diǎn)類似Bootloader),IAR在調(diào)用調(diào)試器的時(shí)候需要先將Flashloader可執(zhí)行文件下載到目標(biāo)芯片的RAM中
圖1
然后再將要下載的文件也放到RAM緩存中
圖2
之后C-SPY通過指令啟動(dòng)Flashloader程序,它讀取編程數(shù)據(jù)再將其寫入到目標(biāo)芯片的Flash之中去,完成目標(biāo)芯片F(xiàn)lash的擦寫和編程
圖3
最后清除釋放RAM區(qū)Flashloader程序和編程數(shù)據(jù),啟動(dòng)新的程序運(yùn)行。
圖4
如上所示即為Flash loader的工作原理,其實(shí)仔細(xì)分析過來你會(huì)得到一個(gè)驚天秘密,即大多數(shù)在線下載工具在燒寫目標(biāo)芯片的flash時(shí)都是通過這種方式的,可能通過表象看到的是二進(jìn)制文件是直接下載到flash中去了(無論是片上還是片外flash),但是真正的下載過程往往不是表面看上去那么簡(jiǎn)單。所以今天說說這個(gè)的一個(gè)原因除了發(fā)泄自己的興奮之情外也是希望通過這么一個(gè)例子告訴大家深究某些東西原理的重要性。
編輯:admin 最后修改時(shí)間:2019-07-31