|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測(cè)控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動(dòng)編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
關(guān)于ARM復(fù)位處理流程 |
| 作者:soc_1981 欄目:ARM技術(shù) |
芯片被復(fù)位后,處理器和外設(shè)寄存器都恢復(fù)為默認(rèn)狀態(tài)。程序計(jì)數(shù)器(PC)值為0,即CPU復(fù)位后運(yùn)行的第一條代碼位于0x00000000處。此時(shí)位于該地址的程序并不位于片內(nèi)FLASH,而是來(lái)自Boot Block的異常向量表的重新映射。通過(guò)異常向量表的復(fù)位異常入口,程序跳轉(zhuǎn)至Boot Block中執(zhí)行Boot程序。 以上的這段話,有些不明白.在程序中0X00000000處的代碼是: LDR PC, ResetAddr 另外文字池中: ResetAddr DCD ResetInit 而: ResetInit /*該地址不是異常向量表的復(fù)位異常入口,對(duì)嗎?那為啥會(huì) 程序跳轉(zhuǎn)至Boot Block中執(zhí)行Boot程序,請(qǐng)周工給與指導(dǎo), 謝謝!*/ ;Initial the extenal bus controller ;初始化外部總線控制器,根據(jù)目標(biāo)板決定配置 LDR R0, =PINSEL2 IF :DEF: EN_CRP LDR R1, =0x0f814910 ELSE LDR R1, =0x0f814914 ENDIF STR R1, [R0] LDR R0, =BCFG0 LDR R1, =0x1000ffef STR R1, [R0] LDR R0, =BCFG1 LDR R1, =0x1000ffef STR R1, [R0] ; LDR R0, =BCFG2 ; LDR R1, =0x2000ffef ; STR R1, [R0] ; LDR R0, =BCFG3 ; LDR R1, =0x2000ffef ; STR R1, [R0] BL InitStack ; Initialize the stack 初始化堆棧 BL TargetResetInit ; Initialize the target board 目標(biāo)板基本初始化 ; Jump to the entry point of C program 跳轉(zhuǎn)到c語(yǔ)言入口 B __main |
| 2樓: | >>參與討論 |
| 作者: yyccaa 于 2006/1/18 10:01:00 發(fā)布:
boot 意思是說(shuō)根據(jù)Lpc的boot引腳復(fù)位后的高低電平,決定了地址0x0開始的、中斷向量表長(zhǎng)度(32個(gè)字節(jié))的這個(gè)范圍,是從外部FLASH的最低地址開始的32個(gè)字節(jié)映射過(guò)來(lái),還是從外部ram的最低地址開始的32個(gè)字節(jié)映射過(guò)來(lái)。 不知道解釋得正確不。 * - 本貼最后修改時(shí)間:2006-1-18 10:15:29 修改者:yyccaa |
|
| 3樓: | >>參與討論 |
| 作者: ARM123 于 2006/1/24 17:28:00 發(fā)布:
頂 頂一下,還有說(shuō)的更清楚的嗎? |
|
| 4樓: | >>參與討論 |
| 作者: xiao李 于 2006/1/25 20:46:00 發(fā)布:
我是這樣理解的 就是啟動(dòng)時(shí)會(huì)有個(gè)條件判斷,是先執(zhí)行BOOT BLOCK,如果判斷沒(méi)有ISP條件時(shí)和判斷用戶代碼有效,就在執(zhí)行0X000000000處的用戶代碼,否則執(zhí)行BOOT BLOCK的出廠原始代碼!BOOT BLOCK 代碼是通過(guò)映射過(guò)來(lái)的,也就是說(shuō)并不是把BOOT BLOCK 的代碼復(fù)制過(guò)來(lái)的,只是一個(gè)尋址方式的不同,也就是當(dāng)有映射時(shí),系統(tǒng)會(huì)執(zhí)行的位置為:一個(gè)應(yīng)該的偏移+0X00000000;即會(huì)跳轉(zhuǎn)到一個(gè)新的地址上去執(zhí)行! |
|
|
|
| 免費(fèi)注冊(cè)為維庫(kù)電子開發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號(hào) |