搜索产品 minitos开源嵌入式操作系统 minitos Windows minitos Menu
首 页 产品展厅 精品文章 嵌入式资讯 下载中心 论坛 嵌入式城市 技术应用
 收藏社区
 免费注册
 用户登陆
 帮助中心
社区首页 业界新闻 精品文章 下载中心 minitos2站 在线学习 论坛 嵌入式提问交流学习 供求信息 留言 minitos操作系统 测试
今天是:2010年9月10日 星期五   您现在位于: miniTOS生活社区 →  使用GDB调试嵌入式系统
谷歌搜本站效率更高
使用GDB调试嵌入式系统
2005年6月17日  作者:  发布人:专业嵌入式网站      本文已被浏览 1322 次
GNU GCC是用于ARM, MIPS, SuperH, PowerPC, x86和其他32位处理器的许多高端系统的编译器工具。作为GNU 的调试器,GDB是一个免费的调试器,开发人员可以用它来进行带有GCC工具的嵌入式系统的远端调试。你可以通过一系列的端口或TCP/IP连接运行这一远距离调试。

 
 
本文将介绍在你的主站点上需要哪些软件和嵌入式设备,这样有助于你能够使用GDB调试嵌入式代码。

主机调试器
在主机站点上,你将必须需要一个GDB版本以作为目标处理器的调试器。卖方提供的GNU GCC工具应该附带一个编译好的可执行的GDB,否则,你必须从RedHat下载源代码或者需要一个GNU FTP,然后自己建立调试器。如果你要运行一个Linux主机或者一个Windows的Cygwin,建立调试器是一个相对简单的过程。

目标“树桩(stub)”
GDB调试器与一个运行于目标处理器的小“树桩(stub)”交流。主机调试器与一个使用简单的支持读写注册表和内存的协议交流。你将会发现GDB源目录中有许多处理器体系的写好的“树桩”,比如sh-stub.c, i386-stub.c, and m68k-stub.c。

如果你没有找到一个适合的“树桩”,在SourceForge上检查gdbstubs工程。你需要编译和连接合适的“树桩”到目标嵌入程序和提供两个通讯函数:getDebugChar()和putDebugChar()。你的系统初始化代码也会调用set_debug_traps()函数来初始化“树桩”和安装必要的调试异常处理。

编写自己的“树桩(stub)”
如果你无法找到已经写好的“树桩”,你不得不自己编写自己的“树桩”。如果你对目标CPUx体系很熟悉的话,这样的工程也不是很复杂。最简单的方法就是对现成的“树桩”进行更改。“树桩”中绝大多数的代码都与通讯协议有关,可以可以不变地使用于不同处理器之间。

你将需要更改内嵌汇编程序部分,这主要处理安装和处理处理器的异常问题,包括断点,单步,以及通用的保护错误。

异常处理相对比较简单:它们必须将CPU注册存放在一个静态缓冲器,然后输入handle_exception()函数,这一函数带有一个显示异常原因的整数参数。handle_exception()函数然后取得对CPU的控制并处理与主机调试部分的所有通讯。你将需要对handle_exception()函数作一些特别是更改,但绝大部分的代码都是可以利用的。

GDB的GUI
GDB是内嵌命令的工具。如果你适合于这一水平的工作,你将发觉用户界面对基本的调试任务非常的快捷和方便。如果你觉得更适应使用GUI调试器,你也必须安装GDB的GUI中的一个,比如Insight。

如果你对这方面更多的知识感兴趣,请查看extensiv online document.tion on GDB(GDB中广泛在线文档)。

David Brenan是一个具有15年经验的嵌入式系统开发人员,他的工作包括授过奖章的专用数字音频产品的设计。

 发布人:minitos
 [ → 我要发表文章 ]
上篇文章:使用GDB-gnu debug
下篇文章:FAT16文件系统格式详细说明
→ 主题所属分类:  精品文章 → 技术文章 → 『关闭窗口』
 热门文章
 
 skyeye安装运行的详细方法--step by step (20796)
 cygwin下安装arm-elf-gcc一种简便方法 (5939)
 充电器设计及镍氢电池充电方法2 (3394)
 镍氢电池充电方法及充电器(二) (2546)
 Instruction Set: Analysis of SH66x... (2309)
 FAT16文件系统格式详细说明 (2134)
 充电器设计及镍氢电池充电方法1 (1932)
 使用GDB-gnu debug (1690)
 单片机数码管显示驱动设计 (1681)
 一步一步的制作 arm-linux 交叉编译环境 (1577)
 最近更新
 
 QTE 4安装方法 (6月3日)
 真是好文,fc6安装qte,共享 (6月3日)
 超低价部分原装IGBT销售 (6月2日)
 Protel99SE快捷键大全 (6月2日)
 Protel 99 SE的功能特性 (6月2日)
 Protel 99 SE的系统组成 (6月2日)
 设计PCB时抗静电放电(ESD)的方法 (6月2日)
 模拟集成电路 (6月2日)
 数字集成电路 (6月2日)
 语音集成电路 (6月2日)
 文章搜索
 
搜索选项:            
  → 评论内容 (点击查看)
姓名:dhjcrpdwimo  E-mail:yrtqyb@uhgddb.com  发表时间:2010年2月18日 13时9分
评论内容:wV3nWB  <a href="http://aqoruoepwrtp.com/">aqoruoepwrtp</a>, [url=http://fgbuyvcfwfwb.com/]fgbuyvcfwfwb[/url], [link=http://fecczpkqkagz.com/]fecczpkqkagz[/link], http://zganjnfyezfo.com/
姓名:vxizyjsgwah  E-mail:psmkut@kidchr.com  发表时间:2010年1月5日 0时46分
评论内容:zwdFcP  <a href="http://bodydrcrtzes.com/">bodydrcrtzes</a>, [url=http://ekuxjkwyavon.com/]ekuxjkwyavon[/url], [link=http://nyyaxkwiqwpb.com/]nyyaxkwiqwpb[/link], http://pdjvddqgsblx.com/
姓名:kgcvqkp  E-mail:egmwbg@rdtzdz.com  发表时间:2009年11月7日 22时42分
评论内容:i127YH  <a href="http://nrjmgjplsote.com/">nrjmgjplsote</a>, [url=http://aobubfreitdo.com/]aobubfreitdo[/url], [link=http://erjxyzeupkfr.com/]erjxyzeupkfr[/link], http://zsukbdeggjkr.com/
姓名:kdhjfdh  E-mail:yjfyjj@sdf.com  发表时间:2009年5月12日 14时36分
评论内容:<a href=http://www.flytickets.com.cn/planeticket/7_1.html>成都机票</a> <a href=http://www.langfangpc.cn>廊坊电脑</a> <a href=http://www.flytickets.com.cn/planeticket/6_1.html>重庆机票</a> <a href=http://www.jipiaoku.cn/>机票</a>
  → 发表我的评论
您的姓名:  您的E-mail:

评论内容:
发表评论:  
娱乐中心 ┋ 关于本站 ┋ 站内短信 ┋ 广告服务 ┋ 友情链接 ┋ 与我在线 ┋ 版权声明  TOP
本站总访问量: 197295 人次 ┋ 最高峰 589 人在线 ┋ 当前有 13 人在线
专业嵌入式网站 [完整型] ┋页面执行时间:140.625 毫秒
Copyright © 2002-2005 minitos.com All Rights Reserved
友情链接: embed嵌入开发网 ┋ 嵌入式提问网 ┋ 嵌入式资料网 ┋ 网络站 ┋ 论坛 ┋