Debug是什么?
从这个名字的由来说起,一位名叫葛丽丝·霍波(Grace Hopper)的美国海军准将
及计算机科学家,同时也是世界最早的一批程序设计师之一。
有一天,她在调试设备时出现故障,拆开继电器后,
发现有只飞蛾被夹扁在触点中间,从而“卡”住了机器的运行。
于是,霍波诙谐的把程序故障统称为“臭虫(BUG)”,
把排除程序故障叫DEBUG,那这个词也就这么来了,是不是发现好多名词都是这么无意之间来的?
到了现在Debug本质上 是一种程序 ,一种调试工具,是为了让程序员检查修改问题得工具
Debug把所有得数据都当成 字节来处理 因此他可以用来检查内存中任何地方得字节
以及修改任何地方得字节 。 他可以通过执行指令来执行某个程序来验证这个程序运行得正确性
,也可以在机器码这个级别追踪执行过程、比较一个指令执行前后得只以及比较与移动内存中的数据范围
、读写文件与磁盘扇区。
SWD 和 JTAG引脚区别:
JTAG:
TDI:Test Data In。串行输入引脚
TDO:Test Data Out,串行输出引脚
TCK:Test Clock,时钟引脚
TMS:Test Mode Select,模式选择(控制信号)引脚
TRST:Test Reset,复位引脚
SWD:
SWDIO:Serial Wire Data Input Output,串行数据输入输出引脚
SWCLK:Serial Wire Clock,串行线时钟引脚
SW 协议序列每个序列包括三个阶段:
主机发送的数据包请求( 8 位)
目标发送的确认响应( 3 位)
主机或目标发送的数据传输阶段( 33 位)
更多详情,请参看Cortex-M内核手册