本文主要介绍如何使用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)的裸机程序的更多相关文章

  1. 10.17小作业 基于TCP开发一款远程CMD程序

    基于TCP开发一款远程CMD程序 客户端连接服务器后,可以向服务器发送命令 服务器收到命令后执行,无论执行是否成功,无论执行几遍,都将执行结果返回给客户端 注意: 执行系统指令使用subprocess ...

  2. (一)keil4 MDK 开发环境下编写裸机程序 (参考杨铸 北航) (开发板只需要连接JLNK 就行了)

    首先用的是 keil4  位与   ( F:\ARM+LINUX\MDK-ARM_v4.10.exe  ) 1. 新建工程名project 为    led circle   ,放在  我的文档\ l ...

  3. JZ2440学习笔记之第一个裸机程序(Keil-MDK)

    CPU:S3C2440, ARM920T, Internal 4KB RAM, Support boot from NAND flash, 128MB for each bank. JZ2440:Me ...

  4. ok6410[002] ubuntu1604系统下搭配ckermit和dnw基于RAM的裸机程序调试环境

    ubuntu1604系统下搭配ckermit和dnw基于RAM的裸机程序调试环境 系统:  ubuntu16.04 裸板: 飞凌公司OK6410开发板 目标:搭建基于ubuntu1604系统和基于RA ...

  5. 基于 SailingEase WinForm Framework 开发优秀的客户端应用程序(目录)

    本系统文章将详细阐述客户端应用程序的设计理念,实现方法. 本系列文章以  SailingEase WinForm Framework 为基础进行设计并实现,但其中的设计理念及方法,亦适用于任何类型的客 ...

  6. 基于 SailingEase WinForm Framework 开发优秀的客户端应用程序(1:概述)

    本系统文章将详细阐述客户端应用程序的设计理念,实现方法. 本系列文章以  SailingEase WinForm Framework 为基础进行设计并实现,但其中的设计理念及方法,亦适用于任何类型的客 ...

  7. s3c2440 lcd 显示图片裸机程序

    因为前面的裸机程序非常的简单,就不写博了. 程序的流程: 1,初始化C SP 2,关看门狗 3,初始化SDRAM 4,读出 NAND FLASH 中的 包含图片的程式放到SDRAM里面 5,跳转到SD ...

  8. 基于Asterisk的VoIP开发指南——(2)Asterisk AGI程序编写指南

    原文:基于Asterisk的VoIP开发指南--(2)Asterisk AGI程序编写指南 5. Asterisk AGI程序编写指南 5.1概述 很多时候,我们需要在拨号方案中做某些业务逻辑的判断或 ...

  9. MDK972-EK开发板裸调试设置和裸机程序烧写(转)

    硬件平台:MDK972-EK开发板编译调试软件:KEIL uVision4仿真工具:JLINK V7/V8   本例子从串口输出信息,如图:       KEIL uVision4调试设置如图所示: ...

随机推荐

  1. JavascriptExecutor

    Why we use it?To enhance the capabilities of the existing scripts by performing javascript injection ...

  2. 双十一 VS 火车票(12306)

    火车票开售了,又是一年,code了一年,咱们也该回顾回顾了. 还记得12306上线之初各种技术大牛给人家出方案,吐槽人家外包费用?我们来回顾回顾. 就园子里都过千篇文章来侃这事儿,请问有多少主题的文章 ...

  3. 微信小程序-画布组件

    canvas 画布. 注: canvas 标签默认宽度300px.高度225px 同一页面中的 canvas-id 不可重复,如果使用一个已经出现过的 canvas-id,该 canvas 标签对应的 ...

  4. ElasticSearch与Spring Boot集成问题

    1.None of the configured nodes are available 或者 org.elasticsearch.transport.RemoteTransportException ...

  5. JS事件模型小结

    三种事件模型:原始事件模型(DOM0),DOM2事件模型,IE事件模型: 不同点: 事件程序的注册(给HTML元素所对应的JS对象绑定事件) 事件传播的过程 事件模型的注册: 一.原始事件模型(没有兼 ...

  6. Mac下搭建android开发环境

    1> 下载JDK, jdk-8u71-macosx-x64 2> 下载android studio

  7. 你的指纹还安全吗? - BlackHat 2015 黑帽大会总结 day 2

    你的指纹还安全吗?  0x03 FINGERPRINTS ON MOBILE DEVICES: ABUSING AND LEAKING speaker是来自FireEye的Wei Tao和Zhang ...

  8. 退役&&搬家

    牡丹江与鞍山两站作为最后的结束站.一银一铜就此结束了~ 此博客用来怀念ACM就此保留并不添加任何其它与其无关内容. ------------------------------------------ ...

  9. 解决hibernate删除时的异常

    由于关联关系是一对多和多对一的关系,于是在代码中需要删除多的一方的对象时出现了 deleted object would be re-saved by cascade (remove deleted ...

  10. Webpack、Browserify和Gulp

    https://www.zhihu.com/question/37020798 https://www.zhihu.com/question/35479764