欢迎来到天天文库
浏览记录
ID:37728936
大小:687.38 KB
页数:30页
时间:2019-05-29
《s3c2410的MDK移植》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、深圳市英蓓特信息技术有限公司——ARM开发工具专业提供商http://www.embedinfo.com基于S3C2410的MDK例程移植1前言Keil是业界最好的51单片机开发工具之一,它拥有流畅的用户界面与强大的仿真功能。ARM将Keil公司收购之后,正式推出了针对ARM微控制器的开发工具RVMDK,它将ARM编译器RVCT与Keil的工程管理、调试仿真工具集成在一起,是一款非常强大的ARM微控制器开发工具。2007年5月,ARM正式授权中国深圳英蓓特公司代理中文版RVMDK的出售事务。S3C2410目前已经在国内外市场得到了普遍的应用,因此移植S3C2410的MDK
2、例程,对于推广MDK具有比较重要的意义。其实,对于MDK例程的移植,无论是从EmbestIDE下,还是从ADS下,其过程都是相似的。S3C2410基于ARM920T内核,16KB指令Cache,16KB数据Cache,支持MMU,NandFlashBootLoader,内部嵌有4KBRAM,即启动石,亦可在系统启动完成后,做为他用。同时S3CEV2410开发板还集成了32M2NorFLash,64MSDRAM。因此在移植的时候,可以将程序分别运行在SDRAM和NorFlash中。2相关技术说明2.1启动代码MDK一个强大的功能就是能够自动生成启动代码,而且可以进行图形化的
3、代码设置,这就可以极大地方便了工程师,减少了百余行的汇编代码的编写。虽然一些老工程师习惯而且更喜欢文本编辑的方式,但是不可否认,MDK提供的启动代码生成向导,对于加快项目开发进度,提高工作效率,帮助新人迅速进入开发工作具有十分重要的意义。深圳总部:0755-255049512563895225532557销售邮箱:sales.realview@embedinfo.com华北办事处:010-59713204华东办事处:021-63089029华中办事处:027-87399523深圳市英蓓特信息技术有限公司——ARM开发工具专业提供商http://www.embedinfo.
4、com同样,MDK支持S3C2410启动代码自动生成。1)在MDK中新建工程打开RVMDK,在主菜单中选择ProjectNew„uVisionProject,并给新工程命名为New_MDK.uv2,单击“保存”,见图2-1。图2-1在RVMDK中新建工程在RVMDK自动弹出的器件选择窗口(SelectDeviceforTarget)中选择该工程所对应的处理器型号,“S3C2410”,并单击“确定”,见图2-2。当RVMDK提示用户是否自动添加启动代码时,选择“是”。深圳总部:0755-255049512563895225532557销售邮箱:sales.realvie
5、w@embedinfo.com华北办事处:010-59713204华东办事处:021-63089029华中办事处:027-87399523深圳市英蓓特信息技术有限公司——ARM开发工具专业提供商http://www.embedinfo.com图2-2启动代码自动生成向导双击打开S3C2410A.S文件,在MDK的文本编辑区中,显示S3C2410的默认配置的启动代码。点击ConfigurationWizard,就可以通过图形化的形式对生成的默认启动代码进行个性化的配置,包括:堆栈,时钟管理,中断向量表,看门狗时钟,存储器控制,I/O配置等。如图2-3所示:图2-3启动代码图
6、形化配置界面这样,通过以上的步骤,我们就可以快速方便地完成启动代码的生成配置了。深圳总部:0755-255049512563895225532557销售邮箱:sales.realview@embedinfo.com华北办事处:010-59713204华东办事处:021-63089029华中办事处:027-87399523深圳市英蓓特信息技术有限公司——ARM开发工具专业提供商http://www.embedinfo.com2.2分散加载文件关于散加载文件的具体内容介绍,可参考附录1“RealviewMDK中链接脚本详细解析”,这里只针对S3C2410以及开发板的特点,给出
7、具体的代码参考。之前提到的S3C2410及其开发板的一些基本参数,这里我们要关心的是SDRAM和NorFlash的编址问题。通过阅读S3C2410用户指南可知,地址分布如下:0x00000000~~0x01000000:32MNorFlash0x80000000~~0x81000000:32MNorFlash0x30000000~~0x02000000:64MSDRAM因此,针对不同的程序运行地址,就有不同的分散加载文件:1)程序运行在NorFlash中(RuninFlash.sct):;;Scatter-LoadingDes
此文档下载收益归作者所有