烟台市芝罘区建设局网站,遵义网红街,个人网站制作说明,网站开发下单功能文章目录 测试代码makefile运行 qemu调试 qemuGDB 常用命令 裸机篇系列文章主要用于熟悉 arm 汇编及处理器结构
测试代码
_start:ldr r0, 0X020C4068 /* CCGR0 */ldr r1, 0XFFFFFFFF str r1, [r0]ldr r0, 0X020C406C /* CCGR1 */str r1, [r0]ldr r0, 0X020C4070 … 文章目录 测试代码makefile运行 qemu调试 qemuGDB 常用命令 裸机篇系列文章主要用于熟悉 arm 汇编及处理器结构
测试代码
_start:ldr r0, 0X020C4068 /* CCGR0 */ldr r1, 0XFFFFFFFF str r1, [r0]ldr r0, 0X020C406C /* CCGR1 */str r1, [r0]ldr r0, 0X020C4070 /* CCGR2 */str r1, [r0]ldr r0, 0X020C4074 /* CCGR3 */str r1, [r0]ldr r0, 0X020C4078 /* CCGR4 */str r1, [r0]ldr r0, 0X020C407C /* CCGR5 */str r1, [r0]ldr r0, 0X020C4080 /* CCGR6 */str r1, [r0]ldr r0, 0X020E0068ldr r1, 0X5str r1,[r0]ldr r0, 0X020E02F4ldr r1, 0X10B0str r1,[r0]ldr r0, 0X0209C000 ldr r1, 0str r1,[r0]loop:b loop makefile
test.bin:test.sarm-none-linux-gnueabihf-gcc -g -c test.s -o test.oarm-none-linux-gnueabihf-ld -Ttext 0X87800000 test.o -o test.elfarm-none-linux-gnueabihf-objcopy -O binary -S -g test.elf test.binarm-none-linux-gnueabihf-objdump -D test.elf test.dis
clean:rm -rf *.o test.bin test.elf test.dis运行 qemu
qemu-system-arm -machine mcimx6ul-evk -kernel test.elf -S -s-s 监听在 gdb 1234 端口 -S 表示启动后就挂起等待 gdb 连接 -kernel 指定启用的内核镜像
调试 qemu
安装调试器
sudp apt-get install gdb-multiarch 启动调试器
gdb-multiarch --tui test.elf target remote localhost:1234
连接到刚才启动的 qemu 进程上然后开始调试注意qemu此时会断点在启动阶段必须要用gdb的continuec命令使其继续执行
GDB 常用命令
continue/c 程序继续运行到下一断点处暂停run/r 运行step/c 单步运行info reg 查看寄存器break/b 标号/行号 设置端点info break/b 查看端点