|
* 針對(duì)于 Cortex-M0 的啟動(dòng)方式.
一. 單片機(jī)執(zhí)行主要任務(wù)之前主要需要:
(1). 初始化寄存器(R0~R15),取消屏蔽中斷
(2). 初始化RAM,主要是從ROM復(fù)制必要的初始數(shù)據(jù)和向量表到到RAM
(3). 初始化時(shí)鐘,主要是初始化PLL
二. 列舉幾種啟動(dòng)方式
(1). FRDMKL46(飛思卡爾官方)
a. 單片機(jī)上電或開始調(diào)試產(chǎn)生復(fù)位中斷(中斷向量號(hào)為1)
b. 到中斷處理程序,先初始化CPU寄存器,取消屏蔽中斷
c. 到start函數(shù),主要是初始化RAM,初始化時(shí)鐘,開始main函數(shù)
(2). TWRKL43(飛思卡爾官方)
a. 單片機(jī)上電或開始調(diào)試產(chǎn)生復(fù)位中斷(中斷向量號(hào)為1)
b. 到中斷處理程序,先初始化CPU寄存器,取消屏蔽中斷
c. 到start函數(shù),主要是初始化RAM,開始main函數(shù)
d. 初始化時(shí)鐘是放在main函數(shù)
(3). FRDMKL46(Micrium)
a. 單片機(jī)上電或開始調(diào)試產(chǎn)生復(fù)位中斷(中斷向量號(hào)為1)
b. 到中斷處理程序,關(guān)閉看門狗時(shí)鐘,運(yùn)行__iar_program_start函數(shù)
c. __iar_program_start是iar內(nèi)部的函數(shù),主要的功能是對(duì)CPU進(jìn)行初始化然后跳到mian函數(shù)
d. 其他事一些配置,如時(shí)鐘,放到main函數(shù)
(4). FRDMKL46(KSDK)
這個(gè)啟動(dòng)方式是在CMSIS啟動(dòng)標(biāo)準(zhǔn)下進(jìn)行的
a. 單片機(jī)上電或開始調(diào)試產(chǎn)生復(fù)位中斷(中斷向量號(hào)為1)
b.到中斷處理程序,初始化CPU寄存器
c.運(yùn)行SystemInit函數(shù),主要是初始化RAM
d. 運(yùn)行init_data_bss函數(shù),主要是初始化時(shí)鐘
e. 運(yùn)行__iar_program_start函數(shù),__iar_program_start是iar內(nèi)部的函數(shù),主要的功能是對(duì)CPU進(jìn)行初始化然后跳到mian函數(shù)
|
|