2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩12頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、STM32STM32啟動代碼概述啟動代碼概述一般嵌入式開發(fā)開發(fā)流程就是先建立一個工程工程,再編寫源文件文件,然后進行編譯,把所有的.s文件和.c文件編譯成一個.o文件,再對目標文件進行鏈接和定位,編譯成功后會生成一個.hex文件和調(diào)試調(diào)試文件,接下來要進行調(diào)試,如果成功的話,就可以將它固化到flash里面去。啟動代碼代碼是用來初始化電路以及用來為高級語言寫的軟件軟件作好運行運行前準備的一小段匯編語言,是任何處理器上電復位復位時的程序程序

2、運行入口點。比如,剛上電的過程中,PC機會對系統(tǒng)系統(tǒng)的一個運行頻率頻率進行鎖定在一個固定的值,這個設(shè)計頻率的過程就是在匯編源代碼中進行的,也就是在啟動代碼中進行的。與此同時,設(shè)置設(shè)置完后,程序開始運行,注意,程序是在內(nèi)存中運行的。這個時候,就需要把一些源文件從flash里面copy到內(nèi)存中,又要對它們進行初始化讀寫,這又有頻率的設(shè)置。這些都是初始化。初始化完成后,我們又要設(shè)置一些堆棧,要跳到C語言的main函數(shù)里面運行。這就需要堆棧。對

3、普通的ARMCPU有這樣一個要求:在絕對地址為零的地方要放置一個異常向量表,但并不是所有的ARMCPU都留有這個一個空間,這就需要用到映射映射的功能功能。我們可以將其它地方的一些空間映射到絕對地址里面。當發(fā)生異常時,ARM核來讀取異常中斷表的時候,它會使用映射之后的那個表,這個就可以接著往下執(zhí)行,否則在絕對地址零的地方找不到任何信息,程序就會死掉。這些運行的環(huán)境全部建立好后,程序就會跳轉(zhuǎn)到我們的main函數(shù)里面??傊?,啟動代碼,就是對最

4、小系統(tǒng)的初始化。包括晶振,CPU頻率等。啟動代碼的最小系統(tǒng)是:異常向量表的初始化–存儲區(qū)分配–初始化堆棧–高級語言入口函數(shù)調(diào)用–main()函數(shù)。程序的啟動過程:單步運行后,馬上跳轉(zhuǎn)到初始化CPU的頻率。即初始化鎖相環(huán),將其鎖在一個固定的頻率。具體代碼如下:SetupPLLIFPLL_SETUP0LDRR0=PLL_BASEMOVR1#0xAAMOVR2#0x55ConfigureEnablePLLMOVR3#PLLCFG_ValSTR

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論