PEEDI调试uClinux核和应用程序带GNUgdb案例.doc

PEEDI调试uClinux核和应用程序带GNUgdb案例.doc

广州虹科电子科技有限公司 02038743032 PEEDI JTAG仿真器调试uClinux核和应用程序带GNU gdb/insight 关键词:PEEDI JTAG,调试uClinux核,目标设置,中断点; 介绍: 这是一篇关于用PEEDI JTAG仿真器调试uClinux核和应用程序带GNU gdb/insight的应用介绍。 现在最流行的32位的高速ARM是基于允许Linux进入嵌入式装置的微控装置。这就是需要调试核以及应用变得重要的原因。尽管Linux是一个真正多进程的操作系统,它利用一个存储管理单元(MMU)来给每个过程一个单独的存储空间。但是低端的ARM核(ARM7)不具有存储管理单元,因此Linux的常规性性没有被应用。这里讲述的是uClinux,一种定向于微存储管理单元的CPU的Linux系统。尽管没有存储管理单元被应用,没有实际的存储空间是可利用的。这就意味着所有的过程都共享同样的存储空间,因而每个处理过程,每次都是下载到不同基地址,而这在被应用的时候都不知道。 为什么通过JTAG调试? 通过JTAG界面进行调试不需要监测器,像程序在目标上运行,因此是这是免打扰的,而且不占用目标资源。 平台和工具: 为了达到这篇应用介绍的目的,我会运用到: uClinux 核v2.4 GNU工具链——gcc v2.95,gdb/insight v6.5.50 目标CPU——Atmel AT91C140 JTAG仿真器——PEEDI 备注:不要在v6.3前使用GNU gdb/Insight,这会破坏工作支持。 设置PEEDI 除了所有在目标配置文件中共同的设置之外,有另一个参数需要被设置——在uClinux核中init_task_union结构的基地址。这个结构包含所有当前在目标文件内运行的程序的列表。因此PEEDI可以显示它们。这个地址在运行uClinux核被得知,因为每次这个核被装载时都用同样的地址。它可能会从用nm gcc工具中获得,比如: 这里linux是uClinux elf格式的程序。现在我们可以在目标配置文件中设置地址了: 目标设置 三幅不同的程序已经在目标中程式化 ——uboot——这是引导载入器 ——linux核 ——ROM文件系统程序 在简单的程序执行中,配置文件中的每段程序被描述成不同的FLASH部分,这种PEEDI闪存设置命令方式可被用作它们之间的转换。 在我们选择好所用的核之后我们可以执行程序了,然后选择和执行另外两段程序: 我们已经完成目标的执行,现在我们可以设置其它起始部分,这不需要初始化目标,因为这是引导载入器完成的,只有设置Embeddedlce存储器在软件断点模式下断开: 调试核 在调试核时你需要用调试信息编辑它: 运行make config 或者make menuconfig 确保Custtomize kernel Setting 确保Customize Vendor/User Settings 在核设置时,开启Full Symbolic/Source debugging support 在用户设置时,开启build debugable libraries 和build debugable applications. 保持整洁,保持数据执行保护。 备注:如果你只想调试uClinux应用程序而不包括核,那么不需要在调试信息时编译核。 我们用以下.gdbinit文件来更简便的调试: 在核已经建立之后你可以开始载入gdb/insight。 在.gdbinit文件之后,gdb会自动地连接PEEDI,然后我们可以载入程序。 开始uClinux核只需键入: 这时你已经进入了核,而且已经备份了。现在你可以断开调试,增加断点来调试你的编程。 调试应用 调试uClinux应用时,你需要首先准备这些应用:在应用的开始加入一个软件断点模式,这将会让程序在它开启时停在那儿。 再次编译应用,让ROMFS并编译它使得符合目标。 从闪存或者RAM中引导uClinux核。 你可以从你的系列控制台或者远程登录开始应用。 目标会在运行到(”.long 0xDFFFDFFF)行时停止。 gdb命令”info threads”给你.text,.data和.bss系列开始的信息,这对载入符号信息时是必要的。 Spar是我们关注的。现在我们知道程序的地址,我们需要而且我们可以载入需要被执行的带有正确的信息地址的文件: (peedi)add-symbol-file spar.gdb 0xF64040-s.data 0xF4A004-s.bss 0xF53104 add symbol table from file”spar.gdb”at .text_addr=0x64040 .data_addr=0xf4a

文档评论(0)

1亿VIP精品文档

相关文档