taoist 发表于 2010-6-26 21:36:17

【原创】用IAR EWARM和J-Link调试DM355和DM365

  最近公司用TI的DM355和DM365,就搞了2片来玩玩,结果。。。
  搞了2个星期没搞定仿真器。。。

  XDS510USB和SEED-XDS510USB2.0,真TMD难用。。。请原谅,提起就想骂人。。。
  CCS3.2,CCS3.3,CCS4.0都装了N遍了,还是搞不定。。。
  上合众达网站下载驱动,居然还有“后门”病毒。。。
  

  算了。。。我放弃,改最熟的IAR EWARM和J-Link算了,反正DM355和DM365都是ARM926EJ-s内核,没理由EWARM和J-Link搞不定的。。。
  由此,我开始了试验:

1) J-Link试验
  要用J-Link调试DM355和DM365,第一步,在J-Link commander里能够找到DM355和DM365的ARM926EJ-s内核,用的J-Link使用v4.14d驱动。
  EMU0和EMU1均上拉。
http://cache.amobbs.com/bbs_upload782111/files_30/ourdev_564173SPF28O.jpg
J-Link没有找到ARM926内核 (原文件名:DM365-1.jpg)
  看这图,明显J-Link没有找到ARM926EJ-s内核呀。。。而且。。。IRLen居然是6bit,这明显不对,ARM926的IR应该是4bit才对。
  开始满世界找为什么。。。
  原来。。。TI这个大BT,搞了个Jtag router,叫什么ICEPick
  目前我能找到最权威的阐述ICEPick的文档:
Tools For Debugging JTAG and Power Issues on DaVinci and OMAP devicesourdev_564174KRKX1N.pdf(文件大小:392K) (原文件名:sprp603.pdf)
http://cache.amobbs.com/bbs_upload782111/files_30/ourdev_564211J97YSN.jpg
(原文件名:IRlen.jpg)
  粗粗地看了一下,原来首先要通过TAP设置ICEPick,把ARM核加载到JTAG边界扫描链上来。
  幸好,Segger公司提供了脚本方式来设置J-Link。于是,就写了如下脚本:

JTAG.IRLen=6;
JTAG.Speed = 1000;                   // Set high JTAG speed
JTAG.Write(6, 0x1F,0x1F);          // TAP Reset
JTAG.WriteIR(7);
JTAG.WriteDR(8, 0x89);
JTAG.WriteIR(2);
JTAG.WriteDR(32, 0x81000082);       // Connect and select router
JTAG.WriteDR(32, 0xA018206F);       // set IP control
JTAG.WriteDR(32, 0xA018216F);       // configure TAP0
JTAG.WriteIR(0x3F);               // Bypass
JTAG.Write(10,0,0);               // Write 10 clocks
JTAG.IRPRE=0;
JTAG.DRPRE=0;
JTAG.IRPOST=6;
JTAG.DRPOST=1;
JTAG.IRLen=4;
CPU=arm926ejs;

点击此处下载 ourdev_564179DY12LV.zip(文件大小:857字节) (原文件名:Default.zip)

  保存成Default.JLinkScript,放到了\\SEGGER\JLinkARM_V414d\目录下,呵呵,顿时,J-Link找到了ARM926核:
http://cache.amobbs.com/bbs_upload782111/files_30/ourdev_564175JNU4A4.jpg
J-Link找到ARM926核了 (原文件名:DM365-2.jpg)

2) 为IAR EWARM添加DM355和DM365
  老则矩,先去找找有没有DM355和DM365的sample project,有的话,可以省掉不少事。。。
  果不其然,EWARM里面没有DM355和DM365的sample project,没有DM355和DM365的头文件,连编译选项里面选择器件TI公司的器件都没有DM355和DM365。
  放弃?不!IAR EWARM有很好的用户扩展性能,没有上述东西,我们都可以自己添加!!!
  首先是为EWARM添加DM355和DM365这两个器件:
