|
今天已經(jīng)是進(jìn)入ARM學(xué)習(xí)的第四講,我們也結(jié)束了中斷寄存器的學(xué)習(xí),進(jìn)入看門狗部分學(xué)習(xí)
1.中斷產(chǎn)生:①按鍵②外部電平③定時(shí)器,ADC,LCD④系統(tǒng)軟中斷
2.中斷處理流程:
①中斷控制器匯集各類外設(shè)發(fā)出的中斷信號(hào)
②CPU保存當(dāng)前程序運(yùn)行的環(huán)境,調(diào)用中斷服務(wù)程序ISR來(lái)處理中斷
③在ISR中識(shí)別哪類中斷
④清除中斷
3.中斷服務(wù)子程序原則
①程序盡量短
②中斷無(wú)入?yún)⒁矡o(wú)返回值
③實(shí)現(xiàn)信號(hào)的全局變量
4.流水線的誤差需要修正返回地址
5.分散加載
當(dāng)嵌入式系統(tǒng)在仿真環(huán)境下調(diào)試完畢,脫機(jī)運(yùn)行時(shí),要將源程序編譯連接成可執(zhí)行代碼燒寫到ROM中,CPU取指令,數(shù)據(jù)都要調(diào)用ROM,其間得加入等待周期來(lái)降低總線速率用以滿足訪問(wèn)慢速ROM
6.分散加載注意點(diǎn)
①每個(gè)分散加載文件必須包含一個(gè)根區(qū),每個(gè)根區(qū)加載地址等于運(yùn)行地址
②每個(gè)引導(dǎo)區(qū)至少包含一個(gè)執(zhí)行區(qū),每個(gè)執(zhí)行區(qū)必須包含多個(gè)代碼段或數(shù)據(jù)段,一個(gè)引導(dǎo)區(qū)可以包含多個(gè)執(zhí)行區(qū),但每個(gè)執(zhí)行區(qū)只屬于一個(gè)引導(dǎo)區(qū)
7.看門狗定時(shí)器工作原理
在看門狗定時(shí)器內(nèi)部存在一個(gè)遞減計(jì)數(shù)器,當(dāng)計(jì)數(shù)器為0時(shí),便會(huì)自動(dòng)重啟控制器,但在其計(jì)數(shù)器遞減至0前,將其遞減計(jì)數(shù)器重新設(shè)置一下,那么就不會(huì)執(zhí)行重啟操作
8.時(shí)間計(jì)算
t_watchdog=1/[PCLK(50M)/(Prescaler+1)/Division_factor] |
|