新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > mini2440按鍵中斷控制led燈遇到的問題

mini2440按鍵中斷控制led燈遇到的問題

作者: 時間:2016-11-20 來源:網(wǎng)絡(luò) 收藏
平臺: xp系統(tǒng),ARM mini2440

程序名:按鍵中斷控制led燈主要學(xué)習(xí)內(nèi)容,S3C2440外部中斷

本文引用地址:http://butianyuan.cn/article/201611/318686.htm

遇到問題

1. 超級終端下載程序時按下d后又跳回到下載界面,沒有等待我下載程序、解決辦法:這應(yīng)該是自己的大意,按下d的時候把鍵盤上大寫控制鎖住了,超級終端只能輸入小寫命令,注意細節(jié)。

2. 酓ummy_isr error, interrupt number: 5, INTMSK = 0xffffffdf。下載程序后超級終端顯示這句話,網(wǎng)上找了很久沒找到很好的解決辦法,不過看到有人說好像是MMU沒有初始化。解決辦法,初始化MMU,調(diào)用一個MMU_Init()函數(shù)就好了,這個函數(shù)的定義在MMU.c中,開始我沒有添加MMU.c文件編譯鏈接是總是報錯。

寫在后面,源程序就不貼了,還有很多要改進的,剛剛開始,只是一個雛形而已,嘿嘿,不過解決問題后也挺開心的,記錄過程,恩,肚子餓了,吃飯去了。

2011-04-02

今天再次進行串口通信的時候又遇到同樣的問題,反復(fù)看了這篇以前寫過的文章后還是沒有得到解決,但我肯定出現(xiàn)酓ummy_isr error, interrupt number: 5, INTMSK = 0xffffffdf這種錯誤肯定是因為MMU沒有初始化,所以我就先初始化MMU然后再進行其他的初始化,問題果然得到解決。重點,先初始化MMU然后再進行其他的初始化設(shè)置。

補充:網(wǎng)上搜到的。

使用suppervivi的n功能選項下載到NANDFLASH中可運行原因如下(以下都是從網(wǎng)上找的):
一般情況下,在ARM9調(diào)試程序都是下載到RAM中執(zhí)行的,當(dāng)然,只要沒有中斷產(chǎn)生程序看似能夠正常執(zhí)行,
但是一旦中斷發(fā)生,程序必然會跑飛,原因在于程序中斷后,PC默認(rèn)指向0x00-0x1C處,但是RAM的起始地址是0x30000000,中斷向量表默認(rèn)在0x30000018處,很明顯,中斷服務(wù)程序是不能夠正常執(zhí)行的,
同時ARM內(nèi)核會通過串口打印"Dummy_isr error........"信息。解決辦法:
(1)直接燒寫到nand第0塊(如果代碼大于4K,啟動代碼中必須要有拷貝到SDRAM功能)
(2)改寫自己的程序,在初始化中斷之前將中斷向量表拷貝到內(nèi)部SRAM.
(3)利用MMU的重定向功能



關(guān)鍵詞: mini2440按鍵中斷控制led

評論


技術(shù)專區(qū)

關(guān)閉