点击此处下载 ourdev_564177P6MNFS.zip(文件大小:1K) (原文件名:TexasInstruments.zip)
  上面的压缩包里面有DM355.i79,DM355.menu,DM365.i79,DM365.menu,将它们放到\\IAR Systems\Embedded Workbench 5.4\arm\config\devices\TexasInstruments\目录下
  好了,现在你的器件列表里是不是就有DM355和DM365了?
http://cache.amobbs.com/bbs_upload782111/files_30/ourdev_564178KARNYD.jpg
(原文件名:DM365-3.jpg)
  完成了上述步骤,只是告诉IAR EWARM,DM355和DM365是ARM926EJ-s内核,需要使用ARMV5T指令集来编译。
  为了能够很好地调试DM355和DM365,还需要一个ddf文件,用于告诉IAR EWARM的调试器C-SPY,DM355和DM365有哪些寄存器。
点击此处下载 ourdev_564205X8IPO8.zip(文件大小:6K) (原文件名:ioDM355.zip)
  DM365的请自行创建此文件。。。呵呵,其实是我还在创建中。。。
  将ioDM355.ddf文件放到\\IAR Systems\Embedded Workbench 5.4\arm\config\debugger\TexasInstruments\目录下
  这样,你在调试DM355时,寄存器查看窗口就有寄存器列表啦。。。
http://cache.amobbs.com/bbs_upload782111/files_30/ourdev_564209FLFMUS.jpg
(原文件名:DM365-4.jpg)
  仔细想想,好像还缺了点什么。。。对了。。。头文件。。。
点击此处下载 ourdev_564210G9N1CO.zip(文件大小:5K) (原文件名:ioDM355.zip)
  好了好了,该有的文件都有了,我们可以创建项目了。

3) 创建DM355和DM365项目(以DM355为例)
  很多人都问我IAR EWARM的项目该怎么创建,其实EWARM的用户手册说得绝对详细,不喜欢看中文的同仁,也可以去书城找到至少3本介绍EWARM的。
  所以,我就简单贴一些图。。。
http://cache.amobbs.com/bbs_upload782111/files_30/ourdev_564214GTN0BJ.jpg
(原文件名:DM355-1.jpg)
http://cache.amobbs.com/bbs_upload782111/files_30/ourdev_564216TRB0RV.jpg
(原文件名:DM355-2.jpg)
http://cache.amobbs.com/bbs_upload782111/files_30/ourdev_564217UDH55X.jpg
(原文件名:DM355-3.jpg)
http://cache.amobbs.com/bbs_upload782111/files_30/ourdev_564218JV7IJ4.jpg
(原文件名:DM355-4.jpg)
http://cache.amobbs.com/bbs_upload782111/files_30/ourdev_564220NK0HP4.jpg
(原文件名:DM355-5.jpg)
  相同方法添加cfg文件夹。。。
  开始添加源代码。。。
http://cache.amobbs.com/bbs_upload782111/files_30/ourdev_564237AZKX1V.jpg
(原文件名:DM355-6.jpg)

yangsen 发表于 2010-6-26 22:34:28

好文章,学习

ahfong2006 发表于 2010-6-26 22:53:03

好,mark .

xwq76 发表于 2010-8-2 17:47:22

按这个脚本也无法找到arm
出现如下错误,能帮改下脚本不
http://cache.amobbs.com/bbs_upload782111/files_32/ourdev_572477.JPG
(原文件名:{529B1F3C-6280-4063-9727-D1AC8A492EFB}.JPG)

zf8848 发表于 2010-8-2 19:07:05

很棒的说明!IAR 最高支持 ARM11 ,请问楼主能不能用 jlink 调试DevKit8000(OMAP35x)? 如果可行的话,可以不用 DSP/Bios 直接用中断和内存共享来操控 DSP 验证简单的算法了.

taoist 发表于 2010-8-2 20:22:13

to 【4楼】 xwq76

DM355?DM365?
请确认EMU0和EMU1均上拉。

to 【5楼】 zf8848

目前J-Link不支持Cortex-A8,据说要今年年底才支持。

xwq76 发表于 2010-8-3 17:47:18

