1,调试器的原理
IDE ->ide第三方厂商实现接口->远程调试第三方厂商实现接口->第三方调试器()->硬件调试接口->cpu
第三方调试器可以是jlink,可以是stlink,可以是国假自主实现的一些调试器,硬件调试接口跟cpu有关
原理:内核ip支持高级调试模块,在断点时,会暂停内核和系统,并读取内核状态和系统状态(数据值,寄存器值,调用关系),并支持恢复内核运行和系统程序运行;
2,调试接口类型
jlink是一个调试器,调试接口分为jtag/SWD;JTAG有20pin和10pin的,SWD 4个pin就可以,所以SWD占用更少的引脚
3,调试方法:
1,断点调试:代码断点,条件断点,数据断点,trace调试
2,watch 查看内存,查看变量地址,怎么知道变量地址(右击变量时能看到变量地址),或者直接变量右击add
3,寄存器查看,看一个实际的寄存器调试案例
调试按键方法都多练,借助成熟的gd32项目多练
参考
https://www.baidu.com/s?ie=utf-8&f=3&rsv_bp=1&tn=baidu&wd=%E6%8C%87%E4%BB%A4%E6%96%AD%E7%82%B9%E5%92%8C%E6%95%B0%E6%8D%AE%E6%96%AD%E7%82%B9&oq=%25E6%258C%2587%25E4%25BB%25A4%25E6%2596%25AD%25E7%2582%25B9&rsv_pq=8415efb0009125c7&rsv_t=6be76WW2Fb82dfmChhGXxsgWnAbMB2c8sRvsXzNS2dkxNwErd27JUXxpsnc&rqlang=cn&rsv_enter=1&rsv_dl=ts_0&rsv_sug3=1&rsv_sug1=1&rsv_sug7=100&rsv_sug2=0&rsv_btype=t&prefixsug=%25E6%258C%2587%25E4%25BB%25A4%25E6%2596%25AD%25E7%2582%25B9&rsp=0&inputT=457&rsv_sug4=2137&rsv_sug=1