基於KEIL4開發ARM9(S3C2440)的裸機程序


本文主要介紹如何使用Keil4開發ARM9(S3C2440)裸機程序。

     說明:

    一、平台:

      操作系統:Windows XP系統

       KEIL版本:4.73

                開發板:ARM9(S3C2440)

          二、建立工程:

       1、新建工程,選擇S3C2440A處理器:

              2、對工程進行設置

                   1)設置RAM、ROM地址:

          RAM1:

            Start:0x30000000

            Size:0x200000

          ROM1:

            Start:0x30200000

            Size:0x200000

      2)生成Hex文件

      3)設置生成.0 .bin .axf文件

             4)選擇仿真器與初始化文件:

        1、仿真器設置

        2、加載初始化文件和修改初始化文件:將代碼58行的LOAD test1.axf INCREMENTAL中的test1修改為工程各即可。

      5)加載Flash燒錄算法與設置:注意,不可以擦除芯片或者扇區,所以只好選擇Do not Erase。沒有對應的芯片的Flash燒錄算法,所以選擇容量相近的芯片的燒錄算法。(此方法為網上給出的方法,沒有深入分析過,我很菜。哈哈)

並且不要選擇Upadte Target before Debugging和Use Debug Driver。

      6)設置和修改s3C2440.s匯編文件:可以使用圖形界面修改s3c2440.s,如果夠厲害,可以直接在匯編文件里面修改匯編代碼。我不夠厲害,所以我使用的圖形界面修改的。

我建立的工程為一個簡單的LED流水燈的工程,4個流水燈使用PF0-PF4控制,所以將PF0-PF4設置為輸出。關於時鍾寄存器的設置,可以參考S3C2440芯片說明手冊。

 

      7)加載main.c文件

                8)下載程序仿真:下載程序仿真時,發現KEIL中的RESET鍵不可以用,如果直接按RESET鍵,程序就跳轉到0x00000000地址,再次運行時就跳飛了。所以當需要復位時,直接修改程序地址寄存器(PC,R15),如圖所示,我的程序的初始化地址為

0x300001E8,所在需要復位時,我直接將R15寄存器的值修改為0x300001E8即可。

 

 

總結:上以的教程為我從網上找的資料,然后經過實際操作后編寫,完全可行。如有錯誤之處,歡迎大家指出。謝謝!大家共同學習,互相交流。

聯系方式:

    QQ:553823837(Sky)

    微信:553823837(Sky)

    稱呼:天朝的貓


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM