当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 10 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 请教专家--关于仿真器
帖子发表于 : 2008-07-06 10:32 

注册: 2008-01-19 19:33
帖子: 16
送出感谢: 0 次
接收感谢: 0 次
受单片机仿真器开发模式的影响,本人有些想法请专家回答,谢谢:

我的ARM开发板带有一个Muti-ICE仿真器,它可以配合ADS在windows环境下调试一些简单程序,比如LED走马灯之类的,这种情况下是不用到嵌入式linux操作系统的,和单片机的开发模式很象。

我有一个比较天真的想法,试问:
如果把linux内核的源代码加入ADS的工程中,能否由ADS来编译linux-kernel,当然这里还有内核的配置问题,不知道是否可行?

我听说调试基于嵌入式linux的程序,都是由Printf打印出调试信息,然后再去修改源码;这样把Muti-ICE仿真器丢在一边不用,挺可惜的。如果在ubuntu环境下可以通过并口控制Muti-ICE仿真器来调试程序,那么在开发驱动方面是不是可以事半功倍??

不知道在开发linux驱动的前辈,你们用什么方法来调试程序的? :?: :?:


页首
 用户资料  
 
2 楼 
 文章标题 :
帖子发表于 : 2008-07-06 17:59 
头像

注册: 2005-10-14 16:55
帖子: 1637
地址: 江苏
系统: OS X
送出感谢: 0 次
接收感谢: 0 次
仿真器,买不起,我调板子都是J-TAG的。04年的时候周公公配的J-TAG调试还是块单片机,现在就几根排线,驱动部分全部交给一个JTAG-Driver来完成,记得是一个杭州的哥们写的,for windows,问过他能不能顺带搞个*NIX的,可是人家根本不bird me。


_________________
Hardy Heron + Mac OS X

在某些人眼里(炫耀+摆阔+不懂音乐+在乎外表-内涵-鉴赏能力-文化)*跟风=买iPod


页首
 用户资料  
 
3 楼 
 文章标题 :
帖子发表于 : 2008-07-07 10:48 
头像

注册: 2006-09-14 10:57
帖子: 27
地址: http://szmicrotiger.blogspot.com/
送出感谢: 0 次
接收感谢: 0 次
关键是---我不是专家!!!无语


页首
 用户资料  
 
4 楼 
 文章标题 :
帖子发表于 : 2008-07-09 1:43 

注册: 2008-04-01 21:20
帖子: 19
送出感谢: 0 次
接收感谢: 0 次
其实仿真器是很容易制作的,特别是在Linux下。
可以看一下OpenOCD项目,了解OpenOCD的仿真器驱动实现方法的话,很简单就可以自己做个JTAG接口仿真器,并且可以使用任何自己熟悉的PC接口。当然,USB接口在使用上是最方便的

LS可能是ZLG的"受害者",到现在还在用ADS。ADS应该不可以编译Linux内核的,MDK可能可以,因为MDK ms可以指定使用的编译器

Linux内核其实确实非常难调试的,估计绝大部分都是使用printf来调试的。
如果因为需要调试而终止处理器的话,系统的底层服务都无法运行,即使能够正常调试,之后进入运行状态的话,系统都可能出错。


页首
 用户资料  
 
5 楼 
 文章标题 :
帖子发表于 : 2008-07-16 16:53 

注册: 2008-01-19 19:33
帖子: 16
送出感谢: 0 次
接收感谢: 0 次
chengying 写道:
其实仿真器是很容易制作的,特别是在Linux下。

LS可能是ZLG的"受害者",到现在还在用ADS。ADS应该不可以编译Linux内核的,MDK可能可以,因为MDK ms可以指定使用的编译器

Linux内核其实确实非常难调试的,估计绝大部分都是使用printf来调试的。
如果因为需要调试而终止处理器的话,系统的底层服务都无法运行,即使能够正常调试,之后进入运行状态的话,系统都可能出错。


