
相關閱讀嵌入式https://blog.csdn.net/weixin_45791458/category_12768532.html?spm1001.2014.3001.5482Jlink/J-Flash是常見的燒錄/調試工具本文將說明其燒錄Flash的工作原理。按照燒錄方式來分Jlink/J-flash可以分為直接燒錄和間接燒錄。直接燒錄直接燒錄一般用于外部SPI Flash使用J-Flash SPI指的是直接使用SPI協(xié)議對Flash進行燒錄SPI接口可以復用JTAG接口的引腳如下圖所示。在這種情況下甚至都不需要MCU的存在可以對SPI Flash進行單獨的編程。間接燒錄相對常用間接燒錄指的是有MCU參與的燒錄首先通過Jlink/J-Flash實現(xiàn)Flash編程需要額外的代碼通常稱為flash loader。該代碼通過JTAG或SWD下載到目標系統(tǒng)的RAM中負責執(zhí)行Flash的擦除和編程操作。這些編程算法因不同的Flash芯片而異并根據(jù)目標系統(tǒng)的字節(jié)序和Flash內存的組織方式進行調整。Flash 編程的兩種數(shù)據(jù)供應方式1、數(shù)據(jù)下載到RAM數(shù)據(jù)通過JTAG或SWD下載到目標系統(tǒng)的RAM中然后設置CPU的指令指針啟動CPU執(zhí)行RAM中的flash loader代碼。flash loader負責用Flash控制器將數(shù)據(jù)從RAM寫入Flash。該過程可能需要重復執(zhí)行直到所有數(shù)據(jù)都被編程到Flash中。2、通過DCC下載數(shù)據(jù)首先啟動RAM中的flash loader代碼然后flash loader通過DCC調試通信通道與主機通信使用Flash控制器傳輸數(shù)據(jù)到目標系統(tǒng)。數(shù)據(jù)被寫入FlashCPU只需啟動和停止一次。由于DCC的通信開銷較低這種方式通常比將數(shù)據(jù)直接下載到RAM更快。優(yōu)點與缺點直接燒錄優(yōu)點1、進行Flash編程時可以不關注MCU的型號以及其兼容性。2、進行Flash編程時無需額外的RAM空間存儲Flash loader。直接燒錄缺點1、進行Flash編程時需要額外的硬件連接。2、直接燒錄無法與集成開發(fā)環(huán)境IDE集成使用。間接燒錄優(yōu)點1、支持通過集成開發(fā)環(huán)境IDE進行燒錄方便集成到開發(fā)流程中。間接燒錄缺點1、需要連接到MCU獲得其支持。2、需要額外的RAM空間存儲Flash loader。3、即使是同一塊Flash針對不同的Flash控制器需要有不同的Flash loader算法。