刚上电能找到芯片,第二次就不行了。必须断电才行M365

huawuque 发表于 2010-8-3 17:51:10

好 谢谢taoist

xwq76 发表于 2010-8-3 19:09:34

总感觉里面的脚本有问题,找到arm9内核怎么ID是0x0000000

taoist 发表于 2010-8-3 20:54:53

to 【7楼】 xwq76

果然是DM365...

DM365确实是有点奇怪,我这里也是只有第一次上电才行。
脚本是根据segger和BDI2000/3000的配置写的。因为没有更详细的介绍ICEPICK的资料了。。。

http://processors.wiki.ti.com/index.php/Xds100v2#Q:_My_XDS100v2_does_not_work_reliabily_with_the_OMAPL138_.2F_DM365_.2F_ARM926_core

有讲关于XDS100V2调试DM365也有些问题。。。

mpuhome 发表于 2010-8-3 21:44:12

好文,感谢楼主分享

rlogin 发表于 2010-8-4 02:31:45

tarchen 发表于 2010-8-4 09:02:18

好贴,支持楼主。

xwq76 发表于 2010-8-4 11:25:31

确认EMU0和EMU1均上拉 可以每次找到arm芯片了

loopzhong 发表于 2010-10-22 15:18:25

搜索到了,顺路谢谢楼主。

gyd0317 发表于 2010-12-3 14:46:46

MARK 一定要顶 原创

lichcct 发表于 2011-3-2 15:14:04

回复【16楼】gyd0317 古驿道
-----------------------------------------------------------------------

楼主,厉害!能不能把你创建的工程共享一个??

mmdgmljcr 发表于 2011-3-13 23:19:24

使用AXD老连接不上啊,楼主能不能修改下

arda 发表于 2011-5-23 12:11:13

其实简单的方法就是使用EMU0、EMU1都下拉,这样会禁用 ICEPick.

http://cache.amobbs.com/bbs_upload782111/files_39/ourdev_642222NHXY7U.jpg
DM365 with jlink, emu0/emu1 all pull down

blueliuyun 发表于 2011-5-29 17:39:08

好贴。
学习中……
3Q

algebra 发表于 2011-7-20 09:51:43

mark

MouseCat 发表于 2011-9-14 14:11:46

MARK

zhaofei_mz 发表于 2011-9-17 00:51:18

mark

token2000 发表于 2011-10-19 13:36:46

这个只能在IRAM DEBUG中使用啊,如果在DDR DEBUG和NOR DEBUG中仿真,该怎么配置呢?

qinrenzhi 发表于 2011-11-16 18:02:28

受益匪浅。请问楼主脚本的资料是从哪里来?我在那文档里没找到。

SNOOKER 发表于 2011-11-16 20:01:29

taoist 真是仿真器专家啊

grandy 发表于 2011-11-22 13:43:57

这个要好好学习下

windflying 发表于 2011-11-27 19:01:56

好啊

xuyqhd 发表于 2011-11-29 15:52:03

mark

wenxy 发表于 2011-12-15 21:59:06

Mark.

ShuJi187 发表于 2011-12-16 10:44:04

mark!

xinjie1023 发表于 2011-12-19 16:32:02

关注

cay 发表于 2012-12-21 19:49:46

{:loveliness:}

ShawnLinson 发表于 2012-12-21 20:19:42

如此好的东东居然等到现在才发现!?
置酷没商量啊!

zhengyang 发表于 2013-9-5 14:10:21

不錯,公司正在搞個HDV,學習了!

清新怡人 发表于 2013-10-9 09:22:26

终于发现使用IAR的大牛,感动.

lubing521 发表于 2013-11-1 10:52:33

楼主功力深厚啊.膜拜 ,学些学习.

硬邦邦 发表于 2014-1-5 20:22:22

谢谢楼主分享。

yinian 发表于 2022-7-8 10:20:55

谢谢,在了解 DM365
页: [1]
查看完整版本: 【原创】用IAR EWARM和J-Link调试DM355和DM365