視頻配套和程序匯總寫代碼都放在這里-mdk_第1頁
視頻配套和程序匯總寫代碼都放在這里-mdk_第2頁
視頻配套和程序匯總寫代碼都放在這里-mdk_第3頁
已閱讀5頁,還剩5頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

MDK的編譯過程及文件類型全解零死角玩轉(zhuǎn)STM32淘寶:論壇:掃描進入淘寶店鋪主講內(nèi)容01編譯過程03編譯工具鏈04MDK工程的文件類型02程序的組成、存儲與運行05實驗:自動分配變量到外部SDRAM06實驗:優(yōu)先使用內(nèi)部SRAM并分配堆到SDRAMMDK的編譯過程及文件類型全解

學(xué)習(xí)到這里,大家已經(jīng)非常熟練地使用MDK創(chuàng)建應(yīng)用程序了,平時使用MDK編寫源代碼,然后編譯生成機器碼,再把機器碼下載到STM32芯片上運行,但是這個編譯、下載的過程MDK究竟做了什么工作?它編譯后生成的各種文件又有什么作用?本章節(jié)將對這些過程進行講解,了解編譯及下載過程有助于理解芯片的工作原理,這些知識對制作IAP(bootloader)以及讀寫控制器內(nèi)部FLASH的應(yīng)用時非常重要。MDK的編譯過程及文件類型全解編譯過程編譯過程簡介

首先簡單了解下MDK的編譯過程,它與其它編譯器的工作過程是類似的,該過程圖例如下:MDK的編譯過程及文件類型全解編譯過程編譯過程主要流程如下:編譯:MDK軟件使用的編譯器是armcc和armasm,它們根據(jù)每個c/c++和匯編源文件編譯成對應(yīng)的以“.o”為后綴名的對象文件(ObjectCode,也稱目標文件),其內(nèi)容主要是從源文件編譯得到的機器碼,包含了代碼、數(shù)據(jù)以及調(diào)試使用的信息;鏈接:鏈接器armlink把各個.o文件及庫文件鏈接成一個映像文件“.axf”或“.elf”;格式轉(zhuǎn)換:一般來說Windows或Linux系統(tǒng)使用鏈接器直接生成可執(zhí)行映像文件elf后,內(nèi)核根據(jù)該文件的信息加載后,就可以運行程序了,但在單片機平臺上,需要把該文件的內(nèi)容加載到芯片上,所以還需要對鏈接器生成的elf映像文件利用格式轉(zhuǎn)換器fromelf轉(zhuǎn)換成“.bin”或“.hex”文件,交給下載器下載到芯片的FLASH或ROM中。MDK的編譯過程及文件類型全解具體工程中的編譯過程

下面打開“多彩流水燈”的工程,以它為例進行講解,其它工程的編譯過程也是一樣的,只是文件有差異。打開工程后,點擊MDK的“rebuild”按鈕,它會重新構(gòu)建整個工程,構(gòu)建的過程會在MDK下方的“BuildOutput”窗口輸出提示信息。MDK的編譯過程及文件類型全解具體工程中的編譯過程

構(gòu)建工程的提示輸出主要分6個部分,說明如下:提示信息的第一部分說明構(gòu)建過程調(diào)用的編譯器。圖中的編譯器名字是“V5.06(build20)”,后面附帶了該編譯器所在的文件夾。在電腦上打開該路徑,可看到該編譯器包含下圖中的各個編譯工具,如armar、armasm、armcc、armlink及fromelf,其中前面沒有提到的armar是用于把.o文件打包成lib文件的。使用armasm編譯匯編文件。圖中列出了編譯startup啟動文件時的提示,編譯后每個匯編源文件都對應(yīng)有一個獨立的.o文件。使用armcc編譯c/c++文件。圖中列出了工程中所有的c/c++文件的提示,同樣地,編譯后每個c/c++源文件都對應(yīng)有一個獨立的.o文件。MDK的編譯過程及文件類型全解具體工程中的編譯過程使用armlink鏈接對象文件,根據(jù)程序的調(diào)用把各個.o文件的內(nèi)容鏈接起來,最后生成程序的axf映像文件,并附帶程序各個域大小的說明,包括Code、RO-data、RW-data及ZI-data的大小。使用fromelf生成下載格式文件,它根據(jù)axf映像文件轉(zhuǎn)化成hex文件,并列出編譯過程出現(xiàn)的錯誤(Error)和警告(Warning)數(shù)量。最后一段提示給出了整個構(gòu)建過程消耗的時間。

構(gòu)建完成后,可在工程的“Output”及“Listing”目錄下找到由以上過程生成的各種文件,如下圖:MDK的編譯過程及文件類型全解可以看到,每個C源文件都對應(yīng)生成了.o、.d及.crf后綴的文件,還有一些額外的.dep、.hex、.axf、.htm、.lnp、

溫馨提示

  • 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)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論