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

本文主要介绍如何使用Keil4开发ARM9(S3C2440)裸机程序。

     说明:

    一、平台:

      操作系统:Windows XP系统

       KEIL版本:4.73

                开发板:ARM9(S3C2440)

          二、建立工程:

       1、新建工程,选择S3C2440A处理器:

基于KEIL4开发ARM9(S3C2440)的裸机程序_第1张图片

              2、对工程进行设置

                   1)设置RAM、ROM地址:

          RAM1:

            Start:0x30000000

            Size:0x200000

          ROM1:

            Start:0x30200000

            Size:0x200000

基于KEIL4开发ARM9(S3C2440)的裸机程序_第2张图片

      2)生成Hex文件

基于KEIL4开发ARM9(S3C2440)的裸机程序_第3张图片

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

基于KEIL4开发ARM9(S3C2440)的裸机程序_第4张图片

             4)选择仿真器与初始化文件:

        1、仿真器设置

基于KEIL4开发ARM9(S3C2440)的裸机程序_第5张图片基于KEIL4开发ARM9(S3C2440)的裸机程序_第6张图片

        2、加载初始化文件和修改初始化文件:将代码58行的LOAD test1.axf INCREMENTAL中的test1修改为工程各即可。

基于KEIL4开发ARM9(S3C2440)的裸机程序_第7张图片

      5)加载Flash烧录算法与设置:注意,不可以擦除芯片或者扇区,所以只好选择Do not Erase。没有对应的芯片的Flash烧录算法,所以选择容量相近的芯片的烧录算法。(此方法为网上给出的方法,没有深入分析过,我很菜。哈哈)

并且不要选择Upadte Target before Debugging和Use Debug Driver。

基于KEIL4开发ARM9(S3C2440)的裸机程序_第8张图片基于KEIL4开发ARM9(S3C2440)的裸机程序_第9张图片

      6)设置和修改s3C2440.s汇编文件:可以使用图形界面修改s3c2440.s,如果够厉害,可以直接在汇编文件里面修改汇编代码。我不够厉害,所以我使用的图形界面修改的。

我建立的工程为一个简单的LED流水灯的工程,4个流水灯使用PF0-PF4控制,所以将PF0-PF4设置为输出。关于时钟寄存器的设置,可以参考S3C2440芯片说明手册。

基于KEIL4开发ARM9(S3C2440)的裸机程序_第10张图片基于KEIL4开发ARM9(S3C2440)的裸机程序_第11张图片

 

      7)加载main.c文件

基于KEIL4开发ARM9(S3C2440)的裸机程序_第12张图片基于KEIL4开发ARM9(S3C2440)的裸机程序_第13张图片基于KEIL4开发ARM9(S3C2440)的裸机程序_第14张图片

                8)下载程序仿真:下载程序仿真时,发现KEIL中的RESET键不可以用,如果直接按RESET键,程序就跳转到0x00000000地址,再次运行时就跳飞了。所以当需要复位时,直接修改程序地址寄存器(PC,R15),如图所示,我的程序的初始化地址为

0x300001E8,所在需要复位时,我直接将R15寄存器的值修改为0x300001E8即可。

基于KEIL4开发ARM9(S3C2440)的裸机程序_第15张图片

 

 

总结:上以的教程为我从网上找的资料,然后经过实际操作后编写,完全可行。如有错误之处,欢迎大家指出。谢谢!大家共同学习,互相交流。

联系方式:

    QQ:553823837(Sky)

    微信:553823837(Sky)

    称呼:天朝的猫

转载于:https://www.cnblogs.com/sky-429006/p/6240672.html

你可能感兴趣的:(基于KEIL4开发ARM9(S3C2440)的裸机程序)