SEGGER Flash Loader(SFL)是J-Link設備支持套件(DSK)的一部分,通過SFL,用戶可以為自己的新設備添加Flash編程支持。
支持的CPU架構
SEGGER Flash Loader(SFL)可用于以下CPU架構:
? ARMv4/v5
ARM720T, ARM7TDMI, ARM7TDMI-S
ARM920T, ARM922T, ARM926EJ-S, ARM946E-S, ARM966E-S
? ARMv6-M
Cortex-M0, Cortex-M0+, Cortex-M1
? ARMv7-M
Cortex-M3, Cortex-M4, Cortex-M7
? ARMv8-M
Cortex-M23, Cortex-M33, Cortex-M55, Cortex-M85
? ARMv7-A
Cortex-A5, Cortex-A7, Cortex-A8, Cortex-A9, Cortex-A12, Cortex-A15, Cortex-A17
? ARMv7-R
Cortex-R4, Cortex-R5, Cortex-R7, Cortex-R8
? ARMv8-R
Cortex-R52
? RISC-V RV32
支持的Flash類型
SEGGER Flash Loader通過MCU對Flash進行編程,因此可以支持任何Flash(或其他非易失性存儲器),適用于經由MCU存儲器映射訪問的Flash(內部Flash,外部QSPI NOR Flash,…)以及非存儲器映射的Flash(外部I2C EEPROM,外部NAND Flash,…)。
對于非內存映射的Flash,必須在SFL中額外實現以下接口函數:
SEGGER_FL_CheckBlank ()
SEGGER_FL_Verify ()
SEGGER_FL_Read ()
SEGGER_FL_CalcCRC ()
接口函數概述
下表概述了SEGGER Flash Loader的必須的和可選的接口函數:
詳細的API介紹可以參考:https://kb.segger.com/SEGGER_Flash_Loader?mtm_campaign=li&mtm_kwd=Flashloader#Entry_functions_overview
在J-Link軟件中集成SFL
將生成的SFL二進制文件集成到J-Link軟件中,具體操作實現可以參考:https://kb.segger.com/J-Link_Device_Support_Kit
堆棧的使用
J-Link為SEGGER Flash Loader保留512字節的堆棧空間。對于小RAM內存的設備,可以使用256字節。
段放置
對SFL代碼放置涉及的RO代碼段,RO數據段,RW數據段,J-Link軟件有固定的布局分配。
段放置:
J-Link DSK提供的參考算法和模板工程中已經實現了相應段的定位分配,用戶無需修改。
故障排除
通常使用最新版本的模板項目, FlashPrg.c->Functions函數不包含訪問SFR的代碼,使用release配置構建flash loader,使用J-Link Commander執行flash下載。Flash下載應該在驗證過程中報告一個錯誤。執行SEGGER_FL_Erase()并重試flash下載。J-Link Commander應該仍然報告驗證失敗,但相應的flash區域應該是空的。否則需檢查SEGGER_FL_Erase()。
實現SEGGER_FL_Program()并重試flash下載測試。預期結果:測試報告正常->編程成功。如果沒有,需檢查SEGGER_FL_Program()代碼。
PC在flash下載后反饋異常值,此錯誤可能的原因:
? 看門狗已使能,但未在flash loader函數中喂狗。這可能導致在RAMCode執行期間出現看門狗超時,從而觸發重置。
? 訪問了無效的內存區域
J-Link軟件默認在開始flash編程之前先比較flash內容,以防flash的大部分內容已經與編程數據相同。SEGGER_FL_Prepare()代碼必須實現(QSPI)引腳和(QSPI)控制器的配置,以便能夠通過內存映射方式訪問flash??梢酝ㄟ^將J-Link Commander執行命令(exec SetCompareMode 0)取消比較操作。開始flash下載后,J-Link Commander將報告一個驗證錯誤,但此時應該可以通過內存映射方式訪問flash,如果沒有,需檢查Init()代碼。
新設備通常需要一個flash加載程序,通過J-Link DSK,用戶可以方便的為自己的設備添加編程支持。
-
FlaSh
+關注
關注
10文章
1659瀏覽量
150875 -
cpu
+關注
關注
68文章
11024瀏覽量
215668 -
編程
+關注
關注
88文章
3677瀏覽量
94793 -
SEGGER
+關注
關注
0文章
49瀏覽量
14389
原文標題:如何通過SFL為設備添加Flash編程支持
文章出處:【微信號:麥克泰技術,微信公眾號:麥克泰技術】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
評論