下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、STM32入門利用ST提供的USB例程實(shí)現(xiàn)USBIAP功厶匕冃能我們知道ST推出的Cortex-M3平臺(tái)STM32內(nèi)部有兩個(gè)Flash區(qū)域,一是SystemFlash,ST官方保留的一個(gè)區(qū)域,用于存放IAP代碼。該區(qū)域不對用戶開放,僅提供UART的通訊接口用于IAP升級;另一個(gè)區(qū)域是UserFlash,這一部分是供用戶自由使用的。STM32自帶USB2.0Device接口,如果需要通過USB接口來實(shí)現(xiàn)IAP功能需要如何做呢?這里介紹如何利用STSTM32xxUSBDevelopmentKit提供的DFU代碼來實(shí)現(xiàn)上述功能。我用STM3210EVB來演示這個(gè)功能。閱讀前請下下載下列代碼壓縮包和應(yīng)
2、用軟件:1、STM3210B-EVALdemonstrationsoftwarev1.1.zipSTM3210B-EVALdemonstrationsoftwarev1.1.zip(文件大?。?.15M)ST官方的下載路徑:HYPERLINK /sto/stonline/products/support/micro/files/um0435.zip2、STM32F10 xxxUSBdeveloperkitv1.0.zipSTM32F10 xxxUSBdeveloperkitv1.0.zip(文件大小:461K)ST官方的下載路徑:HYPERLINK /sto/stonline/products
3、/support/micro/files/um0424.zip3、DfuSeUSBDeviceFirmwareUpgradev2.2.zipDfuSeUSBDeviceFirmwareUpgradev2.2.zip(文件大小:7.85M)ST官方的下載路徑:HYPERLINK /st/stonline/products/support/micro/files/um0412.zip上述文檔對于的用戶參考手冊,請自行到STMCU網(wǎng)站下載。HYPERLINK http:/www.st.eom/mcu/familiesdocs-110.html%23Applicatihttp:/www.st.eom/
4、mcu/familiesdocs-110.html#Application%20Note下列步驟將介紹如何通過ST官方的USB升級代碼實(shí)現(xiàn)程序的下載更新的功能(IAP)。1、打開STM3210B-EVALdemonstrationsoftware壓縮包,在STM3210B-EVALdemonstrationsoftwareDemosource下打開main.c文件,找至UvoidInterruptConfig(void)函數(shù)/*SettheVectorTablebaseaddressat0 x08000000*/NVIC_SetVectorTable(NVIC_VectTab_FLASH,0
5、x00);這里我們需要修改代碼的中斷矢量起始地址,這樣做的目的是為了處理IAP代碼在Flash存放的區(qū)域與ApplicationCode部分的存放空間不會(huì)發(fā)生地址沖突。這里我們假設(shè)IAP存放在UserFlash的0 x080000000 x08003FFF區(qū)域,Applicationcode存放在UserFlash的0 x080040000 x0801FFFF區(qū)域。因?yàn)锳pplicationcode的開始地址是由0 x08004000開始,這樣我們需要為應(yīng)用代碼的中斷向量地址做一個(gè)重映射。因此我們修改該代碼為:/*SettheVectorTablebaseaddressat0 x0800400
6、0*/NVIC_SetVectorTable(NVIC_VectTab_FLASH,0 x4000);請注意這里NVIC_SetVectorTable函數(shù)的型參送入的是相對偏移地址,而不是絕對地址;2、在STM3210B-EVALdemonstrationsoftwareDemoprojectEWARM下找到lnkarm_flash.xcl文件,在XCL文件中找到下面的配置,該配置用于定制應(yīng)用代碼在Flash區(qū)域的存放空間和代碼運(yùn)行是RAM可以提供的空間。/CodememoryinFLASH-DR0MSTART=0 x8000000-DR0MEND=0 x803FFFF/DatainRAM-D
7、RAMSTART=0 x20000000-DRAMEND=0 x20004FFF由于我們的目標(biāo)應(yīng)用代碼將是在0 x08004000區(qū)域運(yùn)行,因此我們修改為:/CodememoryinFLASH-DR0MSTART=0 x8004000-DROMEND=0 x801FFFF/DatainRAM-DRAMSTART=0 x20000000-DRAMEND=0 x20004FFF在編譯的時(shí)候請確保ProjectOptionsLinkerConfig標(biāo)簽下的鏈接命令文件選擇的是上述Inkarm_flash.xcl文件;3、應(yīng)用部分改好,現(xiàn)在我們修改USB固件升級部分的代碼,打開STM32F10XxxU
8、SBdeveloperkit開發(fā)包。4、在開發(fā)包下面找到STM32F10 xUSBLibUSBLibdemosDevice_Firmware_Upgrade例程,該例程是一個(gè)在STM32F10 xx系列MCU上實(shí)現(xiàn)運(yùn)行在UserFlash區(qū)域的IAP自升級代碼,通過STM32自身提供的USB接口實(shí)現(xiàn)。在STM32F10 xUSBLibUSBLibdemosDevice_Firmware_Upgradesource路徑下找到main.c文件,在56行:if(DFU_Button_Read()!=0 x00)/*Testifusercodeisprogrammedstartingfromaddre
9、ss0 x8003000*/if(*(vu32*)0 x8003000)&0 x2FFF0000)=0 x20000000)/*Jumptouserapplication*/JumpAddress=*(vu32*)(ApplicationAddress+4);Jump_To_Application=(pFunction)JumpAddress;/*InitializeuserapplicationsStackPointer*/_MSR_MSP(*(vu32*)ApplicationAddress);Jump_To_Application();/*OtherwiseentersDFUmodetoallowusertoprogramhisapplication*/這段代碼的功能是對應(yīng)用部分的代碼開始地址做判斷,這里的地址與我們之前的步驟1、2都是對應(yīng)的。同樣這個(gè)代碼做如下更改:/*Testifusercodeisprogrammedstartingfromaddress0 x8004000*/if(*(vu32*)0 x8004000)&0 x2FFF0000)=0 x20000000)5、hw_config.h中定義:#defineApplicationAddress0 x080
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 8 沏茶問題(說課稿)-2024-2025學(xué)年四年級上冊數(shù)學(xué)人教版001
- Unit 8 I can do this for you?(說課稿)-2024-2025學(xué)年譯林版(三起)(2024)英語三年級上冊
- Review Module Unit 1(說課稿)-2023-2024學(xué)年外研版(三起)英語五年級下冊
- 2024-2025學(xué)年新教材高中生物 第5章 基因突變及其他變異 微專題六 遺傳變異相關(guān)的解題方法說課稿 新人教版必修第二冊
- 2025合同樣例舞臺(tái)燈光音響租賃合同范本
- 2024春八年級語文下冊 第1單元 2回延安說課稿 新人教版
- 5草船借箭說課稿-2023-2024學(xué)年五年級下冊語文統(tǒng)編版
- Unit1 Making friends(說課稿)-2024-2025學(xué)年人教PEP版(2024)英語三年級上冊
- 2024-2025學(xué)年高中化學(xué) 第一章 物質(zhì)結(jié)構(gòu)元素周期律 第一節(jié) 元素周期表第3課時(shí)說課稿3 新人教版必修2
- 陽光板雨棚施工方案
- 云南省曲靖市羅平縣2024-2025學(xué)年高二上學(xué)期期末地理試題( 含答案)
- 中國糖尿病防治指南(2024版)要點(diǎn)解讀
- Unit 1 Nice boys and girls【知識(shí)精研】-一年級英語下學(xué)期(人教PEP版一起)
- 《口腔科學(xué)緒論》課件
- 2024年高考數(shù)學(xué)(理)試卷(全國甲卷)(空白卷)
- 2024版CSCO胰腺癌診療指南解讀課件
- 《應(yīng)急管理行政執(zhí)法人員依法履職管理規(guī)定》知識(shí)培訓(xùn)
- 《醫(yī)療機(jī)構(gòu)環(huán)境表面清潔與消毒管理規(guī)范》-華西醫(yī)院案例
- 2024年黑龍江農(nóng)業(yè)工程職業(yè)學(xué)院單招職業(yè)適應(yīng)性測試題庫
- 合同簽訂執(zhí)行風(fēng)險(xiǎn)管控培訓(xùn)
- DB43-T 3022-2024黃柏栽培技術(shù)規(guī)程
評論
0/150
提交評論