資料介紹
;先在RAM 中分配系統(tǒng)使用的棧,RAM 的起始地址為0x2000_0000
;然后在RAM 中分配變量使用的堆
;然后在CODE 區(qū)(flash)分配中斷向量表,flash 的起始地址為0x0800_0000,該中斷向量表就從這個(gè)起始地址開(kāi)始分配
;分配完成后,再定義和實(shí)現(xiàn)相應(yīng)的中斷函數(shù),
;所有的中斷函數(shù)全部帶有[weak]特性,即弱定義,如果編譯器發(fā)現(xiàn)在別處文件中定義了同名函數(shù),在鏈接時(shí)用別處的地址進(jìn)行鏈接。
;中斷函數(shù)僅僅實(shí)現(xiàn)了Reset_Handler,其他要么是死循環(huán),要么僅僅定義了函數(shù)名稱
;STM32 被設(shè)置為從內(nèi)部FLASH 啟動(dòng)時(shí)(這也是最常見(jiàn)的一種情況),當(dāng)STM32 遇到復(fù)位信號(hào)后,CPU-M3 會(huì)自動(dòng)
;從0x0800_0000 處取出棧頂?shù)刂反娣庞贛SP 寄存器,從0x0800_0004 處取出復(fù)位中斷服務(wù)入口地址放入PC 寄存器,
;繼而執(zhí)行復(fù)位中斷服務(wù)程序Reset_Handler,
;Reset_Handler 僅僅執(zhí)行了兩個(gè)函數(shù)調(diào)用,一個(gè)是SystemInit,另一個(gè)__main,
;SystemInit 定義在system_stm32f10x.c 中, 主要初始化了STM 的時(shí)鐘系統(tǒng):HSI,HSE,LSI,LSE,PLL,SYSCLK,USBCLK,APECLK 等等.
;__main 函數(shù)由編譯器生成,負(fù)責(zé)初始化棧、堆等,并在最后跳轉(zhuǎn)到用戶自定義的main()函數(shù),來(lái)到C 的世界。
Stack_Size EQU 0x00000400 ;//定義堆棧大小
AREA STACK, NOINIT, READWRITE, ALIGN=3 ;//定義一個(gè)數(shù)據(jù)段
按8 字節(jié)對(duì)齊;AREA 偽指令用于定義一個(gè)代碼段或數(shù)據(jù)段NOINIT:指定此數(shù)據(jù)段僅僅保留了內(nèi)存單元,而沒(méi)有將各初始值寫(xiě)入內(nèi)存單元,或者將各個(gè)內(nèi)存單元值初始化為0
Stack_Mem SPACE Stack_Size ;//保留Stack_Size 大小的堆??臻g來(lái)分配連續(xù)
Stack_Size 字節(jié)的存儲(chǔ)單元并初始化為0
__initial_sp ;//標(biāo)號(hào),代表堆棧頂部地址,后面有用, //此標(biāo)號(hào)有一層隱含的意思那就是在M3 中堆棧是滿遞減堆棧,
; //因?yàn)樗付硕褩V羔樜挥诙褩5母叩刂罚ㄔ?/Stack_Mem 之后)
; Heap Configuration
; Heap Size (in Bytes)
;
Heap_Size EQU 0x00000200 ;//定義堆空間大小
AREA HEAP, NOINIT, READWRITE, ALIGN=3 ;//定義一個(gè)數(shù)據(jù)段,
8 字節(jié)對(duì)齊
__heap_base ;//標(biāo)號(hào),代表堆末底部地址,后面有用
Heap_Mem SPACE Heap_Size ;//保留Heap_Size 的堆空間
__heap_limit ;//標(biāo)號(hào),代表堆界限地址,后面有用
;PRESERVE8 指令指定當(dāng)前文件保持堆棧八字節(jié)對(duì)齊。它設(shè)置PRES8 編譯屬性以通
知鏈接器。
;鏈接器檢查要求堆棧八字節(jié)對(duì)齊的任何代碼是否僅由保持堆棧八字節(jié)對(duì)齊的代碼直接
或間接地調(diào)用。
PRESERVE8 ;//指示編譯器8 字節(jié)對(duì)齊
THUMB ;//指示編譯器以后的指令為THUMB 指令
;中斷向量表定義, 在MDK 生成的分散加載文件中,RESET 被設(shè)置在flash 的0 地址處,這
樣就規(guī)定了向量表的地址。
; Vector Table Mapped to Address 0 at Reset
AREA RESET, DATA, READONLY ;//定義只讀數(shù)據(jù)段,其實(shí)放在
CODE 區(qū),位于0 地址
EXPORT __Vectors ;EXPORT:在程序中聲明一個(gè)全局的標(biāo)號(hào)__Vectors,該標(biāo)號(hào)可在其他的文件中引用
EXPORT __Vectors_End
EXPORT __Vectors_Size
__Vectors DCD __initial_sp ; Top of Stack ;給__initial_sp 分配
4 字節(jié)32 位的地址0x0
DCD Reset_Handler ; Reset Handler ; 給標(biāo)號(hào)Reset
Handler 分配地址為0x00000004
DCD NMI_Handler ; NMI Handler ; 給標(biāo)號(hào)NMI
Handler 分配地址0x00000008
DCD HardFault_Handler ; Hard Fault Handler
DCD MemManage_Handler ; MPU Fault Handler
DCD BusFault_Handler ; Bus Fault Handler
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- Cortex-M3技術(shù)參考手冊(cè)下載 8次下載
- Cortex-M3與Cortex-M4對(duì)比資料下載
- ARM cortex-M3 異常處理分析資料下載
- Cortex-M3和Cortex-M4 Fault異常應(yīng)用之基礎(chǔ)知識(shí)資料下載
- Cortex-M3的異常和中斷資料下載
- 《ARM Cortex-M3權(quán)威指南》筆記資料下載
- ARM Cortex-M3/M4微控制器最大效率設(shè)計(jì)三秘訣資料下載
- ARM Cortex-M3系列GPIO口介紹資料下載
- ARM Cortex-M3內(nèi)核微控制器與ARM7的區(qū)別資料下載
- Cortex-M3存儲(chǔ)器映射資料下載
- Cortex-M3寄存器組資料下載
- Cortex-M3 棧的8字節(jié)對(duì)齊資料下載
- Cortex-M3 NVIC與中斷控制資料下載
- 基于Cortex-M3的MP3播放器設(shè)計(jì)資料下載
- Cortex-M3技術(shù)參考手冊(cè)免費(fèi)下載 186次下載
- 強(qiáng)大的Arm? Cortex?-M3內(nèi)核(下) 1297次閱讀
- Cortex-M3中斷優(yōu)先級(jí)的相關(guān)知識(shí) 2797次閱讀
- 分析ARM Cortex-M內(nèi)核復(fù)位啟動(dòng)過(guò)程 2480次閱讀
- Cortex-M0中斷控制和系統(tǒng)控制知識(shí)點(diǎn) 3324次閱讀
- 美信cortex-m3內(nèi)核芯片的啟動(dòng)過(guò)程及連接文件介紹 1610次閱讀
- 基于FPGA搭建ARM Cortex-M3 SoC軟核 2634次閱讀
- 如何定制一顆ARM Cortex-M3 SoC軟核 2292次閱讀
- 新唐科技M031FB0AE控制器 2944次閱讀
- 新唐科技M031EB0AE控制器介紹 2065次閱讀
- 新唐科技M031LE3AE控制器介紹 3158次閱讀
- 新唐科技M031SE3AE控制器介紹 2176次閱讀
- 米爾科技ARM Cortex-M3教程指南 2873次閱讀
- 米爾科技NXP LPC1857 LPC1850 Cortex-M3開(kāi)發(fā)板概述 4399次閱讀
- Cortex-M3處理器中斷和FreeRTOS中斷優(yōu)先級(jí)配置 7139次閱讀
- DesignStart Cortex-M3軟件開(kāi)發(fā)網(wǎng)上課程 5863次閱讀
下載排行
本周
- 1電子電路原理第七版PDF電子教材免費(fèi)下載
- 0.00 MB | 1491次下載 | 免費(fèi)
- 2單片機(jī)典型實(shí)例介紹
- 18.19 MB | 95次下載 | 1 積分
- 3S7-200PLC編程實(shí)例詳細(xì)資料
- 1.17 MB | 27次下載 | 1 積分
- 4筆記本電腦主板的元件識(shí)別和講解說(shuō)明
- 4.28 MB | 18次下載 | 4 積分
- 5開(kāi)關(guān)電源原理及各功能電路詳解
- 0.38 MB | 11次下載 | 免費(fèi)
- 6100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 7基于單片機(jī)和 SG3525的程控開(kāi)關(guān)電源設(shè)計(jì)
- 0.23 MB | 4次下載 | 免費(fèi)
- 8基于AT89C2051/4051單片機(jī)編程器的實(shí)驗(yàn)
- 0.11 MB | 4次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費(fèi)
- 2PADS 9.0 2009最新版 -下載
- 0.00 MB | 66304次下載 | 免費(fèi)
- 3protel99下載protel99軟件下載(中文版)
- 0.00 MB | 51209次下載 | 免費(fèi)
- 4LabView 8.0 專業(yè)版下載 (3CD完整版)
- 0.00 MB | 51043次下載 | 免費(fèi)
- 5555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33562次下載 | 免費(fèi)
- 6接口電路圖大全
- 未知 | 30320次下載 | 免費(fèi)
- 7Multisim 10下載Multisim 10 中文版
- 0.00 MB | 28588次下載 | 免費(fèi)
- 8開(kāi)關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21539次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935053次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537793次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191183次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183277次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138039次下載 | 免費(fèi)
評(píng)論