STM8L自带bootloader使用教程(即使用Boot ROM升级)
筆者使用的單片機型號是:STM8L151C8T6,有64kFlash
本教程可能使用的文件下載地址:
官方固件及指導手冊:https://www.stmcu.com.cn/Index/search?search_keywords=UM0560
百度網盤鏈接:https://pan.baidu.com/s/1XyBWJIhHsuwWgwGNuHaULA? 提取碼:9rgk?
CSDN下載鏈接(提供官方源地址,可免費下載):https://download.csdn.net/download/aaricyang/11199903
?有讀者問軟件復位可不可以,答案是不行,軟件復位地址是0x8000,NRST引腳復位地址是0x6000。所以只能而且必須使用NRST引腳復位。
一、Boot ROM使用流程
1、確認芯片供電穩定(尤其重要,特別是通過NRST引腳復位瞬間);
2、修改Option Byte的“ROP”位為0xAA,BLCHECK1為0x55,[BLCHECK2為0xAA](根據單片機型號可選);
3、硬件復位(給NRST引腳一個下降沿);
4、通過Flash Loader Demo下載燒寫文件,即hex文件;
5、硬件復位。
二、 工具準備
?1、ST Visual Programmer(軟件?)
下載地址:https://www.st.com/zh/development-tools/stvp-stm32.html
作用:修改Option Byte的BLCHECK位
2、Flash loader demonstrator(軟件)
下載地址:
https://www.st.com/content/st_com/en/products/development-tools/software-development-tools/stm32-software-development-tools/stm32-programmers/flasher-stm32.html
作用:二進制文件燒寫
3、ST Link(硬件設備,需安裝驅動)
驅動下載地址:https://www.st.com/en/development-tools/stsw-link009.html
作用:配合STVP,修改Option Byte的BLCHECK位
4、UART--USB轉接板(硬件設備,需安裝驅動)
驅動下載地址:http://www.wch.cn/download/CH341SER_EXE.html
作用:配合Flash loader demonstrator,下載二進制文件
三、操作步驟
1、修改Option Byte
需了解,ROP位只能通過SWIM修改,且其默認值就是0xAA,正是我們所需要的值。
而BLCHECK位也可以通過代碼修改,代碼如下,筆者使用的STM8L151C8T6,BLCHECK位的地址是0x480B,讀者應根據自己的芯片類型修改。
FLASH_Unlock(FLASH_MemType_Data); //解鎖Flash
FLASH_ProgramOptionByte(0x480B, 0x55); //使能BootLoader,根據芯片類型修改地址
FLASH_Lock(FLASH_MemType_Data); //上鎖Flash
(1) 通過ST Link的SWIM口,連接電腦USB和開發板;
(2) 打開STVP,選擇芯片型號,在Option Byte頁面,修改ROP位和BLCHECK位,如下圖所示;
(3) 點擊下圖按鈕,將修改好的Option Byte下載到單片機中。
2、下載hex文件
2.1、把開發板通過 USB 線連接到電腦上;
2.2、打開“Flash_Loader_Demonstrator_v2.6.0_Setup”一鍵下載軟件,如下圖所示:
2.2.1、選擇 CH340?對應電腦分配的 COM 口號(我電腦是 COM18);
2.2.2、選擇合適的波特率:
在一定范圍內,波特率越高,下載速度越快;(筆者的測試結果是,波特率超過38400后,45kbytes的hex文件,下載時間穩定在30s左右;波特率超過128000后,通訊失敗)
2.2.3、配置通訊協議:
必須要如圖設置才可以;
? ? ? ? ? ? ?
2.3、以上參數設置好后,給NRST引腳一個復位信號后 1 秒內,單擊 進入以下界面:重要!!
?
2.4、選擇芯片類型
進 入 以 上 界 面 通 過,選 擇STM8L芯片對應的 FLash 大小,如果是 K4 則選擇 STM8L_16K;如果是 K6 則選擇 STM8L_32K,筆者用的是C8,所以選STM8L_64K。
?
2.5、直接單擊 “Next” 進入下一界面,如下圖所示:
?
2.6、下載程序
通過選擇要下載的 HEX 文件,最后單擊”Next”開始下載程序,等待下載完成。如下圖。
程序下載完成后,關閉軟件,再通過NRST引腳復位一下,程序開始運行。此時Option Byte的BLCHECK位會恢復成默認值0x00。?
總結
以上是生活随笔為你收集整理的STM8L自带bootloader使用教程(即使用Boot ROM升级)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 超实用的54套ASP网站设计源码
- 下一篇: H5实现点击获取金币小游戏以及大富翁