之前也提到的過,區區乙個簡單的中斷實驗竟然讓我大動干戈,費了n久才搞定。現在把具體實驗寫寫吧。
先把**貼出來吧:
#include
#include "inc/44b.h"
#include "inc/option.h"
#include "inc/def.h"
#include "eint.h"
void __irq eint4567isr(void);
volatile char which_int=0;
void test_eint(void)
switch(which_int)
}void __irq eint4567isr(void)
實驗執行起來以後,本來當某個按鍵按下來以後,會進入中斷處理程式eint4567isr。可惜無論我怎麼按,就是不會進入eint4567isr。後來經過n次實驗與查詢資料,終於發現在呼叫test_eint()之前,一定要做如下工作:
for(i=_ram_startaddress;i<(_ram_startaddress+0x20);i+=4)
44B0的向量中斷
44b0 的向量中斷響應過程是中斷發生後晶元會自動跳轉到 0x00000018 處執行指令 entry b resethandler 0x00 b handlerundef 0x04 b handlerswi 0x08 b handlerpabort 0x0c b handlerdabort 0x1...
44b0學習日記
對44b0的學習,正在如火如荼的進行中。下面說說我今天的進步吧 1 將boatloader編譯成功 2 將編成的u boot.bin下到ram中執行 3 將編成的u boot.bin燒到了flash中 位址為0x0000 方法是先從pc上通過串列埠loadb到記憶體中,再cp到flash中。4 將測...
關於44b0的中斷呼叫的問題
關於44b0的中斷呼叫的問題 下面的 因為44b0中的各個中斷型別相似的,所以只是以timer為例。在init.s中有這樣的 首先是乙個巨集的定義 macro handlerlabel handler handlelabel handlerlabel sub sp,sp,4 decrement sp...