当前位置: 技术问答>linux和unix
UBOOT 如何调试?
来源: 互联网 发布时间:2016-11-22
本文导语: 本人宿主机Fedora 14,开发板FL2440,最近移植的UBOOT老不成功!又不懂得用什么工具调试!本人是组装机,有串口,并口(JTAG线连接),没有JLINK ,麻烦大牛们告诉我怎么调试?用什么工具! 小的不胜感激! ...
本人宿主机Fedora 14,开发板FL2440,最近移植的UBOOT老不成功!又不懂得用什么工具调试!本人是组装机,有串口,并口(JTAG线连接),没有JLINK
,麻烦大牛们告诉我怎么调试?用什么工具!
小的不胜感激!
,麻烦大牛们告诉我怎么调试?用什么工具!
小的不胜感激!
|
在未进入C语言部分,用点灯方法——如果开发板有LED的话。
C语言,用printf语句。
网上有仿真器(可能是别的名称)可以调用U-Boot,楼主搜索一下。
C语言,用printf语句。
网上有仿真器(可能是别的名称)可以调用U-Boot,楼主搜索一下。
|
我把此贴置顶,希望有过U-boot 调试经验的人来看看。
我在u-boot下,常用printf输出日志来调试,每次编译后写到SD卡里。
google到的资料:jtag调试工具介绍
URL: http://hi.baidu.com/yhlong0315/blog/item/c1771550907d7f6e84352478.html
jtag调试工具介绍
2010年05月11日 星期二 上午 11:10
先给大家介绍个大概情况,现在国内都有什么著名的ARM开发工具和解决方案,价格从高低排:
* BDI1000/2000/3000
目前我知道的最牛X的调试工具,可以调试ARM、MIPS、PPC、ColdFire、XScale等多种处理器。无需更换硬件,只需要买不同的软件授权就可以调试不同的CPU。JTAG下载速度可以上兆,以太网接口。因为太贵了(BDI2000好像要人民币50000吧),我没怎么研究它到底配合什么软件来调试,不过GDB它是肯定支持的,它一直是我心目中的神话啊。
* J-Link原版
J-Link是IAR公司为ARM开发的调试工具,支持RDI协议的调试工具,如Keil、ADS、IAR等;支持GDB调试;什么SWD之类的用得很少,有没有都一样;但J-Link不支持ARM10以上的内核。JTAG下载的速度可以达到400~500K,正版价格大约5000人民币(全功能)吧,这么贵基本也不考虑了。
* Multi-ICE原版
ARM公司的原创调试工具,支持全系列ARM芯片,现在多少钱我也不知道了,反正在2000~3000人民币这个级别。我这里指的是国内做得比较好的那些,比如Realview之类的。仅仅支持ADS、SDT之类的裸奔代码调试,JTAG下载速度130K左右。虽然这几年Multi-ICE是国内ARM调试绝对的霸主,但现在ARM公司已经停止对ADS的维护了,Multi-ICE会开始走向没落。
* Multi-ICE盗版
国内有很多Multi-ICE的盗版,功能和Multi-ICE原版一样,并口的、USB的都有,价钱几百块人民币,淘宝上到处都有。但是和J-Link盗版相比,不推荐购买。
* J-Link盗版
最近这段时间,J-Link盗版渐渐开始多起来了,淘宝上也很多,功能和原版没有区别。价格大约在几百人民币左右,从性价比来看,推荐购买。我之后还会写一篇用J-Link调试ARM的文章,当你入门之后,绝对无法忍受今天介绍的这个低成本方案的JTAG下载速度,那时就买个J-Link来爽爽。
* U-Link盗版
U-Link是Keil公司做的用于ARM和某些增强型8051调试的工具,由于Keil公司做U-Link的时候没有加密,导致现在盗版满天飞,只需要100多块钱就可以买到一个。现在Keil已经被ARM收购,U-Link也是ARM一家的了。U-Link正版在盗版的排挤下,根本没有什么买的必要;U-Link仅仅支持Keil,而且JTAG下载速度仅有20~30K。
* Wiggler电缆
Wiggler是世界上最泛滥的一种调试工具,它非常简单,只需要一片74HC244,一个9013,几个电阻就可以。本来Wiggler是Macraigor(http://www.macraigor.com/)制作的,可以支持Macraigor的OCDRemote这个GDB Server,可以支持ARM、PPC、ColdFire、MIPS、XScale等多种CPU。后来因为它结构太简单,被人破解后搞得全世界都是,于是 Macraigor怒了,现在用OCDRemote必须是Macraigor原厂的Wiggler了……尽管如此,后人又在Wiggler的硬件基础上开发了很多的调试工具,例如H-Jtag;另外也有其他的调试工具增加了对Wiggler的支持,例如OpenOCD。Wiggler电缆的成本特别低,当然它的性能也和成本一样低;用H-Jtag下载速度大约20~30KB/s,用Linux虚拟机下的OpenOCD下载速度大约2KB/s。不过对于囊中羞涩的学生们来说,是一个非常不错的入门工具。本文就针对Wiggler进行介绍。
我在u-boot下,常用printf输出日志来调试,每次编译后写到SD卡里。
google到的资料:jtag调试工具介绍
URL: http://hi.baidu.com/yhlong0315/blog/item/c1771550907d7f6e84352478.html
jtag调试工具介绍
2010年05月11日 星期二 上午 11:10
先给大家介绍个大概情况,现在国内都有什么著名的ARM开发工具和解决方案,价格从高低排:
* BDI1000/2000/3000
目前我知道的最牛X的调试工具,可以调试ARM、MIPS、PPC、ColdFire、XScale等多种处理器。无需更换硬件,只需要买不同的软件授权就可以调试不同的CPU。JTAG下载速度可以上兆,以太网接口。因为太贵了(BDI2000好像要人民币50000吧),我没怎么研究它到底配合什么软件来调试,不过GDB它是肯定支持的,它一直是我心目中的神话啊。
* J-Link原版
J-Link是IAR公司为ARM开发的调试工具,支持RDI协议的调试工具,如Keil、ADS、IAR等;支持GDB调试;什么SWD之类的用得很少,有没有都一样;但J-Link不支持ARM10以上的内核。JTAG下载的速度可以达到400~500K,正版价格大约5000人民币(全功能)吧,这么贵基本也不考虑了。
* Multi-ICE原版
ARM公司的原创调试工具,支持全系列ARM芯片,现在多少钱我也不知道了,反正在2000~3000人民币这个级别。我这里指的是国内做得比较好的那些,比如Realview之类的。仅仅支持ADS、SDT之类的裸奔代码调试,JTAG下载速度130K左右。虽然这几年Multi-ICE是国内ARM调试绝对的霸主,但现在ARM公司已经停止对ADS的维护了,Multi-ICE会开始走向没落。
* Multi-ICE盗版
国内有很多Multi-ICE的盗版,功能和Multi-ICE原版一样,并口的、USB的都有,价钱几百块人民币,淘宝上到处都有。但是和J-Link盗版相比,不推荐购买。
* J-Link盗版
最近这段时间,J-Link盗版渐渐开始多起来了,淘宝上也很多,功能和原版没有区别。价格大约在几百人民币左右,从性价比来看,推荐购买。我之后还会写一篇用J-Link调试ARM的文章,当你入门之后,绝对无法忍受今天介绍的这个低成本方案的JTAG下载速度,那时就买个J-Link来爽爽。
* U-Link盗版
U-Link是Keil公司做的用于ARM和某些增强型8051调试的工具,由于Keil公司做U-Link的时候没有加密,导致现在盗版满天飞,只需要100多块钱就可以买到一个。现在Keil已经被ARM收购,U-Link也是ARM一家的了。U-Link正版在盗版的排挤下,根本没有什么买的必要;U-Link仅仅支持Keil,而且JTAG下载速度仅有20~30K。
* Wiggler电缆
Wiggler是世界上最泛滥的一种调试工具,它非常简单,只需要一片74HC244,一个9013,几个电阻就可以。本来Wiggler是Macraigor(http://www.macraigor.com/)制作的,可以支持Macraigor的OCDRemote这个GDB Server,可以支持ARM、PPC、ColdFire、MIPS、XScale等多种CPU。后来因为它结构太简单,被人破解后搞得全世界都是,于是 Macraigor怒了,现在用OCDRemote必须是Macraigor原厂的Wiggler了……尽管如此,后人又在Wiggler的硬件基础上开发了很多的调试工具,例如H-Jtag;另外也有其他的调试工具增加了对Wiggler的支持,例如OpenOCD。Wiggler电缆的成本特别低,当然它的性能也和成本一样低;用H-Jtag下载速度大约20~30KB/s,用Linux虚拟机下的OpenOCD下载速度大约2KB/s。不过对于囊中羞涩的学生们来说,是一个非常不错的入门工具。本文就针对Wiggler进行介绍。
|
你有并口(JTAG线连接),这是简易的JTAG小板子,理论上来说,可以用工具调试, 前提是你的开发PC有并口.
调试软件用keil试试吧.
我的友山善之臂 mini2440也有附带有一个并口的JTAG小板.
网上有人移植了u-boot到Mini2440,你找找.
调试软件用keil试试吧.
我的友山善之臂 mini2440也有附带有一个并口的JTAG小板.
网上有人移植了u-boot到Mini2440,你找找.
|
打印日志.
或者JTAG调试, 这种方法需要"仿真器".
或者JTAG调试, 这种方法需要"仿真器".
|
结合一些工具:示波器,逻辑分析仪来看波形和时序.
|
在linux下开发不像windows里,它不是IDE集成开发环境,所以没用那种在线单步调试。常常采取的是调用print打印提示字符串。当然,uboot可以在ADS里开发,那样可以借助于jlink实现在线仿真调试。
|
调试Linux kernel也可以用kgdb进行源代码级调试, 需要两个串口,或者一个串口一个网口,一台开发机,一台目标机。