新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > mini2440按鍵中斷控制led燈遇到的問題

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

        作者: 時間:2016-11-20 來源:網絡 收藏
        平臺: xp系統,ARM mini2440

        程序名:按鍵中斷控制led燈主要學習內容,S3C2440外部中斷

        本文引用地址:http://www.104case.com/article/201611/318686.htm

        遇到問題

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

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

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

        2011-04-02

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

        補充:網上搜到的。

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



        評論


        技術專區

        關閉
        主站蜘蛛池模板: 汝阳县| 东兴市| 九龙县| 恭城| 剑阁县| 岳西县| 小金县| 衡水市| 彭泽县| 余干县| 大埔县| 东安县| 监利县| 兰考县| 东明县| 沾益县| 鄂州市| 佳木斯市| 保定市| 措勤县| 红安县| 黔东| 天峨县| 大名县| 肇庆市| 玉龙| 修水县| 田阳县| 山东| 台安县| 云梦县| 古蔺县| 格尔木市| 滁州市| 宜黄县| 宁明县| 河池市| 丰都县| 诸城市| 沂水县| 东山县|