码迷,mamicode.com
首页 > 其他好文 > 详细

基于KEIL4开发ARM9(S3C2440)的裸机程序

时间:2017-01-01 07:49:44      阅读:330      评论:0      收藏:0      [点我收藏+]

标签:分析   处理器   pad   时钟   images   load   start   com   target   

本文主要介绍如何使用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)

    称呼:天朝的猫

基于KEIL4开发ARM9(S3C2440)的裸机程序

标签:分析   处理器   pad   时钟   images   load   start   com   target   

原文地址:http://www.cnblogs.com/sky-429006/p/6240672.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!