標(biāo)題: stm32f103串口BootLoader [打印本頁(yè)]

作者: wwJJJ    時(shí)間: 2018-12-14 12:45
標(biāo)題: stm32f103串口BootLoader
因?yàn)樵谡搲凸倬W(wǎng)都沒搜到完全合適的BootLoader,所以自己移植完成了一個(gè)BootLoader工程。另外附APP文件工程,可做實(shí)驗(yàn)。用良心保證,看完后可以做一個(gè)成功的實(shí)驗(yàn)。

上位機(jī)選用SecureCrt,單片機(jī)用的stm32f103vet6。

首先搞清楚BootLoader過程步驟,代碼可以再根據(jù)自己需要修改:

步驟一:初始化IO口,初始化uart串口,初始化定時(shí)器等等

步驟二:進(jìn)入BootLoader選擇界面,如果選擇1是燒寫程序,然后用上位機(jī)發(fā)送ymodem格式的bin文件。(bin文件就是應(yīng)用程序的編譯后的二進(jìn)制代碼),發(fā)送完成后,單片機(jī)已經(jīng)把它存進(jìn)flash中一塊區(qū)域,并跳轉(zhuǎn)運(yùn)行此區(qū)域。

步驟二:進(jìn)入BootLoader選擇界面,如果選擇2是直接跳轉(zhuǎn)到應(yīng)用程序區(qū)。

步驟二:進(jìn)入BootLoader選擇界面,如果不選擇,不做任何操作,3秒后直接跳轉(zhuǎn)到應(yīng)用程序區(qū)。

實(shí)際SecureCRT效果圖:

補(bǔ)充:bootloader占用整個(gè)flash的前0x000-0x3000空間,從flash的第0x3000空間開始存的是應(yīng)用程序。

BootLoader和app分別建立兩個(gè)工程,那么在app工程中需要修改中斷向量起始地址為0x3000,和keil的target的IROM1,然后編譯得到bin,怎么在keil得到bin?在user中fromelf.exe --bin -o "$L@L.bin" "#L"

我是這樣做的暫時(shí)沒有發(fā)現(xiàn)問題,編了幾個(gè)簡(jiǎn)單的APP程序(流水燈,外部中斷等)測(cè)試沒有問題。也請(qǐng)有興趣的朋友提出補(bǔ)充和糾正。



作者: shenme    時(shí)間: 2018-12-18 21:52
不錯(cuò)有用贊一個(gè)
作者: alpha820211    時(shí)間: 2019-7-24 19:49
但是有工程文件嗎
作者: alpha820211    時(shí)間: 2019-7-24 21:23
怎么看不到工程文件
作者: jianfeii    時(shí)間: 2019-10-15 13:49
很好用,就是需要這個(gè)bootloader贊一個(gè)~
作者: volan    時(shí)間: 2019-10-15 14:13
不錯(cuò)有用贊一個(gè)
作者: cjp88811283    時(shí)間: 2020-9-25 09:59
csdn搬運(yùn)工
作者: 耿曉峰    時(shí)間: 2023-6-10 20:34
贊一個(gè)  插眼




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1