《micro2440开发》第十章:tiny6410和micro2440的Jlink与RVDS/ADS调试对比学习

以后分析都将基于tiny6410进行:

一、安装rvds2.2问题汇总

安装:rvds/setup.exe

1.出现Error: %variable HOSTPLAT is not defined in File RDI\armsd\1.3.1\66\install.xml

原因:电脑的CPU是AMD的问题。

解决方法:把安装目录中的rvds/RDI/ARMSD/1.3.1/66下的INSTALL.XML与rvds/utilities/installer/1.6/43下的install.xml中的%(HOSTPLAT)%替换为%(FS)win_32-pentium%就可以了。

2.多次提示license问题

解决方法:

  用rvds/Crack/keygen.exe产生license.dat;在C盘的根目录下创建一个名为flexlm的文件夹,将刚才生成的license.dat拷贝进去。 

  运行rvds/Crack/Patch.exe给下边列出的文件注入校验和,文件目录见下边:

C:\Program Files\ARM\IDEs\CodeWarrior\CodeWarrior\5.6.1\1592\win_32-pentium\bin\Plugins\License\oemlicense.dll   
C:\Program Files\ARM\IDEs\CodeWarrior\RVPlugins\1.0\86\win_32-pentium\oemlicense\oemlicense.dll   
C:\Program Files\ARM\RDI\armsd\1.3.1\66\win_32-pentium\armsd.exe   
C:\Program Files\ARM\RDI\AXD\1.3.1\98\win_32-pentium\axd.exe   
C:\Program Files\ARM\RVCT\Programs\2.2\349\win_32-pentium\armasm.exe   
C:\Program Files\ARM\RVCT\Programs\2.2\349\win_32-pentium\armcc.exe   
C:\Program Files\ARM\RVCT\Programs\2.2\349\win_32-pentium\armcpp.exe   
C:\Program Files\ARM\RVCT\Programs\2.2\349\win_32-pentium\armlink.exe   
C:\Program Files\ARM\RVCT\Programs\2.2\349\win_32-pentium\fromelf.exe   
C:\Program Files\ARM\RVCT\Programs\2.2\349\win_32-pentium\tcc.exe   
C:\Program Files\ARM\RVCT\Programs\2.2\349\win_32-pentium\tcpp.exe   
C:\Program Files\ARM\RVD\Core\1.8\734\win_32-pentium\bin\tvs.exe   
C:\Program Files\ARM\RVD\Core\1.8\734\win_32-pentium\bin\xry100.dll   
C:\Program Files\ARM\RVARMulator\ARMulator\1.4.1\206\win_32-pentium\armiss.sdi   
C:\Program Files\ARM\RVARMulator\ARMulator\1.4.1\206\win_32-pentium\armulate.sdi   
C:\Program Files\ARM\RVARMulator\ARMulator\1.4.1\206\win_32-pentium\v6armiss.sdi   
C:\Program Files\ARM\RVARMulator\v6ARMulator\1.4.1\238\win_32-pentium\v6thumb2.sdi   
C:\Program Files\ARM\RVARMulator\v6ARMulator\1.4.1\238\win_32-pentium\v6trustzone.sdi

二、J-Flash ARM不能使用

原因:tiny6410没有nor flash,并且它的启动选择开关不像micro2440那样就是为了设置OM[4:0]、它是为了设置IROM启动方式中GPN[15:13]《micro2440开发》第十一章:S3C6410地址空间是从nand flash(实际是从RAM)或是SD卡启动;换言之,tiny6410中0x0000 0000总是映射在I_ROM区域(即OM[4:1]为1111),所以、使用J-Flash ARM(micro2440可以用启动选择开关设置OM[4:0]映射到nor flash)不管启动选择开关在哪里、S3C6410在0x0000 0000处都是I_ROM、不是flash,就会报错“找不到flash”。

进一步分析:网上有人可以用J-Flash ARM烧录Nand Flash,原理是先入内存、完了在入Nand Flash;但该方法应用场合较少,有兴趣可以研究。所以,对于tiny6410来说、J-Flash ARM工具可能就没有用处了。

我们一般做法是:把uboot.bin放在SD卡中、完了从SD卡启动。

三、结论:我们只能用ADS下载内存运行的方法了,因为没有nor flash、J-Flash ARM烧录flash工具没有作用! 

内核:ARM1176JZF-S

四、其他注意事项

单步IDE工具:CodeWarrior默认不使用AXD调试;因此做如下设置Edit->Debug Settings选项卡中,Debugger下ReadView Debugger和ReadView Runner都要选择AXD。

如果有《micro2440开发》第六章:micro2440 ADS单步调试总结提到的存储器未初始化错误发生,可以直接放uboot至SD卡、从SD卡启动;这时,uboot就已经初始化存储器了(注意不要让Linux Kernel启动!)。如果要像micro2440那样设置也可以,如下:

setmem 0x7e001004, 0x4,        32            //设置DRAM控制器状态为Configure
setmem 0x7e001010, 0x40d,      32        //设置DRAM的刷新周期
setmem 0x7e001014, 0x6,        32          //设置CAS延时
setmem 0x7e001018, 0x3,        32          //设置t_DQSS
setmem 0x7e00101c, 0xf,        32          //设置t_MRD
setmem 0x7e001020, 0xf,        32           //设置t_RAS
setmem 0x7e001024, 0xf,        32           //设置t_RC
setmem 0x7e001028, 0x1f,       32          //设置t_RCD
setmem 0x7e00102c, 0x21f,      32        //设置t_RFC
setmem 0x7e001030, 0xf,        32           //设置t_RP
setmem 0x7e001034, 0xf,        32           //设置t_RRD
setmem 0x7e001038, 0x7,        32          //设置t_WR
setmem 0x7e00103c, 0x7,        32         //设置t_WTR
setmem 0x7e001040, 0xf,        32           //设置t_XP
setmem 0x7e001044, 0x1f,       32          //设置t_XSR
setmem 0x7e001048, 0x1f,       32          //设置t_ESR
setmem 0x7e00100c, 0x10012,    32     //设置DRAM的Column, Row等属性
setmem 0x7e00104c, 0x0b45,     32      //设置DRAM的buswidth,type等属性
setmem 0x7e001200, 0x150f8,    32       //设置RBC以及片选属性
setmem 0x7e001304, 0x0,        32          //设置DQS延时
setmem 0x7e001008, 0xc0000,    32      //发送NOP命令到DRAM
setmem 0x7e001008, 0x0,        32          //发送Precharge命令到DRAM
setmem 0x7e001008, 0x40000,    32      //发送Autorefresh命令到DRAM
setmem 0x7e001008, 0x40000,    32      //发送Autorefresh命令到DRAM
setmem 0x7e001008, 0xa0000,    32      //设置DRAM的EMRS寄存器
setmem 0x7e001008, 0x80032,    32      //设置DRAM的MRS寄存器
setmem 0x7e001004, 0x0,        32          //设置DRAM控制器开始运行


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值