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