项目简介
本项目聚焦于ARM嵌入式系统的调试工作,提供使用Eclipse调试和核心转储文件分析的方法与指令,助力开发者在开发基于ARM处理器的控制器软件时,高效定位并解决问题。
项目的主要特性和功能
- Eclipse调试支持:利用OpenRTOS Viewer调试,可查看队列表等信息,能通过特定条件判断信号量的获取和释放情况。
- 核心转储文件分析
- 提供反汇编、符号读取和函数地址搜索等指令,便于代码分析。
- 支持GDB远程调试,可查看当前任务控制块、内存转储、寄存器信息等,还能运行程序和设置断点。
- 提供延迟附加情况下的核心转储文件分析方法,包含内存数据的保存和恢复。
安装使用步骤
假设用户已下载本项目的源码文件,以下是基本使用步骤:
核心转储文件分析
反汇编和符号读取
在终端中执行以下命令进行反汇编并保存到文件:
sh
arm-none-eabi-objdump -D controller > dis.txt
查看ELF文件信息:
sh
arm-none-eabi-readelf –ls controller
根据地址搜索函数:
sh
arm-none-eabi-nm -n controller | grep 0800
GDB调试
启动GDB并连接到目标设备:
sh
arm-none-eabi-gdb controller
(gdb) target remote localhost:3333
复位并暂停目标设备:
sh
(gdb) monitor reset halt
查看当前任务控制块:
sh
(gdb) print *pxCurrentTCB
进行内存转储:
sh
(gdb) x/100x 0x2000fd00
查看寄存器信息:
sh
(gdb) info reg
运行程序:
sh
(gdb) c
使用 <ctrl>-c
中断程序。
延迟附加情况下的核心转储分析
在GDB中进行以下操作:
sh
(gdb) target remote localhost:3333
(gdb) monitor halt
(gdb) dump binary memory <file-name>.bin 0x20000000 0x20010000
(gdb) print *pxCurrentTCB
(gdb) x 0x20000000
(gdb) print pc
(gdb) print *file
(gdb) print line
(gdb) info reg
(gdb) load
(gdb) restore gdb_dump_18-03-2015 binary 0x20000000
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】