锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

UART串口调试

时间:2022-09-11 15:30:00 10pin公母连接器

转载自:https://www.secpulse.com/archives/157847.html

UART串口调试

脉搏文库 TideSec

2021-04-23 4,356

0x00前言

前段时间陆陆续续的对光猫、路由器、摄像头等硬件接口调试进行了学习,但都没有进行记录,所以在此把学习过程简单记录下来,方便后续查阅。

0x01所需工具

1、TTL转USB版  2、万用表  3、TTL转USB版  4、SecureCRT连接工具  5.电烙铁(可选)  6.公母杜邦线  7.路由器、光猫等设备

0x硬件接口简介

例如,硬件接口UART、JTAG、I2C、SPI ,用于设备制造商在设计时的前期调试,生产时的程序烧录,以及诊断测试使用。

保持板上调试端口开启可能造成的危害,如设备与云和移动应用软件的通信协议泄露、信息完整性验证算法泄露、加密过程中使用的密钥泄露,然后使用对这些信息的理解,从而影响更多相同类型的设备。

0x介绍03部分通信接口

通信界面介绍-UART(通用异步接收器发送器)

通用异步收发传输器(Universal Asynchronous Receiver/Transmitter),通常称作UART,它是一种异步收发传输器,是计算机硬件的一部分。它在串行通信和并行通信之间转换要传输的数据。将并行输入信号转换为串行输出信号的芯片,UART通常集成在其他通信接口的连接上。

UART 允许两个硬件外围设备之间的异步串行通信。它们可以位于同一个电路板上(如微控制器和电机或LED屏幕通信)也可以位于两个不同的设备之间(如设备微控制器和PC通信)。它可以通过串行读取/写入设备。

在许多物联网设备中,板上UART端口保持开放,任何人都可以通过串口连接和访问获得shell,当我们连接到微控制器时,日志输出等。UART RX和TX引脚时,可用于发送和接收串行数据。


UART引脚介绍:

VCC:供电pin,一般是3.3v-5v,正极

GND:接地,负极

RXD:接收数据引脚

TXD:发送数据引脚

通信界面介绍- JTAG(微控制器调试接口)

JTAG属于微控制器调试接口。微控制器在运行过程中使用指定的引脚进行调试,这些引脚与电路板相连。这些引脚(端口)由开发人员和设计人员调试,读写固件和微控制器内部存储器,生产后控制/测试微控制器引脚。由于它为攻击者提供了强大的功能和访问权限,调试端口成为最关键的攻击面之一。除了JTAG还包括cJTAG、SWD。

通信接口介绍- I2C、SPI

I2C

集成电路总线是串行通信总线。内部集成电路是同一板芯片之间的短距离通信协议。I2C连接到微控制器I2C引脚,通常存储数据或代码。典型的攻击包括篡改数据、提取敏感信息、破坏数据等。EEPROM芯片上的静态数据,通过嗅探I2C运行时通信分析可以了解安全隐患。

SPI

串行外设接口也是同一板芯片之间的短距离通信协议。I2C相比,具有更高的吞吐量。
用于与各种外围设备通信。EEPROM芯片也使用SPI。测试测试和分析的方法I2C类似。

0x04芯片识别

不熟悉的芯片可以通过芯片上的型号直接查询数据:

1.https://www.21icsearch.com 2https://www.datasheets.com/zh-cn 3.http://www.datasheetlocator.com/zh 4.https://www.datasheetpdf.com 5.https://www.ifixit.com 6.https://fccid.io 

0x05寻找UART串口方法

调试UART在设备之前,首先在板上找到相应的引脚:

如果有明确标记引脚的板,可以直接使用USB转TTL工具按下图连接方式连接:

1、GND引脚对应TTL的GND

2、RXD引脚对应TTL的TXD

3、TXD引脚对应TTL的RXD

若PCB板子上没有明确标识出引脚的设备,还需要通过其它方法确定UART接口:

可以在PCB在板上寻找并排焊点或通孔。一般来说,大约3-5个通孔可以用作UART调试串口的初步定位。


1、定位GND


将万用表扭转到蜂鸣档,将一支表笔抵住电源焊锡点,另一支表笔抵住通孔位置进行测试,发出蜂鸣声的通孔可初步判断为GND。


2、定位VCC

因已知VCC电压为3.3V,将万用表扭到20V上面,放一支表笔GND上面,另一个表笔依次测试其他通孔,看哪个是电压3.3V,发现两个引脚均为3.3V。


因为两只脚同时是3.3V或5V,所以我们用它VCC GND 正负相连短路最终确定VCC引脚,我们连接插线GND,另一个端对两个端对三.5V测试通孔,发现连接到第二个孔时,电源灯熄灭,因此确定通孔为VCC引脚。

3、定位TXD

根据经验,每次启动数据传输时,引脚电压都会发生变化来判断TXD将表笔放入剩余未确定的口中,重启设备,观察电压变化。


4、定位RXD

其他三个引脚定位完成,剩下的就是RXD引脚...

定位后使用USB转TTL工具可以按顺序接入电脑

打开SecureCRT-选择Serial-COM口-波特率可以连接到UART串口

成功连接

0x06问题排查

连接设备时乱码:

一是接线松动,线序接反。

根据上述步骤,可以重新检查通孔位置,检查是否有接触不良,重新焊接引脚。

二是波特率设置不当造成的问题,可以尝试更换常用的波特率。

目前常用的波特率为115200,但根据设备不同,遇到时可根据情况判断合适的波特率。

1.波特率:

每秒传输的二进制位数
国际上规定了标准波特率系列:

110、300、600、1200、1800、2400、4800、9600.4Kbps、19.2Kbps、28.8Kbps、33.Kbps、56Kbps等

 

2.波特率因子


在波特率指定后,输入移位寄存器/输出移位寄存器在接收时钟/发送时钟控制下,按指定的波特率速度进行移位

 

连接设备时可读不可输入问题:

 

SecureCRT , Session Options -> Connection -> Serial -> Flow Control,将默认选中的 RTS/CTS 取消掉即可正常输入。


 

0x07参考致谢

 

https://www.jianshu.com/p/36540b602ef6
https://blog.csdn.net/oyaseng/article/details/81207999
https://paper.seebug.org/506/


 

 

E

N

D

 

本文作者:TideSec

本文为安全脉搏专栏作者发布,转载请注明:https://www.secpulse.com/archives/157847.html

锐单商城拥有海量元器件数据手册IC替代型号,打造电子元器件IC百科大全!

相关文章