說明:
1、經過假期這段時間的浴血奮戰,終於可以發布首版脫機燒錄功能。
2、疫情的特殊時期,我們已經對手頭的STM32F030,F103,F429,F746進行了完美適配。其它STM32型號的支持,大家可以看操作說明,做適配。
3、後續會對市場上的其它廠家嵌入式晶片做支持,甚至RISC-V內核。
大家在使用中,有什麼建議,歡迎反饋,爭取做得更好。
燒錄512KB的bin文件到我們V6開發板效果:
V1.08版APP程序:
h7_tool_app(V1.08)
H7-TOOL_STM32H7_App-master(V1.08)
上位機升級至V.02:
H7-TOOL PC機軟體(V0.2)
H7-TOOL PC軟體原始碼(V0.2 2020-02-07)
eMMC中要存儲的文件:
H7-TOOL eMMC磁碟文件(V1.08)
【脫機燒錄功能介紹】
1、通過文件瀏覽方式選擇程序文件。不限制目錄和文件個數。
2、FLM算法文件從KEIL MDK中複製出來,存放到emmc磁碟 \H7-TOOL\Programmer\FLM,按廠商分類。
3、目標程序文件、編程腳本存放到:\H7-TOOL\Programmer\User 文件夾。不限制目錄級別和數量 。
4、動態解析FLM文件,分離出內存鏡像通過swd加載到目標cpu ram。
5、支持多段bin寫入。
6、支持option bytes編程,燒錄完畢設置讀保護。
7、支持自動解除讀保護。
8、支持動態填充產品序號、UID加密欄位、用戶自定義欄位。
9、自動保存燒錄次數,支持剩餘次數限制功能。
10、支持連續燒錄模式,檢測到IC後自動燒錄。
11、可動態顯示CPU電壓和供電電流。
12、通過lua腳本配置算法文件和數據文件(bin)以及控制編程過程。
13、lua非常靈活,可以很方便擴充功能,比如:
(1)日期窗口段內才允許燒錄。
(2)目標板電流超限報警。
(3)限定UID(CPU唯一序號)符合規則的才允許燒錄。
(4)UID加密算法由用戶自己定義。
(5)填充任意短數據(小於1K),比如可以寫入生產日期時間或客戶代碼。
(6)關於程序文件保密問題,後期再考慮吧,因為H7-TOOL軟體開源,文件結構開源,為了避免程序文件被加工廠洩露, 初步設想如下:
a、控制USB虛擬磁碟程序入口,增加人工輸入密碼。
b、在虛擬磁碟扇區讀寫底層函數,以512位元組為單位增加客戶自定義加密和解密算法。這樣emmc數據內容就是被加密的,即使emmc晶片被複製出來放到其他H7-TOOL主板也無法識別。
【使用說明】
硬體連接:
1、SWD燒錄接口:TVCC GND D8 D6 D4。
2、用5P杜邦線連接到目標板。
3、目標板可以由H7-TOOL的TVCC引腳供電。
4、5P連接線的長度建議小於20CM。
進入和選擇文件的步驟:
1、聯機模式下長按S,彈出「擴展功能」菜單。
2、選擇"1.脫機燒錄器",長按S確定,進入脫機燒錄器界面。
3、按S鍵切換到"選擇文件",長按S進入文件瀏覽器界面。
4、選擇對應的lua文件,長按S確定。
按鍵功能:
1、按S鍵切換到「開始燒錄」按鈕。
2、短按C鍵開始燒錄。
3、長按S鍵進入連續燒錄模式(檢測到晶片自動燒錄)。
4、長按C鍵可終止燒錄。
【修改lua文件】
1、聯機模式下長按S進入擴展功能 -> 系統設置 -> USB eMMC磁碟。
2、等待10秒左右電腦上可以看到 eMMC磁碟。
3、用電腦的文件瀏覽器操作eMMC磁碟內容。
4、兩個關鍵目錄:
H7-TOOL\Programmer\FLM 存放燒錄的算法文件
H7-TOOL\Programmer\User 存放用戶的lua文件、bin文件。
注意事項:
1、如果eMMC模擬U盤沒有識別出來看論壇相應帖子。
2、將壓縮包解壓出來後,全部複製到eMMC裡面。
【lua文件說明】
1、找一個lua文件做模板,複製一份更換目錄或名字,當前提供了以下幾個模板:
2、用記事本打開lua文件進行編輯。
3、幾個關鍵參數如下,需要指定算法文件和程序文件。
(1)算法文件基準目錄
0:/H7-TOOL/Programmer/FLM
AlgoFile_FLASH = "ST/STM32F10x/STM32F10x_512.FLM"
AlgoFile_OPT = "ST/STM32F10x/STM32F10x_OPT.FLM"
(2)bin文件名和目標FLASH地址。
DataFile_0 = "../TestBin/512K.bin"
(3)基準目錄 0:/H7-TOOL/Programmer/User,和lua文件同目錄.支持../上級目錄。
4、更高級的設置,可以繼續瀏覽lua文件,有C語言基礎即可看懂,部分截圖:
舉例說明:
比如燒寫一個bin文件output.bin到我們STM32-V6開發板
1、可以使用文件STM32F429BI_512K.lua做模板,僅需修理裡面的bin文件名和目標Flash地址
DataFile_0 = "../TestBin/output.bin"
2、將output.bin文件放到TestBin文件夾裡面:
3、H7-TOOL進入套機燒錄後,選擇STM32F429BI_512K.lua文件:
4、點擊開始燒錄:
5、燒錄過程分擦除,編程和校驗:
部分LUA腳本文件截圖,主要是熟悉下參數配置即可:
【和lua同名的ini文件說明】
文件內容如下,可以記事本編輯
Locked = 0 --1表示鎖死,目前未用
ProgramLimit = 0 --燒錄次數控制,0表示不限制, >0 表示限制的次數
ProgrammedCount = 43 --已經燒錄的次數
ProductSN = 0 --產品序號滾碼
LastTotalTime = 0 --暫時未用
LastEraseChipTime = 22 --全片擦除時間(ms),程序自動記錄