日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]  我們先來(lái)看看程序映像?!   ⊥ǔ?,Cortex-M0處理器的程序映像時(shí)從地址0x00000000處開(kāi)始的?! 〕绦蛴诚耖_(kāi)始處時(shí)向量表,其中包含了異常的其實(shí)地址(向量),每個(gè)中斷向量的地址都等于“異常號(hào)*4”,比如,外

  我們先來(lái)看看程序映像。

  

  通常,Cortex-M0處理器的程序映像時(shí)從地址0x00000000處開(kāi)始的。

  程序映像開(kāi)始處時(shí)向量表,其中包含了異常的其實(shí)地址(向量),每個(gè)中斷向量的地址都等于“異常號(hào)*4”,比如,外部IRQ0的異常類型為16,因此其向量地址為16*4=0x40。這些向量的最低位都被置為1,以表示使用thumb指令。向量表的大小由實(shí)際使用的中斷個(gè)數(shù)決定。

  向量表中包含了MSP的初始值,它存儲(chǔ)在向量表的頭四個(gè)字節(jié)。

  復(fù)位時(shí),處理器首先讀取向量表的前兩個(gè)字(8個(gè)字節(jié)),第一個(gè)字為MSP的初始值,第二個(gè)字為復(fù)位向量,它表示程序執(zhí)行的起始地址。

  例如,如果啟動(dòng)代碼位于地址0x000000C0,需要在復(fù)位向量處寫(xiě)入這個(gè)地址,并且將地址的最低位置為1,以表明當(dāng)前為thumb代碼,因此,地址0x00000004處的值為0x000000C1。在取得復(fù)位向量值后,處理器開(kāi)始從這個(gè)地址處執(zhí)行程序代碼。

  復(fù)位流程也會(huì)初始化MSP,假設(shè)內(nèi)存位于0x20000000~0x20007FFF,可以將0x20008000寫(xiě)在地址0x00000000處,這樣就實(shí)現(xiàn)了把主棧指針置于內(nèi)存的頂部。

  如果要使用PSP,在配置CONTROL寄存器切換棧指針前,必須首先通過(guò)軟件代碼將其初始化,因?yàn)閺?fù)位流程只初始化MSP,不初始化PSP。

 


本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