基于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)
称呼:天朝的猫
基于KEIL4开发ARM9(S3C2440)的裸机程序的更多相关文章
- 10.17小作业 基于TCP开发一款远程CMD程序
基于TCP开发一款远程CMD程序 客户端连接服务器后,可以向服务器发送命令 服务器收到命令后执行,无论执行是否成功,无论执行几遍,都将执行结果返回给客户端 注意: 执行系统指令使用subprocess ...
- (一)keil4 MDK 开发环境下编写裸机程序 (参考杨铸 北航) (开发板只需要连接JLNK 就行了)
首先用的是 keil4 位与 ( F:\ARM+LINUX\MDK-ARM_v4.10.exe ) 1. 新建工程名project 为 led circle ,放在 我的文档\ l ...
- JZ2440学习笔记之第一个裸机程序(Keil-MDK)
CPU:S3C2440, ARM920T, Internal 4KB RAM, Support boot from NAND flash, 128MB for each bank. JZ2440:Me ...
- ok6410[002] ubuntu1604系统下搭配ckermit和dnw基于RAM的裸机程序调试环境
ubuntu1604系统下搭配ckermit和dnw基于RAM的裸机程序调试环境 系统: ubuntu16.04 裸板: 飞凌公司OK6410开发板 目标:搭建基于ubuntu1604系统和基于RA ...
- 基于 SailingEase WinForm Framework 开发优秀的客户端应用程序(目录)
本系统文章将详细阐述客户端应用程序的设计理念,实现方法. 本系列文章以 SailingEase WinForm Framework 为基础进行设计并实现,但其中的设计理念及方法,亦适用于任何类型的客 ...
- 基于 SailingEase WinForm Framework 开发优秀的客户端应用程序(1:概述)
本系统文章将详细阐述客户端应用程序的设计理念,实现方法. 本系列文章以 SailingEase WinForm Framework 为基础进行设计并实现,但其中的设计理念及方法,亦适用于任何类型的客 ...
- s3c2440 lcd 显示图片裸机程序
因为前面的裸机程序非常的简单,就不写博了. 程序的流程: 1,初始化C SP 2,关看门狗 3,初始化SDRAM 4,读出 NAND FLASH 中的 包含图片的程式放到SDRAM里面 5,跳转到SD ...
- 基于Asterisk的VoIP开发指南——(2)Asterisk AGI程序编写指南
原文:基于Asterisk的VoIP开发指南--(2)Asterisk AGI程序编写指南 5. Asterisk AGI程序编写指南 5.1概述 很多时候,我们需要在拨号方案中做某些业务逻辑的判断或 ...
- MDK972-EK开发板裸调试设置和裸机程序烧写(转)
硬件平台:MDK972-EK开发板编译调试软件:KEIL uVision4仿真工具:JLINK V7/V8 本例子从串口输出信息,如图: KEIL uVision4调试设置如图所示: ...
随机推荐
- 使用 Python 切割图片
刚好我有张 PNG 图片需要均匀切割,刚好我不会 PhotoShop,刚好我想用 Python 来练练手. 于是撸袖子码脚本. import os from PIL import Image def ...
- NSValue 类的使用
NSValue对象是用来存储一个C或者Objective-C数据的简单容器.它可以保存任意类型的数据int,float,char等,也可以是指pointers, structures, and obj ...
- 使用Python结合Face++ API识别人脸
Face++是北京旷视科技旗下的视觉服务平台,可以进行人脸识别.检测等功能.其人脸识别技术据悉在目前准确率较高,其API非常友好,免费使用,功能众多,而且调用几乎没有限制.这里我使用了Python调用 ...
- PHP基础结业感想与总结!
之前来传智是我认真调查和思考后得出的结论,我做程序员的第一目标是赚钱和学习技术,有一句话"艺多不压身".相信班上所有人的目标都是,这一点都不会庸俗,但是各个人的目的就未必一样了.我 ...
- 修改C:\WINDOWS\system32\drivers\etc\hosts 文件有什么作用
host是一个没有扩展名的系统文件,可以用记事本等工具打开,其作用就是将一些常用的网址域名与其对应的IP地址建立一个关联"数据库",当用户在浏览器中输入一个需要登录的网址时,系统会 ...
- UVALive 3971 组装电脑
https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_probl ...
- 看守所、戒毒所3D指纹门禁系统解决方案
为响应"科技强警"的战略方针,华本构建了一个完整的.集成的.可靠的.易操作的高安全性门禁系统,应用于看守所.戒毒所.公安局和部队等单位,使管理更现代化.规范化,有效地预防和制止越狱 ...
- NFS服务器+客户端配置
NFS:Network File System 使用NFS需要启用RPC(remoteprocedure call),RPC可以指定每个NFS功能所对应的端口号,重启RPC后,RPC所管理的所有NFS ...
- 【开园 and 计划】
开园 啊啊啊啊啊啊啊啊,郁闷啊,头一回写博客,一刻钟前保存的草稿为何荡然无存??? 那少废话直击要点:今日乃我开园之日,开园为了改变.为了学习.为了积累. 计划 最长为时 3月,截止到 2016年9月 ...
- CSS伪类和伪元素
一.伪类 CSS伪类用于向某些选择器添加特殊的效果,在W3规范中,CSS伪类有如下几个: CSS2.1 :active:向被激活的元素添加样式(激活是指点击鼠标那一下) :focus:向拥有键盘输入焦 ...