下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、STM32入門利用ST提供的USB例程實現(xiàn)USBIAP功厶匕冃能我們知道ST推出的Cortex-M3平臺STM32內(nèi)部有兩個Flash區(qū)域,一是SystemFlash,ST官方保留的一個區(qū)域,用于存放IAP代碼。該區(qū)域不對用戶開放,僅提供UART的通訊接口用于IAP升級;另一個區(qū)域是UserFlash,這一部分是供用戶自由使用的。STM32自帶USB2.0Device接口,如果需要通過USB接口來實現(xiàn)IAP功能需要如何做呢?這里介紹如何利用STSTM32xxUSBDevelopmentKit提供的DFU代碼來實現(xiàn)上述功能。我用STM3210EVB來演示這個功能。閱讀前請下下載下列代碼壓縮包和應(yīng)
2、用軟件:1、STM3210B-EVALdemonstrationsoftwarev1.1.zipSTM3210B-EVALdemonstrationsoftwarev1.1.zip(文件大小:2.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升級代碼實現(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部分的存放空間不會發(fā)生地址沖突。這里我們假設(shè)IAP存放在UserFlash的0 x080000000 x08003FFF區(qū)域,Applicationcode存放在UserFlash的0 x080040000 x0801FFFF區(qū)域。因為Applicationcode的開始地址是由0 x08004000開始,這樣我們需要為應(yīng)用代碼的中斷向量地址做一個重映射。因此我們修改該代碼為:/*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ū)域的存放空間和代碼運行是RAM可以提供的空間。/CodememoryinFLASH-DR0MSTART=0 x8000000-DR0MEND=0 x803FFFF/DatainRAM-D
7、RAMSTART=0 x20000000-DRAMEND=0 x20004FFF由于我們的目標應(yīng)用代碼將是在0 x08004000區(qū)域運行,因此我們修改為:/CodememoryinFLASH-DR0MSTART=0 x8004000-DROMEND=0 x801FFFF/DatainRAM-DRAMSTART=0 x20000000-DRAMEND=0 x20004FFF在編譯的時候請確保ProjectOptionsLinkerConfig標簽下的鏈接命令文件選擇的是上述Inkarm_flash.xcl文件;3、應(yīng)用部分改好,現(xiàn)在我們修改USB固件升級部分的代碼,打開STM32F10XxxU
8、SBdeveloperkit開發(fā)包。4、在開發(fā)包下面找到STM32F10 xUSBLibUSBLibdemosDevice_Firmware_Upgrade例程,該例程是一個在STM32F10 xx系列MCU上實現(xiàn)運行在UserFlash區(qū)域的IAP自升級代碼,通過STM32自身提供的USB接口實現(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)的。同樣這個代碼做如下更改:/*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)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 旅游業(yè)服務(wù)合同與信息管理措施
- 植物增長劑項目可行性研究報告
- 精密分切機行業(yè)行業(yè)發(fā)展趨勢及投資戰(zhàn)略研究分析報告
- 2025年木制相框項目可行性研究報告
- 四門中斗文件柜行業(yè)行業(yè)發(fā)展趨勢及投資戰(zhàn)略研究分析報告
- D-氨基丙醇行業(yè)行業(yè)發(fā)展趨勢及投資戰(zhàn)略研究分析報告
- 2025年度建筑工程款支付與綠色施工合同范本
- 2025年度辦公樓會議室裝修設(shè)計合同
- 2025年度企業(yè)集團印章授權(quán)及使用規(guī)范合同
- 2025年度大型基礎(chǔ)設(shè)施建設(shè)工程履約擔(dān)保合同
- 《聚焦客戶創(chuàng)造價值》課件
- 公安校園安全工作培訓(xùn)課件
- PTW-UNIDOS-E-放射劑量儀中文說明書
- 保險學(xué)(第五版)課件全套 魏華林 第0-18章 緒論、風(fēng)險與保險- 保險市場監(jiān)管、附章:社會保險
- 許小年:淺析日本失去的30年-兼評“資產(chǎn)負債表衰退”
- 典范英語2b課文電子書
- 17~18世紀意大利歌劇探析
- β內(nèi)酰胺類抗生素與合理用藥
- 何以中國:公元前2000年的中原圖景
- 第一章:公共政策理論模型
- GB/T 4513.7-2017不定形耐火材料第7部分:預(yù)制件的測定
評論
0/150
提交評論