在嵌入式開發(fā)中,程序固件升級和系統(tǒng)維護通常需要自舉程序,因此自舉程序是必不可少的功能。
STM32系統(tǒng)隨附的系統(tǒng)引導程序非常易于使用。
它極大地減少了工程師開發(fā)自舉程序1的工作。
總結本說明主要以STM32H743芯片為例,介紹STM32系統(tǒng)自舉程序的應用。
2.準備工作& nbsp; 1,IAR 8.32.1 & nbsp; 2,STM32CubeProgrammer 3.系統(tǒng)引導程序簡介我相信使用過STM32芯片的童鞋應該很熟悉。
當芯片出廠時,意法半導體已經固化了內部系統(tǒng)中的引導程序,并支持各種接口,例如UART,I2C,SPI,USB,CAN等。
它可用于下載和升級用戶程序。
就我所使用的H743而言,支持的接口如下:請注意,紅色框中的地址不正確,并且需要注意程序中的代碼。
當前,幾乎所有系列的STM32都受支持。
與F0,F(xiàn)1,F(xiàn)4,F(xiàn)7,H7一樣,也支持較新的G系列,以及L系列和W系列。
該引導程序可與ST的官方STM32CubeProgrammer主機一起使用,大大節(jié)省了開發(fā)時間。
當然,如果您想要更好的引導程序,則可以根據此想法自己添加更多功能。
就我最近使用的H743而言,今天我們將以H743為例,并以USB接口為例進行介紹。
4.硬件連接圖通過USB電纜將開發(fā)板連接到計算機,并且該開發(fā)板用作USB設備。
5. Bootloader模式使用Bootloader時,需要考慮如何進入啟動模式,并且STM32支持跳轉引導引腳和通過引導引腳的跳轉需要配置引腳和地址寄存器以通過用戶應用程序跳轉,不需要配置引導引腳,但是通常通過應用程序跳轉更為方便,特別是對于產品具有難以拆卸的外殼,對于我們跳過應用程序來說非常方便,以后者為例進行說明。
您可以參考官方文件AN2606來了解通過引導引腳進行跳轉的配置說明。
6.配置要求一般來說,進入引導加載程序的跳轉時,我們需要做一些工作。
進入系統(tǒng)引導加載程序時,STM32需要執(zhí)行以下操作:關閉全局中斷,將時鐘恢復配置為HIS,清除中斷掛起標志,啟用中斷,設置跳轉地址,并且跳轉為被執(zhí)行。
它可以是按鈕檢測跳轉或觸摸操作跳轉。
可以根據您自己的應用程序來實現(xiàn)。
7.代碼實現(xiàn)按照上述說明,我們可以通過代碼實現(xiàn)它,只需在需要跳轉動作的地方調用以下函數即可。
請注意,ST官員提供的系統(tǒng)引導加載程序系統(tǒng)地址不正確。
AN2606中提供的地址不正確。
使用時請注意。
應使用以下地址。
在這里,我們指的是安富利的例子,謝謝。
8.使用STM32CubeProgrammer進行測試以完成測試。
測試步驟非常簡單。
打開STM32CubeProgrammer。
當應用程序中滿足跳轉條件并進入系統(tǒng)引導加載程序時,它將進入DFU。
單擊連接。
如果連接正確,則可以選擇要下載的文件并繼續(xù)。
下載成功后,將出現(xiàn)提示。
按照說明完成操作。
單擊“打開文件”,然后選擇要下載的文件,或者可以在菜單中選擇第二項以進入以下界面進行更新。
9.參考文件序列號文件1 STM32H743RM 2 AN2606:STM32微控制器系統(tǒng)存儲器啟動模式免責聲明:本文的內容經21ic授權后發(fā)布,版權歸原作者所有。
該平臺僅提供信息存儲服務。
本文僅代表作者的個人觀點,并不代表該平臺的立場。
如有任何疑問,請與我們聯(lián)系,謝謝!