Sigmastar Uart_debugsop手册
REVISION HISTORY¶
Revision No. | Description |
Date |
---|---|---|
1.0 | 04/15/2024 |
问题1. Uart收不到数据或者收到的数据不符合预期¶

流程 | 方法 | 出口条件 | 下一步 | 需要供给SWRD的资料 | 相关可参考FAQ |
---|---|---|---|---|---|
A | 数据接收情况,可使用串口工具进行调试 | 出口条件1: 1.完全接受不到数据 出口条件2: 1.可以接受到数据,但是内容错误 出口条件3: 1.正常接收数据 |
出口条件1: >B 出口条件2: >C 出口条件3: ==>流程结束 |
||
B | 确认使用的pin对应的gpio index,通过sys下的gpio节点控制gpio拉高拉低 | 出口条件1: 1.rx pin无法正常拉高拉低 出口条件2: 1.rx pin可以正常拉高拉低 |
出口条件1: >检查测量点到芯片对应pin是否导通或是否有电路钳制 出口条件2: >D |
||
C | 抓取接收端的波形分析 | 出口条件1: 1.信号异常 出口条件2: 1.信号正常 |
出口条件1: >通路上是否有其他设备干扰或电容 出口条件2: >E |
||
D | 检查padmux / digmux设定 | 出口条件1: 1.设定异常 出口条件2: 1.设定正常 |
出口条件1: >纠正后回到A 出口条件2: >F |
||
E | 检查uart配置是否与设备匹配,通过stty & cat进行测试 | 出口条件1: 1.波特率设置错误,或停止位校验位设定错误 出口条件2: 通过stty & cat进行测试,结果仍旧错误 |
出口条件1: >纠正后回到A 出口条件2: >流程结束 |
出口条件2: 1.协助SWRD搭建环境 |
|
F | 检查数据发送前后,uart中断次数变化 | 出口条件1: 1.无变化 出口条件2: 1.中断次数增加 |
出口条件1: >G 出口条件2: >E |
||
G | 抓取接收端的波形分析 | 出口条件1: 1.信号异常或无信号 出口条件2: 1.信号正常 |
出口条件1: >检查rx通路 出口条件2: >H |
||
H | 使用riu_r或tv-tool抓取寄存器,抓起的bank:0x1009 0x101e 0x1038 0x103c,后台运行程序时进行抓取因为程序关闭时,uart驱动会清除硬件相关设定 | 出口条件1: 1.抓取寄存器状态 |
出口条件1: ==>流程结束 |
出口条件1: 1.提供寄存器状态 |
问题2. Uart无法发送数据¶

流程 | 方法 | 出口条件 | 下一步 | 需要供给SWRD的资料 | **相关可参考FAQ ** |
---|---|---|---|---|---|
A | 数据发送情况,可使用串口工具进行调试 | 出口条件1: 1.串口工具完全接收不到数据 出口条件2: 1.串口工具可以接收到数据,但是内容错误 出口条件3: 1.正常接收数据 |
出口条件1: >B 出口条件2: >C 出口条件3: ==>流程结束 |
||
B | 确认使用的pin对应的gpio index,通过sys下的gpio节点控制gpio拉高拉低 | 出口条件1: 1.tx pin无法正常拉高拉低 出口条件2: 1.tx pin可以正常拉高拉低 |
出口条件1: >检查测量点到芯片对应pin是否导通或是否有电路钳制 出口条件2: >D |
||
C | 抓取波形分析 | 出口条件1: 1.信号异常 出口条件2: 1.信号正常 |
出口条件1: >通路上是否有其他设备干扰或电容 出口条件2: >E |
||
D | 检查padmux / digmux设定 | 出口条件1: 1.设定异常 出口条件2: 1.设定正常 |
出口条件1: >纠正后回到A 出口条件2: >F |
||
E | 检查uart配置是否与设备匹配,通过stty & echo进行测试 | 出口条件1: 1.波特率设置错误,或停止位校验位设定错误 出口条件2: 通过stty & echo进行测试,结果仍旧错误 |
出口条件1: >纠正后回到A 出口条件2: >流程结束 |
出口条件2: 1.协助SWRD搭建环境 |
|
F | 抓取波形分析 | 出口条件1: 1.无信号 出口条件2: 1.信号异常 出口条件3: 1.信号正常 |
出口条件1: >G 出口条件2: >通路上是否有其他设备干扰或电容 出口条件3: ==>E |
||
G | 使用riu_r或tv-tool抓取寄存器,抓起的bank:0x101e 0x1038 0x103c,后台运行程序时进行抓取因为程序关闭时,uart驱动会清除硬件相关设定 | 出口条件1: 1.抓取寄存器状态 |
出口条件1: ==>流程结束 |
出口条件1: 1.提供寄存器状态 |
问题3. 调试串口卡死¶

流程 | 方法 | 出口条件 | 下一步 | 需要供给SWRD的资料 | **相关可参考FAQ ** |
---|---|---|---|---|---|
A | 在串口工具上敲命令,观察现象 | 出口条件1: 1.观察到回显,但是命令行出不来 出口条件2: 1.观察不到回显 |
出口条件1: >B 出口条件2: >C |
||
B | 确认是否由于本地修改导致,或做了某个步骤导致的,由于可以观察到回显,rx与tx均正常,有可能是死锁了,或程序执行陷入循环中 | 出口条件1: 1.确认到由于代码修改引入的问题 出口条件2: 1:确认由于执行了某个步骤引入的问题(包括开关某些功能,dailybuild检测出的问题,版本更新引发的问题) |
出口条件1: >自行确认 出口条件2: >请相关owner进场排查 |
||
C | 如果有telnet,尝试连接telnet | 出口条件1: 1.没有telnet或无法连接 出口条件2: 1.可以正常连接 |
出口条件1: >D 出口条件2: >E |
||
D | 测试tv-tool能否抓取寄存器,读取bank 0x1004,前半部分值应该是固定的,后半部每次读取到的内容会一直变化 | 出口条件1: 1.无法正常抓取寄存器 出口条件2: 1.可以正常抓取寄存器 |
出口条件1: >F 出口条件2: >G |
||
E | 通过telnet观察uart0的中断次数,cat /proc/interrupts,在调试串口工具输入,再次通过telnet观察uart0的中断次数,通过riu_r工具读取寄存器,需要读取的bank:0x3F 0x1009 0x101e 0x1038 0x103c 0x1107 | 出口条件1: 1.中断次数变化情况 2.获取到寄存器状态 |
出口条件1: ==>流程结束 |
出口条件1: 1.保留现场环境 2.反馈中断是否有变化 3.提供寄存器状态 |
|
F | 排查硬件,测量power,一般寄存器无法读取的原因是对应区块的供电停止了,不排除其他缘故 | 出口条件1: 1.检测到由于power异常导致的 出口条件2: 1.不是由于power导致的 |
出口条件1: >流程结束 出口条件2: >流程结束 |
出口条件2: 1.保留现场环境 |
|
G | 按照以下步骤读取寄存器: 1.bank: 0x101e offset:0x57 写0xF 2.读取bank:0x3F 0x1009 0x101e 0x1038 0x103c 0x1107 |
出口条件1: 1.获取到寄存器状态 |
出口条件1: ==>流程结束 |
出口条件1: 1.保留现场环境 2.提供寄存器状态 |