2410init.s的分析

2410init.s的分析

ID:37706835

大?。?18.00 KB

頁數(shù):18頁

時(shí)間:2019-05-29

2410init.s的分析_第1頁
2410init.s的分析_第2頁
2410init.s的分析_第3頁
2410init.s的分析_第4頁
2410init.s的分析_第5頁
資源描述:

《2410init.s的分析》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。

1、;=========================================;NAME:2410INIT.S;DESC:Cstartupcodes;Configurememory,ISR,stacks;InitializeC-variables;HISTORY:;2002.02.25:kwtark:ver0.0;2002.03.20:purnnamu:AddsomefunctionsfortestingSTOP,POWER_OFFmode;2002.04.10:SJS:subinterruptdisable0x3f

2、f->0x7ff;2002.11.29:Kong:DCDBANKSIZEResiger0x32->0xb2(ARMcoreburstenable);=========================================;/************************************此頭文件的功能***********************************/;1.屏蔽所有中斷,關(guān)看門狗。;2.根據(jù)工作頻率設(shè)置PLL寄存器;3.初始化存儲(chǔ)控制相關(guān)寄存器;4.初始化各模式下的棧指針;5.設(shè)置缺省

3、中斷處理函數(shù);6.將數(shù)據(jù)段拷貝到RAM中,將零初始化數(shù)據(jù)段清零;7.跳轉(zhuǎn)到C語言Main入口函數(shù)中;由于注者水平有限,注解中難免有不正確或不恰當(dāng)?shù)牡胤?,歡迎指正。mail:walw_very@126.com;*****************************************************************************/本匯編語言程序包含option.inc,memcfg.inc,2410addr.inc,通常啟動(dòng)代碼是在2410init.s匯編文件;特殊功能寄存器定義在2410a

4、ddr.s;MemoryBank配置在mencfg.s;還有系統(tǒng)的選項(xiàng)等在option.s文件GEToption.inc;GETmemcfg.inc;此處GET相當(dāng)于C語言中的includeGET2410addr.inc;BIT_SELFREFRESHEQU(1<<22);ram的自刷新設(shè)置位,相當(dāng)于c里面#defineBIT_SELFREFRESH??(1<<22),就是第22位置1/*********************************************************************

5、*******CPSR中決定當(dāng)前CPU工作模式的末5位代碼ARM有7種模式,用戶模式,快速中斷模式,中斷模式,管理模式,中止模式,未定義模式和系統(tǒng)模式。系統(tǒng)堆棧的初始化主要是給各個(gè)處理器模式分配堆??臻g。堆棧是為中斷或程序跳轉(zhuǎn)服務(wù)的,當(dāng)發(fā)生中斷或程序跳轉(zhuǎn)時(shí),需要將當(dāng)前處理器的狀態(tài)及一些參數(shù)保持在堆棧中,當(dāng)中斷處理完畢以后或程序執(zhí)行完后返回時(shí),再將堆棧保存的現(xiàn)場(chǎng)數(shù)據(jù)進(jìn)行恢復(fù),以保證原來的程序正確運(yùn)行****************************************************************

6、**************/USERMODEEQU0x10;//用戶模式FIQMODEEQU0x11;//快速中斷模式IRQMODEEQU0x12;//外部中斷模式SVCMODEEQU0x13;//管理模式ABORTMODEEQU0x17;//中止模式UNDEFMODEEQU0x1b;//未定義的模式MODEMASKEQU0x1f;//中斷屏蔽?NOINTEQU0xc0;//沒有中斷?;ThelocationofstacksCPU在不同工作模式下對(duì)應(yīng)的堆棧區(qū)。;_STACK_BASEADDRESS是棧區(qū)基地址;_STAC

7、K_BASEADDRESS已經(jīng)在Option.s/Option.inc中定義,在這里的值為0x33ff8000UserStackEQU(_STACK_BASEADDRESS-0x3800);0x33ff4800~SVCStackEQU(_STACK_BASEADDRESS-0x2800);0x33ff5800~UndefStackEQU(_STACK_BASEADDRESS-0x2400);0x33ff5c00~AbortStackEQU(_STACK_BASEADDRESS-0x2000);0x33ff6000~IRQS

8、tackEQU(_STACK_BASEADDRESS-0x1000);0x33ff7000~FIQStackEQU(_STACK_BASEADDRESS-0x0);0x33ff8000~;/*********************************************************

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無此問題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。