Chinaunix首页 | 论坛 | 博客
  • 博客访问: 845628
  • 博文数量: 116
  • 博客积分: 1472
  • 博客等级: 上尉
  • 技术积分: 1725
  • 用 户 组: 普通用户
  • 注册时间: 2011-02-06 11:45
文章分类

全部博文(116)

文章存档

2015年(1)

2014年(42)

2013年(5)

2012年(19)

2011年(49)

我的朋友

分类: LINUX

2011-02-07 22:37:44

技术]MIPS EJTAG的尝试性研究
任何一件事情干久了终究会使人觉得厌倦,比如我现在的工作。已经两年了,这期间有丰富的体验,不过现在我已经想换一个环境了。在结束之前,总会想想有什么曾经想完成的但一直没时间去做的事情,我不想在技术上留下什么遗憾,而且技术始终是我的爱好(虽然也许以后并不以此谋生)。想到刚进公司时候的理想:能亲自独立搭建一个嵌入式系统。
 
这其中包含以下几个方面:
1. 了解一个经典的体系结构,如果从方便性和成本考虑,MIPS和ARM都是不错的选择.
2. 搭建底层系统,跑一个rtos
3. 在上面跑一个gui.
 
理论上说,这几个步骤并不是遥不可及,我有一个同期进公司的同事早就达成了这个目标.使用普及的samsung 2440,加上ads平台,资料多到用不完.几个月时间,他就完成了ucos的移植和ucgui的移植.但是不是每个人这样玩都会觉得有趣,个人的追求不同导致实现的方法也各异.出于对计算机科学的热爱和对开源软件的支持,一直以来我都想真正使用完全开源的平台进行开发,变相增加难度.另一点,我认为这只是我的一个玩具,不求最速,只想玩好,最好是知道很多细节.所以到现在,都没有任何进展.
 
部门的dsc平台ic使用的是mips处理器,一直以来都想进行深入研究,对arm的兴趣稍低,原因同上:流行的技术对我没什么吸引力.(难道我就是传说中的非主流?)直到最近整理文档的时候找到一些资料,才再次点燃了我对技术的追求.在这份文档中,写到我们的soc的risc核是lexra的lx5180,lexra是个什么公司呢?这个公司现在已经不在了,那是因为几年前经历了和mips的官司,被弄垮了.但是在更早的时期,它却创造了一系列非常有技术特色的core,lx5*80就是其中一个很典型的代表.
 
大约在2000年前后,lx5*80系列被设计出来了(如有误请包涵).那个时候arm9e还在为怎样能跑到200Mhz绞尽脑汁,lx5180就可以轻松跑到200MHz,并且集成了dsp指令和mips16指令集.lx5180基于r3000但是放弃了4条用于非对齐加载的指令.如果大家有特别的兴趣请参考jonah probell的文章.话说jonah probell人真的不错,因为网上缺乏资料,我直接给他发mail要spec,人家忍受了我极烂的英语表达,给出一些参考的网站,让我获益获非浅.顺便说一句,此君现在经营一家新的设计公司,推销他的新core,据说沿用了经典的lexra构架并有了很大的提高,如果有兴趣请在他的网站(如上)上找到他的联系方式.
 
我的设想是如果能有一套如同目前开发arm的组件一样齐全的mips组件,应该会对我的"梦想"有帮助.裸机开发,当然要有debug工具.arm上有wiggler,mips呢?通过艰苦的google,终于让我找到一个实例,ourdev的一位同行写的文章
他使用路由器作开发平台,使用有如arm的wiggler一样简单的wiggler for mips.就是这篇文章,让我入了门,开始了wiggler的制作之路.
 

电路非常简单,一两个小时就可以完成.但是在使用到我们部门的evb的过程中遇到一些问题.首先是vcc,evb没有提供,上图中有个pc_vcc,用万用表量输出低.后来查lpt的规范发现并口根本没有电源输出.二是pin11如果按照标准接法在我们的evb上就一直是低,让cpu一直处于reset状态.后来改用虚线接法,顺利解决.

接下来是软件,在mips上可不像arm上的h-jtag那么方便.wiggler的正规厂商)有一套可以免费使用的软件,据称可以调试mips.软件名称是JTAG Commander.但在实际的使用中,发现它只支持mips 4k系列的cpu,lx5180太老所以没有支持.让人遗憾,因为这个软件带的ocd remote可以做gdb的server,后来试过的其他软件都不能.然后又找到另一个jtag软件,urjtag,在cygwin下编译ok,设置cable类型,然后detect,可以抓到cpu.不错不错,设置include到lx5280(和lx5180兼容),可以顺利initbus(虽然提示失败),读写内存地址都没问题.但是我们的evb是用nand启动的,上面没有接nor,所以并没有试到能不能抓到flash的型号.

测试ok了,但是却让人陷入了无奈的境地.硬件虽然成功,但是找不到调试代理,根本无法用于gdb,那么对我的研究又有多大价值呢?也许有一天我可以自己开发一个调试代理,不过目前我只有依靠download,和祈祷某个项目可以支持这些老旧的cpu,让我这种无聊的人能增加一些乐趣.

顺便说说我的愿望: eclipse + insight + 廉价wiggler 开发mips.
阅读(5644) | 评论(3) | 转发(1) |
0

上一篇:FutureProtocol

下一篇:ADSL2MUE

给主人留下些什么吧!~~

steeven2012-09-09 10:26:29

vcc是 必须的?很奇怪 一般jtag规范没见vcc

试过openocd?这个支持mips并且是gdbserver

steeven2012-09-09 10:26:18

vcc是 必须的?很奇怪 一般jtag规范没见vcc

试过openocd?这个支持mips并且是gdbserver

qqhonker2011-05-19 00:35:30

DSC/MIPS... 你之前是在S还是Z公司?