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