下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、如何在Keil下燒寫STM32的外部Flash (M29W128 )(東南大學自動化學院,? ? ? ? ? , 20111220 )準備燒寫算法IXKe訂單片機開發(fā)平臺是根據預先設定好的F lash燒寫算法將用戶程序燒到單片 機的Flash內部的,那么由于這個算法是固定的,我么往往不關心,所以我們對 其原理不是很r解,實際上,我們都知道耍將程序燒進去,需要在程選項中選 擇對應的單片機型號,如下圖所示。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這個過程就是準備Flash的燒寫算法,選中了某個單片機型號,就確定了其 使用的Flash特征(16bits? , sectorsize等),那么這些算法藏在什么地方呢。這止E 算法就藏在keil安裝的根冃錄下:XKeilARMlash冃下,該冃錄下有很多的文 件夾,每個文件夾里有對應的工程,每個工程都是某種型號單片機的Flash燒寫 算法,他們具體的內容不同,但是具有統一的接口,以便被keil調用。現在我們耍燒寫STM32的外部Nor Flash,所以我們耍新建一個算法,先
6、將其 中的一個STM32的文件夾拷肌 這樣町以出接修改算法,而其他的設置不變???貝完畢后,修改文件夾名字以便區(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;農中彩色不是是需耍根據試劑情況修改的,本例中Nor Flash在STM32F103的 地址映射中,其首地址是0x6400000
8、0,且Nor Flash為16位模式,大小位16M (字 節(jié)),Sector大小是128k«該算法將其命令為STM32M29W1280F Flash,以后在工 程選項中選擇它即可。2)修改FlashPrg.C文件在keil的Flash目錄下,有其它的16bit Flash燒寫算法例了,建議接將其 拷貝過來,大同小異,這電需要你對Flash的擦除,編程很熟悉,修改對應的命 令字即可,如果不熟悉,可以下載數據手冊,按照數據手冊上的命令字進行修改, 這里需耍注意兩點。Nor Flash是16位還是8位模式,一定要搞淸楚,尤其是在發(fā)送命令和寫數據 時。Nor Flash是掛在FSMC總線上的
9、,該算法耍有FSMC總線的初始化,且在初始 化函數里。即int Init (unsigned long adr, unsigned long elk, unsigned long fnc)base_adr 二 adr;FSMC_NOR_Init0;return (0);3)編譯工程由丁該工程是從別的地方拷貝過來的,需耍修改輸出文件名,將其命名為 STM32F10X128. FLM,如下圖。編譯工程后,會將該文件拷貝到Flash目錄下,這 樣一個新的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準備燒寫數據最好將要燒'與的數據單獨放在一個c文件里,不放也沒關系,只是n己要很淸楚哪 些文件的數據需要燒到Nor Flash里。例如,本例的將數據放在WEB.C中,編譯后數據放 在web. o里。燒寫數據1)選擇燒寫算法如上圖,燒寫算法共兩種一部分將程序燒到片內Flash, 一部分將數據燒到片外Flasho2)指定燒寫內容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文件。點擊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. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年耳機原材料供應商質量保證合同
- 2024馬鈴薯種植基地安全生產責任合同3篇
- 2024年股權激勵計劃書
- 2024年金融科技研發(fā)與創(chuàng)新服務合同
- 2024跨國企業(yè)廣告宣傳與推廣合同
- 2024年食品企業(yè)HACCP體系認證咨詢合同版B版
- 2024年航空公司客艙餐飲服務供應合同
- 2024輕質隔墻板行業(yè)規(guī)范制定與執(zhí)行監(jiān)督協議3篇
- 2024年藥品銷售與售后服務協議3篇
- 2024年適用餐飲行業(yè)購銷協議范例版B版
- 監(jiān)理安全安全通知書(春節(jié)假期)
- 啟明星辰天鏡網站安全監(jiān)測系統用戶手冊
- 《中外資產評估準則》課件第6章 英國評估準則
- 2022年湖南省長沙市中考數學試題及答案解析
- FZ∕T 63006-2019 松緊帶
- 罐區(qū)自動化系統總體方案(31頁)ppt課件
- 迅達電梯5400超詳細故障代碼中文版
- 招投標法考試試題及答案
- 皮帶輸送機工程施工電氣安裝措施要點
- 愛人情況登記表
- 水蓄冷與冰蓄冷地比較
評論
0/150
提交評論