本文基于文章《蜂鸟E203系列——Linux下运行hello world例程》
GDB(GNU Project Debugger),是 GNU 工具链中的调试软件。GDB 是一款应用非常广泛的调试工具,能够用于调试 C、 C++、 Ada 等等各种语言编写的程序,它提供如下功能:
GDB 可以用于在主机 PC 的 Linux 系统中调试运行的程序,同时也能用于调试嵌入式硬件,在嵌入式硬件的环境中,由于资源有限,一般的嵌入式目标硬件上无法直接构建 GDB 的调试环境(譬如显示屏和 Linux 系统等),这时可以通过 GDB + GdbServer 的方式进行远程 (remote) 调试,通常而言 GdbServer在目标硬件上运行,而 GDB 则在主机 PC 上运行。
命令 | 描述 |
---|---|
load file | 动态连接file |
jump | 使当前程序跳转到某一行或某个地址 |
info br | 查看断点信息 |
break function | 在指定的函数或行号设置断点 |
step | 进入函数内部 |
next | 执行下一行代码,但是不进入函数内部 |
continue | 恢复程序运行,直到碰到下一个断点 |
https://www.cnblogs.com/jasonLiu2018/p/11494214.html https://www.cnblogs.com/lsgxeva/p/8024867.html
为了能够支持 GDB 对其进行调试, 蜂鸟 E203 使用 OpenOCD 作为其 GdbServer 与 GDB 进行配合。OpenOCD (Open On-Chip Debugger) 是一款开源的免费调试软件,由社区共同维护,由于其开放开源的特点,众多的公司和个人使用其作为调试软件,支持大多数主流的 MCU 和硬件开发板。
在hbird-e-sdk目录下执行
make dasm PROGRAM=helloworld BOARD=hbird-e200 CORE=e203 DOWNLOAD=flash USE_NANO=1 NANO_PFLOAT=0
make upload PROGRAM=helloworld BOARD=hbird-e200 CORE=e203 DOWNLOAD=flash USE_NANO=1 NANO_PFLOAT=0
make run_openocd PROGRAM=helloworld BOARD=hbird-e200 CORE=e203 DOWNLOAD=itcm
make run_gdb PROGRAM=helloworld BOARD=hbird-e200 CORE=e203 DOWNLOAD=itcm
break main
info break
jump main
n