KeilARMRVMDK软件仿真及SDRAM中调试S3C2410程序..docxVIP

KeilARMRVMDK软件仿真及SDRAM中调试S3C2410程序..docx

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
KeilARMRVMDK软件仿真及SDRAM中调试S3C2410程序.

Keil ARM RVMDK软件仿真及SDRAM中调试S3C2410程序摘自:/content/13/0110/17259393778.shtml弄了几天,终于吧ADS原来的一个LED小程序移植到KEIL ARM里面,并且搞掂可以在SDRAM中调试了。首先说说硬件平台,ARM是三星的S3C2410,SDRAM是HY57V561620BT*2,64M容量,标准的SDRAM片选接在nGSC6,故地址空间在00x33ffffff。软件平台是Keil ARM就是Realview MDK V3.40中国评估版,可以在上下载,现在破解不是很好,几乎每次调试后都要重新破解,以前用的V3.05虽然可以完全破解,但是3.05版的darmss9.dll文件,不支持2410,无法编译2410的程序,另外我也试过V3.20,但是不直接用wiggler JTAG来调试,所以就直接上3.40版本的RVMDK了,JTAG用H-JTAGV9.1,很快H-JTAG就可以支持NAND FLASH的烧写了,twentyone加油!下面详细介绍如何设置RVMDK。安装RVMDK后,我这里用了本来ADS工程带的start.s启动代码,下次再试试用keil向导带的S3C2410.s启动代码,把其它C程序文件添加到keil工程中,设置工程属性option for target,在target页中,Xtal设置的晶振频率只在软件仿真中有用,实际硬件调试,还是要设置MPLLCON寄存器实现,关键是设置Read/Only Memory Areas与Read/Write Memory Areas,如下图设置,这里是跟SDRAM的地址对应才行。如果是软件仿真,就在下面on-chip的IROM1与IRAM1前打钩,Startup钩上。另外是Linker页的设置,把Use Memory Layout form Target Dialog的小钩去掉,在R/O base与R/W base设置,另外我这里使用了分散加载文件Scatter,在Scatter file中添加,misccontrols中要设置--entry入口地址0SDRAM地址对应,输入--info totals --entry 0--scatter .\output\start.sct --info sizes其中:.\output\start.sct注意替换自己编写的scatter文件的目录路径。如果是软件仿真,则R/O base与R/W base设置为0与0misc control内容改为--info totals --entry 0--scatter .\output\start.sct--info sizes加载的scatter文件内容也要做修改,下面有介绍。另外,重新编写.sct加载文件,不然会出现Error: L6218E: Undefined symbol Image$$RW$$Limit 这样的错误,说没定义RW段,重新编写的.sct加载文件LR_IROM1 00{ ; load region size_regionRO +0 { ; load address = execution address *.o (RESET, +First) ;(RESET, +First)的含义是把RESET段的内容编译后放在0置 ;*(InRoot$$Sections) .ANY (+RO)}RW 00{ ; RW data .ANY (+RW +ZI)}ZI +0 { ; ZI data .ANY (+ZI)}}如果是软件仿真,则改为如下,在0x0地址开始调试LR_IROM1 00{ ; load region size_regionRO +0 { ; load address = execution address *.o (RESET, +First) ;(RESET, +First)的含义是把RESET段的内容编译后放在0置 ;*(InRoot$$Sections) .ANY (+RO)}RW 00 ; RW data .ANY (+RW +ZI)}ZI +0 { ; ZI data .ANY (+ZI)}}还有Debug页的设置,选Use Simulator是软件仿真,右边选择RDI Interface Driver

文档评论(0)

bhzs + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档