Hisi 使用GDB调试(直接调试)
环境
宿主机:ubuntu 18.04 x86_64
海思SDK版本:Hi3516EV200_SDK_V1.0.1.2
说明文档
文档路径Hi3516EV200_SDK_V1.0.1.2/osdrv/tools/board/gdb/readme.txt
gdb:http://ftp.gnu.org/gnu/gdb/
ncurses:http://ftp.gnu.org/gnu/ncurses/
usage:
1) Save the downloaded gdb-7.9.1.tar.gz and ncurses-6.0.tar.gz to the tools/board/gdb directory of the osdrv.
2)...
根据说明下载好两个依赖包,源网页访问较慢,可以使用 http://mirrors.neusoft.edu.cn/
编译制作
apt-get install texinfo
cd ~/Hi3516EV200_SDK_V1.0.1.2/osdrv/tools/board/gdb
make all
file gdb-arm-himix100-linux
使用步骤
调试通过nfs把源码、可执行文件、gdb都挂载到开发板上。假设nfs共享路径为~/nfs
cp ~/Hi3516EV200_SDK_V1.0.1.2/osdrv/tools/board/gdb/gdb-arm-himix100-linux ~/nfs
vi main.c #写一个简单的测试代码
arm-himix100-linux-gcc main.c -o main -g #编译DEBUG版本
切换到板端并完成共享文件夹挂载,假设挂载为/root/nfs
路径
cd /root/nfs
./gdb-arm-himix100-linux ./main
(gdb) show . #设置源码路径
(gdb) l #查看源码
(gdb) break 7 #打断点
(gdb) info breakpoints #查看端点信息
(gdb) r #启动调试
(gdb) c #到下一个断点
(gdb) s #单步进入
(gdb) n #下一步
(gdb) print i #打印i的值
(gdb) q #退出