|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機 | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計 | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
輕松入門開發(fā)ARM程序(為初學(xué)者寫的入門手冊)-13- |
| 作者:liuq 欄目:MCU技術(shù) |
① 啟動程序的功能 什么是啟動程序?它干什么用?其實在編寫8051的C語言程序時就有啟動程序,它完全是C編譯器生成的,很多人只是沒注意到罷了。例如,用戶如果在main( )之前定義了一個數(shù)據(jù)數(shù)組,而且還賦予每個元素以初值。那么這個賦初值的任務(wù)就是由啟動程序完成的。 下面讓我們深入查看本手冊例子中71x_init.s的內(nèi)容。 ; 程序狀態(tài)處理器模式域設(shè)置值,對應(yīng)于CPSR中的0-5位 Mode_USR DEFINE 0x10 ; 用戶模式 Mode_FIQ DEFINE 0x11 ; 快中斷模式 Mode_IRQ DEFINE 0x12 ; 中斷模式 Mode_SVC DEFINE 0x13 ; 管理模式 Mode_ABT DEFINE 0x17 ; 中止模式 Mode_UNDEF DEFINE 0x1B ; 未定義指令模式 Mode_SYS DEFINE 0x1F ; 系統(tǒng)模式 I_Bit DEFINE 0x80 ; I Bit置1時,,禁止 IRQ F_Bit DEFINE 0x40 ; F Bit置1時,禁止 FIQ EIC_Base_addr DEFINE 0xFFFFF800 ; EIC 基地址 ICR_off_addr DEFINE 0x00 ; Interrupt CONTROL register 偏移量 CIPR_off_addr DEFINE 0x08 ; Current Interrupt Priority Register偏移量 IVR_off_addr DEFINE 0x18 ; Interrupt Vector Register偏移量 FIR_off_addr DEFINE 0x1C ; FAST Interrupt Register偏移量 IER_off_addr DEFINE 0x20 ; Interrupt Enable Register偏移量 IPR_off_addr DEFINE 0x40 ; Interrupt Pending Bit Register偏移量 SIR0_off_addr DEFINE 0x60 ; Source Interrupt Register 0偏移量 EMI_Base_addr DEFINE 0x6C000000 ; EMI基地址 BCON0_off_addr DEFINE 0x00 ; Bank 0 configuration register偏移量 BCON1_off_addr DEFINE 0x04 ; Bank 1 configuration register偏移量 BCON2_off_addr DEFINE 0x08 ; Bank 2 configuration register偏移量 BCON3_off_addr DEFINE 0x0C ; Bank 3 configuration register偏移量 EMI_ENABLE DEFINE 0x8000 ; 允許EMI Bank ( Bit 15=1) EMI_SIZE_16 DEFINE 0x0001 ; 16位寬度設(shè)置值 (Bit 0=1) GPIO2_Base_addr DEFINE 0xE0005000 ; GPIO2 基地址 PC0_off_addr DEFINE 0x00 ; PORT Configuration Register 0 偏移量 PC1_off_addr DEFINE 0x04 ; PORT Configuration Register 1 偏移量 PC2_off_addr DEFINE 0x08 ; PORT Configuration Register 2 偏移量 PD_off_addr DEFINE 0x0C ; PORT Data Register 偏移量 CPM_Base_addr DEFINE 0xA0000040 ; CPM (MCLK Divide CONTROL Register ) 基地址 BOOTCR_off_addr DEFINE 0x10 ; CPM - Boot Configuration Register偏移量 FLASH_mask DEFINE 0x0000 ; to remap FLASH at 0x0 RAM_mask DEFINE 0x0002 ; to remap RAM at 0x0 ;|----------------------------------------------------------------------------------| ;| - APB BRIDGE (SYSTEM Peripheral) | ;|----------------------------------------------------------------------------------| APB1_base_addr DEFINE 0xC0000000 ; APB BRIDGE1基地址 APB2_base_addr DEFINE 0xE0000000 ; APB BRIDGE2基地址 CKDIS_off_addr DEFINE 0x10 ; APB BRIDGE1 - Clock Disable Register偏移量 SWRES_off_addr DEFINE 0x14 ; APB BRIDGE1 - SOFTWARE Reset Register偏移量 CKDIS1_config_all DEFINE 0x27FB ; To enable/disable clock of all APB1's peripherals SWRES1_config_all DEFINE 0x27FB ; To reset all APB1's peripherals CKDIS2_config_all DEFINE 0x7FDD ; To enable/disable clock of all APB2's peripherals SWRES2_config_all DEFINE 0x7FDD ; To reset all APB2's peripherals ;----------------------------------------- |
| 2樓: | >>參與討論 |
| 作者: gyt 于 2006/8/4 11:57:00 發(fā)布:
繼續(xù)追捧:) |
|
| 3樓: | >>參與討論 |
| 作者: christbd 于 2006/8/7 23:17:00 發(fā)布:
好 寫得好! |
|
|
|
| 免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號 |