STM32F103工程 PA0,1,2接RGB灯 PA9,10接UART串口
openocd使用:
- 安装: brew install open-ocd
- 运行: openocd -f ./script/stlink.cfg -f ./script/stm32f103c8_blue_pill.cfg
- 调试方式:
运行openocd,之后执行bin/arm中的gdb工具:
- gdb ./intermediate/application.elf < 它要有符号表
- target extended-remote localhost:3333 < 使用extended可以有更多指令可执行(e.g. 重启程序)
- gdb调试指令 当成功启动了gdb之后:
- layout
用于在断点被命中之后,进入可视化的调试模式(TUI)。
- layout src:显示源码
- layout asm: 显示汇编
- start 用于重启程序,并直接在main函数入口位置进行断点
- run 用于重启程序,但假如你没有设置断点,它会一直运行(即便是出现了崩溃).Ctrl + C强制中断程序
- 控制执行
- step 或 s: 逐语句执行,会进入函数内部
- next 或 n: 逐语句执行,不会进入函数内部
- finish: 完成当前函数执行并回到调用位置
- print 用来计算表达式的值(e.g. 观察局部变量具体值)
- break 用来设置断点
- info breakpoints 用来显示当前已经设置的断点
- delete [break point index] 用来删除断点,index可以用info来进行查询
- i r [register name] info register,用来在进行汇编调试的时候,显示指定寄存器中的值