谢谢,你的意思是说只要能指定编译器,即使在windows下面,只要能用GCC来编译就可以是吗?

还有最后提到用JTAG调试,到了设置的断点停下来,CPU肯定是要暂停空转的。你说的“系统的底层服务都无法运行”是指哪一部分?底层软件?硬件都暂停运行了,软件肯定也暂停了,你说的“可能出错是”我不太明白???除非是系统正和外部进行实时通信。


页首
 用户资料  
 
6 楼 
 文章标题 : 这几天看到ADS的使用说明,是这么写的
帖子发表于 : 2008-08-19 13:15 

注册: 2008-01-19 19:33
帖子: 16
送出感谢: 0 次
接收感谢: 0 次
The ADS Version 1.2 product includes the following fully supported debuggers:
• ARM eXtended Debugger (AXD, both Windows and UNIX versions)
• ARM Debugger for Windows (ADW)
• ARM Debugger for UNIX (ADU).

If you are using the Multi-ICE DLL on a UNIX workstation, you must connect that
workstation to the Windows workstation running the server using a TCP/IP network.

There are two distinct software components in Multi-ICE:
• the Multi-ICE server, that must be run on the computer the interface unit is
attached to
• the Multi-ICE DLL, that can be run on another computer.

也就是说AXD是通过Multi-ICE DLL和Multi-ICE server通信,以便将步进、执行、运行等调试命令转换成JTAG指令,而Multi-ICE server只能在windows下运行,而Multi-ICE DLL可以在Linux下运行。
因此在linux下使用ADS调试是可以的,不过还是离不开windows的支持;
至于内核能否编译,初步估计是不行,具体原因??
驱动调试方法也待进一步了解??


页首
 用户资料  
 
7 楼 
 文章标题 : Re: 请教专家--关于仿真器
帖子发表于 : 2008-10-05 22:45 

注册: 2008-08-01 17:28
帖子: 5
送出感谢: 0 次
接收感谢: 0 次
linux内核是一定要用gcc编译器才能编译的。因为gcc扩展了很多c 特性,而内核中大量的用到了这些特性。驱动开发用得最多的还是printk啦,类似于应用层开发的printf。
其次trace,kgdb。


最后由 eht25g 编辑于 2008-10-05 22:52,总共编辑了 1 次

页首
 用户资料  
 
8 楼 
 文章标题 : Re: 请教专家--关于仿真器
帖子发表于 : 2008-10-05 22:50 

注册: 2008-08-01 17:28
帖子: 5
送出感谢: 0 次
接收感谢: 0 次
恩,就算MDK里可以选择编译器为gcc,估计也不一定可行,它提供的link不一定能解析内核的lds文件。


页首
 用户资料  
 
9 楼 
 文章标题 : Re: 请教专家--关于仿真器
帖子发表于 : 2008-10-23 9:03 

注册: 2008-10-23 8:56
帖子: 2
送出感谢: 0 次
接收感谢: 0 次
JTAG只用在调试最底层的如Bootloader之类的,其实连调试都有问题。基本上用来写Bootloader差不多。而且JTAG的速度决定了它是无法支持高速CPU的全速运行的,它只能够有限地(极其有限地)做一些事情。但是在单片机的领域,确实做了不少事情。想LPC21xx等ARM7TDMI/Cortex-M3之类的可以用JTAG来调试程序。


页首
 用户资料  
 
10 楼 
 文章标题 : Re: 请教专家--关于仿真器
帖子发表于 : 2008-10-23 9:08 
头像

注册: 2005-08-14 21:55
帖子: 58428
地址: 长沙
送出感谢: 4
接收感谢: 272
很多老式的编程器啊,都是自己写串口控制寄存器的呢。很没标准的。
jtag只是一个过渡的手段,除开芯片本身支持一些特性,才有用,比如硬件双断点。
arm的还没玩过。小牛牛记得是搞过这个的。


_________________
● 鸣学


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 10 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 3 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译