下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、如何在Keil下燒寫STM32的外部Flash (M29W128 )(東南大學(xué)自動(dòng)化學(xué)院,? ? ? ? ? , 20111220 )準(zhǔn)備燒寫算法IXKe訂單片機(jī)開發(fā)平臺(tái)是根據(jù)預(yù)先設(shè)定好的F lash燒寫算法將用戶程序燒到單片 機(jī)的Flash內(nèi)部的,那么由于這個(gè)算法是固定的,我么往往不關(guān)心,所以我們對(duì) 其原理不是很r解,實(shí)際上,我們都知道耍將程序燒進(jìn)去,需要在程選項(xiàng)中選 擇對(duì)應(yīng)的單片機(jī)型號(hào),如下圖所示。Options for Target STM32F10x 512vDevice | Target Output | Listing | User | C O+ | Asm | Lirker De
2、bug | utilitiesCortexM Target Driver SetupRAM faAlaocthmDebug | Tiv<p Flash DownloadProcrammmg AlgaithmDttaiptbnI n“;“G” A J JQDoinlomd rurction-LORD Erase Full Chip & Prngrcm Erase Sectors 7 VeiifyDo not Erase RfttandRimSat |(h20000000 Size: SS00Add Flash Programming AlgorithmDesertionJeice
3、lypeDevce Size | 八NUCIxx 4kB Rash DataOn-chip Flash4kNUC1xx4k8 Hash LUUnship 卜 lash4kRC28Fb4UJ3x Dual FlashExt. Flash 32 btlbMS29JL032H BOT FlashExt. Fldi 16-bi4MG29JL032H TOP FishExt. Flaoh 16 bt4MSTM32M29W1280F FhchExt. Flach 16 bt1GMSTM22F18 XL&n"y Fl砒hOxhip Fh«hIMSTM32F10k Med-ders
4、itv FlashOn-ohip Flash128k1STM32F10k Low-density Fla;hOn-chip Flash16kSTM32F1 Ok Hghnsity FlashOn-chip Flash512kSTM32F1 Ok Correctvity Lin.On-chip Flash256ksrMJZHUx MAP64SH Ha .txt.Fla$hSPItSMM29DW1280F FlashExt. Flash 16-bt16MSTM32F10k Hash OptionsOn-diip Flesh16TMFMSOrW” 12OkD FlhOn Jiip Fhsh12
5、87;.TMFM33OFYx25Gk8 FlachOn<hip Flash25Q.STM32FlCxNCCancel這個(gè)過程就是準(zhǔn)備Flash的燒寫算法,選中了某個(gè)單片機(jī)型號(hào),就確定了其 使用的Flash特征(16bits? , sectorsize等),那么這些算法藏在什么地方呢。這止E 算法就藏在keil安裝的根冃錄下:XKeilARMlash冃下,該冃錄下有很多的文 件夾,每個(gè)文件夾里有對(duì)應(yīng)的工程,每個(gè)工程都是某種型號(hào)單片機(jī)的Flash燒寫 算法,他們具體的內(nèi)容不同,但是具有統(tǒng)一的接口,以便被keil調(diào)用?,F(xiàn)在我們耍燒寫STM32的外部Nor Flash,所以我們耍新建一個(gè)算法,先
6、將其 中的一個(gè)STM32的文件夾拷肌 這樣町以出接修改算法,而其他的設(shè)置不變???貝完畢后,修改文件夾名字以便區(qū)別,然后打開工程,修改程序。1)修改FlasliDev.C文件stmet FlashDevice const FlasliDevice =FLASH_DRJTRS,/ Driver Version, do not modify!"STM32M29W1280F Flash",/ Device NameEXT16BIT,/ Device Type0x64000000,/ Device Start Address0x01000000,/ Device Size ill
7、Bytes (16MB)1024,/ Prograniniing Page Size0,/ Reserved、must be 0OxFF,/ Initial Content of Erased Memoiy100,/ Program Page Timeout 100 mSec3000,/ Erase Sector Timeout 3000 mSec0x20000. 0x000000,/ Sector Size 128kB (128 Sectors)SECTOR_END;農(nóng)中彩色不是是需耍根據(jù)試劑情況修改的,本例中Nor Flash在STM32F103的 地址映射中,其首地址是0x6400000
8、0,且Nor Flash為16位模式,大小位16M (字 節(jié)),Sector大小是128k«該算法將其命令為STM32M29W1280F Flash,以后在工 程選項(xiàng)中選擇它即可。2)修改FlashPrg.C文件在keil的Flash目錄下,有其它的16bit Flash燒寫算法例了,建議接將其 拷貝過來(lái),大同小異,這電需要你對(duì)Flash的擦除,編程很熟悉,修改對(duì)應(yīng)的命 令字即可,如果不熟悉,可以下載數(shù)據(jù)手冊(cè),按照數(shù)據(jù)手冊(cè)上的命令字進(jìn)行修改, 這里需耍注意兩點(diǎn)。Nor Flash是16位還是8位模式,一定要搞淸楚,尤其是在發(fā)送命令和寫數(shù)據(jù) 時(shí)。Nor Flash是掛在FSMC總線上的
9、,該算法耍有FSMC總線的初始化,且在初始 化函數(shù)里。即int Init (unsigned long adr, unsigned long elk, unsigned long fnc)base_adr 二 adr;FSMC_NOR_Init0;return (0);3)編譯工程由丁該工程是從別的地方拷貝過來(lái)的,需耍修改輸出文件名,將其命名為 STM32F10X128. FLM,如下圖。編譯工程后,會(huì)將該文件拷貝到Flash目錄下,這 樣一個(gè)新的Flash燒寫算法誕生了。Options for Target STM32F10x 5121Device Target | Output | Lis
10、ting User | C/C+ | Asm | Linker | Debug | Utilities |Hun User Progami Betore lompilation of a C/C*-+hie 廠 Run tt1:r Runtt2:廠 DOS16r DO515廠 R 4H tt1 :廠 Runtt2:廠 DOS16r DOS16Run User Prgam* fter Buld/Febuid7 Run tt1:ndexe/C 8pySM32F1C<512曲 $TM32F1O>N3R12£FLM廠 RunttZ:P Dccp When Complete廠 Sb
11、rtDctuggng廠 DO516廠 DO516Defaults準(zhǔn)備燒寫數(shù)據(jù)最好將要燒'與的數(shù)據(jù)單獨(dú)放在一個(gè)c文件里,不放也沒關(guān)系,只是n己要很淸楚哪 些文件的數(shù)據(jù)需要燒到Nor Flash里。例如,本例的將數(shù)據(jù)放在WEB.C中,編譯后數(shù)據(jù)放 在web. o里。燒寫數(shù)據(jù)1)選擇燒寫算法如上圖,燒寫算法共兩種一部分將程序燒到片內(nèi)Flash, 一部分將數(shù)據(jù)燒到片外Flasho2)指定燒寫內(nèi)容Options for Target RT Thread STM32f區(qū)Device Target Outpir | Listing User | C/C+ | Asm Linker | Debug U
12、tilitiesR/0 E ase |0<08000000R/W Ea$e |0<20000000dijabfe Warrings:I U$e Memoy Layout from I arget Dialog 廠 MaK© RW Sectiont Positiofdndependent 廠 Ma<e RO Sectons Position Independent 廠 Don't Search Stan card Libraries V R :>oNJaiT Condtionc AtErrcrtScatterFilepobfxruFfcad-5ln32.
13、5ctEdit.MisccortrolsLinker -epu Cortex-M2 * o -librarji_lip=microlib -bict" :birthcad-?tm22 ct1'入contro -autoat -sunmarystden -irro $ummary$ize$ -map -xref -cdlgreph -syrrbokstring£OK m:elDefaultsHelp如上圖,選擇使用Scatter文件。點(diǎn)擊Edit.做如下修改,增加彩色部分,即將web. c文件燒到外部FlashoLR_IROM1 0x08000000 0x00080000; load region size_regionER_IR0Ml 0x08000000 0x00080000; load address = execution address*. o (RESET, +First)*(InRootS$Sections).ANY (+R0)RW_IRAM1 0x20000000 0x00010000; RW data.ANY (+RW +ZI)LR_IR0M2 0x61000000 0x000
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024至2030年八福小和尚工藝品項(xiàng)目投資價(jià)值分析報(bào)告
- 2024年風(fēng)味辣子雞項(xiàng)目可行性研究報(bào)告
- 2024年海綿防震墊項(xiàng)目可行性研究報(bào)告
- 2024年刻花輪項(xiàng)目可行性研究報(bào)告
- 一年級(jí)數(shù)學(xué)計(jì)算題專項(xiàng)練習(xí)1000題集錦
- 二年級(jí)數(shù)學(xué)計(jì)算題專項(xiàng)練習(xí)
- 八個(gè)一活動(dòng)的心得體會(huì)(5篇)
- 范文愛崗敬業(yè)演講稿范文集合十篇
- 林業(yè)工作總結(jié)
- 計(jì)件工資制度
- 2021年新《建設(shè)工程施工合同司法解釋(一)》逐條解讀-3
- 青島版小學(xué)數(shù)學(xué)【三位數(shù)乘兩位數(shù)的筆算】教案
- 三國(guó)群英傳2-所有武將屬性
- 30萬(wàn)噸年丙烷脫氫制丙烯生產(chǎn)項(xiàng)目課件
- 辦公大廈發(fā)單催款程序
- 干細(xì)胞招商話術(shù)-PPT幻燈片
- 銀行新核心系統(tǒng)賬務(wù)處理流程介紹課件
- 公園綠化養(yǎng)護(hù)服務(wù)投標(biāo)方案
- 北京化工大學(xué)PPT模板1
- 車隊(duì)安全教育培訓(xùn)內(nèi)容
- 社會(huì)調(diào)查方法-測(cè)量與操作化教學(xué)課件
評(píng)論
0/150
提交評(píng)論