构建嵌入式系统-主机/开发板调试模式的种类

本篇翻译自奥莱里出版社的 《Building Embedded Linux Systems》by Karim Yaghmour  其著作权归原作者所有

       开发者们连接开发板到主机用来调试的方法有3种:串口线,网络接口,和特殊的调式硬件。每个调试接口都有自己的特点和应用,我们将会在11章种详细的讨论这些接口。这节,我们只是简单的回顾下它们的好处和特点
      使用串口线作为调试手段是最简单的一种方法。因为串口硬件是最简单而且常见的。在嵌入式系统中,在某种形式下,使用串口线有两个问题。第一:串口速率有相当的限制。第二:如果嵌入式系统只有一个串口或者此串口是该嵌入式系统的唯一附加接口。那么将无法用来调试系统和用一个终端与之交互,在同一时刻,发生竞争。没有终端交互在某些情况下并不是一个问题。但是,举个例子,当利用一个远程内核调式器调式内核的启动时,不需要终端竞争。因为,没有shell实际运行在目标板上,直到内核完全真正启动起来。
       一个网络接口的作用是:比如tcp/ip,比串口提供了更高的带宽。而且,开发板&主机可以使用很多的网络连接在同样的物理网络连接。因此,当在调试应用的时候,你也可以继续和开发板交互。或者,用嵌入式系统的串口使用终端竞争的方式与开发板交互的同时,调式网络连接。网络接口的使用意味着网络栈的存在。因为,网络栈是存在于linux内核之中。所以,网络连接不能用来调试内核自己。与之相对的是,内核调试可以或者说通常是使用在串口连接上执行的。
       串口和网口调试都需要考虑到一些小软件必须考虑到开发板上可获得的简单IO硬件资源。在某些情况下。比如移植linux到一个新的开发板上去的时候或者调试自己的内核。这些设定就不稳固了。在这样的情况下,必须使用提供了直接的使用软件来实现硬件控制调式接口。这有很多种方式来实现。但是大部分都是相当昂贵。
      最近,首选的方式直接操作硬件来调式是使用BDM,或者JTAG接口。这些接口依赖于在cpu中嵌入特殊的BDM或者JTAG功能。通过连接特殊的调式器到CPU种的JTAG或者BDM引脚。你可以完全控制它的行为。就因为这个原因,JTAG和BDM常用来构建新的开发板或者调式linux内核在这些开发板上。
      在它们的技术实验条件下,相对ICEs来说,尽管这些BDM调试器已经很便宜和更简单。它仍需购买特殊的硬件&软件。通常,这软件和硬件非常昂贵因为cpu生产商们不会热衷于共享它们关于JTAG和BDM使用的详细的资料在它们的产品中。获得这样的信息常常包括与生产商们建立一个可信赖的关系&签订严厉的NDAs。
 
      尽管给每个项目组配置它们自己的BDM或者JTAG相对来说太昂贵了,但是我还是强烈建议你必须有一个这样的调试器可获得在你整个工程过程中。来调试串口&网口不能调试的比较困难的问题。当你选取这样或那样的调试器的时候,你必须得考虑它同GNU开发工具链的兼容性。比如说,一些BDM或者JTAG调试器,要求特殊改良的GDB debuggers 。一个好的BDM或者JTAG调试器必须能够处理这标准的GNU开发工具链。并且二进制文件产生使用它,显然。
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值