欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標(biāo)題:
通過串口USART實現(xiàn)STM32F10x的IAP在線升級
[打印本頁]
作者:
51黑er
時間:
2015-11-9 14:49
標(biāo)題:
通過串口USART實現(xiàn)STM32F10x的IAP在線升級
STM32F10x的IAP在線升級功能非常實用——不必拆開設(shè)備的外殼,然后通過JLINK或是其它工具燒錄程序。而是僅通過設(shè)備上的串口、USB或是CAN,即可完成程序的更新,實現(xiàn)固件升級。
整個過程用到兩個程序,一個
IAP程序
,它用來實現(xiàn)通過串口下載用戶程序。另一個就是
用戶應(yīng)用程序
了。
通過串口實現(xiàn)在線升級的原理如下:
1、首先通過JLINK或其它工具將IAP程序下載至STM32的FLASH中,其占據(jù)的地址空間為0x800 0000到0x8002fff,這段空間用來存放IAP程序,IAP代碼大小不能超過(0x800 2fff - 0x800 0000 =12K)。
2、打開“超級終端”,按照IAP程序里設(shè)置的參數(shù)(波特率、數(shù)據(jù)長度、校驗位等),對“超級終端”作相應(yīng)設(shè)置。
3、將設(shè)備斷電,按住設(shè)備上的某一開關(guān)或是按鍵(這個可以在IAP程序里自已定義,下文有敘述)。然后給設(shè)備上電,這時“超級終端”上會顯示操作界面,讓用戶選擇:1、給STM32下載新的用戶程序;2、將STM32內(nèi)現(xiàn)存的用戶程序上傳至電腦;3、運行新下載的用戶程序。出現(xiàn)這個界面后,就可以松開開關(guān)或是按鍵了。
4、通過電腦鍵盤上的“1”、“2”、“3”這幾個數(shù)字鍵選擇你想執(zhí)行的操作。若是希望下載,按下數(shù)字鍵“1”.接下來電腦屏幕上會彈出對話框,讓你選擇希望下載的二進制文件,以及傳輸協(xié)議,這個得選“Ymodem”協(xié)議。完成后按“確定”就開始下載了。
再來看一下兩個源程序里,用戶根據(jù)自己的需要可能得改動的地方。
an2557.zip
里面就是
IAP程序
。
這個程序里面,用戶可能要改動的就是IAP的觸發(fā)方式,即如何進入IAP來進行新的用戶程序的下載。該源程序里定義的是一個連接至PB9的按鍵,當(dāng)設(shè)備剛上電的時候,如果該按鍵按下,則進入IAP模式,否則跳至0x8003000運行用戶程序。如何觸發(fā)IAP,用戶可以根據(jù)自己的實際情況,自行定義。另外,這里面初始化了一個串口,即用來和PC通信的串口,波特率、數(shù)據(jù)長度、校驗位等,也是這里設(shè)置的。
再來看用
用戶應(yīng)用程序
里需要改動兩個的地方。
1、將中斷向量表映射至0x8003000處。在main函數(shù)里,待系統(tǒng)初始化后,可以通過這條語句即可實現(xiàn):
NVIC_SetVectorTable(0x08000000,0x00003000);
2、將用戶應(yīng)用程序的起始地址設(shè)置為0x8003000,在keil4中如下圖所示:
另外請注意,在線升級時只能選擇BIN格式的二進制文件,可以通過
H-JTAG
里面的Convert工具,將Keil編譯生成的HEX文件轉(zhuǎn)換成BIN文件。
以上就是通過串口實現(xiàn)STM32IAP在線升級的原理及過程。
若有不清楚的地方請看an2557:STM32F10x in-application programming using theUSART 這個PDF文檔,里面有詳細(xì)的說明。
an2557 ApplicationNote.pdf下載地址:
http://www.st.com/st-web-ui/static/active/en/resource/technical/document/application_note/CD00161640.pdf
an2557.zip下載地址:
(IAP源代碼)
http://www.st.com/st-web-ui/static/active/en/st_prod_software_internet/resource/technical/software/firmware/stsw-stm32008.zip
作者:
firekingr
時間:
2017-12-20 18:22
太感謝了!找了好久官方的!其他的都要這個幣那個幣!煩!
實測相當(dāng)好用!!
作者:
paxiucao
時間:
2018-1-18 09:23
找不到例程文件
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1