Ubuntu下串口调试

在Win下进行串口调试,可以使用putty,以及SecureCRT等工具进行调试,在Ubuntu下同样可以进行串口调试,而且更为简单,连pl2303驱动都不用安装。

查看端口

  1. 插上开发板serial-usb线后,看usb端口情况,第三行即为开发板,同时可以看到端口为2303.
    ➜  ~ lsusb
    Bus 002 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub
    Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    Bus 001 Device 004: ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port
    Bus 001 Device 003: ID 046d:c52f Logitech, Inc. Unifying Receiver
    Bus 001 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub
    Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    
  2. 查看开发板连接的端口,Ubuntu下,所有的连接的设备均在/dev目录下,看刚才插上usb后新增的设备,如下,新增设备名称为:/dev/ttyUSB0
    ➜  ~ ls -l /dev | grep ttyUSB 
    crw-rw---- 1 root dialout   188,   0  8月  3 14:11 ttyUSB0
    

配置minicom

通过:

sudo minicom -s

可以打开minicom的配置菜单,以下配置均在此界面下完成。

配置端口Serial port setup

  1. 端口选项
    Serial port setup
    
  2. 修改:A Serial Device为刚才查到的设备接口:/dev/ttyUSB0;
  3. 速率保持115200不变;
  4. 修改:F项,设置为No。(这一步很重要,否则连不上)。
  5. 按回车返回主菜单界面。

配置Moden and dialing

  1. minicom是作为超级终端控制路由器使用,而不是控制moden。
  2. 将A(Init string)、B(Reset string)、K(Hang-up string)这三项设置为空。

保存设置

务必在主菜单中选择,将刚才的设置保存为默认配置。

Save setup as dfl

进入单片机

  1. 当以上配置搞定后,直接键入命令行,即可连接开发板.
    sudo minicom
    
  2. 将开发板节点,linux终端即可看到输出。
    Freeing init memory: 88K                                                        
                                                                                    
                _ _ _ _ _ _ _ _ _ _ _ _                                             
                \  _  _   _  _ _ ___                                                
                / /__/ \ |_/                                                        
               / __   /  -  _ ___                                                   
              / /  / /  / /                                                         
      _ _ _ _/ /  /  \_/  \_ ______                                                 
    ___________\___\__________________                                              
                                                                                    
    [RCS]: /etc/init.d/S00devs                                                      
    [RCS]: /etc/init.d/S01udev                                                      
    udevd (273): /proc/273/oom_adj is deprecated, please use /proc/273/oom_score_ad.
    [RCS]: /etc/init.d/S80network                                                   
    Hisilicon Media Memory Zone Manager                                             
    hi3518_base: module license 'Proprietary' taints kernel.                        
    Disabling lock debugging due to kernel taint                                    
    Hisilicon UMAP device driver interface: v3.00                                   
    pa:82200000, va:c2a00000                                                        
    load sys.ko ...OK!                                                              
    load viu.ko ...OK!                                                              
    ISP Mod init!                                                                   
    load vpss.ko ....OK!                                                            
    load vou.ko ....OK!                                                             
    load venc.ko ...OK!                                                             
    load group.ko ...OK!                                                            
    load chnl.ko ...OK!                                                             
    load h264e.ko ...OK!                                                            
    load jpege.ko ...OK!                                                            
    load rc.ko ...OK!                                                               
    load region.ko ....OK!                                                          
    load vda.ko ....OK!                                                             
    hi_i2c init is ok!                                                              
    Kernel: ssp initial ok!                                                         
    Hisilicon Gpio Driver OK                                                        
    acodec inited!                                                                  
    insert audio                                                                    
    ==== Your input Sensor type is ov9712 ====                                      
    udhcpc (v1.16.1) started                                                        
    Setting IP address 0.0.0.0 on eth0                                              
    Auto login as root ...                                                          
    Sending discover...                                                             
    Jan  1 00:00:06 login[499]: root login on 'ttyS000'                             
    Welcome to HiLinux. 
    
  3. 图片

serial_debug_1.png serial_debug_2.png serial_debug_3.png

minicom常用快捷键

通过minicom进入开发板系统后,需要正确关闭,否则下次进入系统会很困难。

  1. 当系统未正常退出时,需要清空/var/lock下面的LCK*文件。
  2. 正常退出命令为:
    Ctrl+a
    X
    
  3. 常用命令如下:
    	C-A 两次按下C-A将发送一个C-A命令到远程系统。如果你把"转义字符"
    	换成了C-A以外的什么字符,则对该字符的工作方式也类似。
    	A 切换"Add Linefeed"为on/off。若为on,则每上回车键在屏幕上
    	显示之前,都要加上一个linefeed。
    	B 为你提供一个回卷(scroll back)的缓冲区。可以按u上卷,按d下卷,
    	按b上翻一页,按f下翻一页。也可用箭头键和翻页键。可用s或S键
    	(大小写敏感)在缓冲区中查找文字串,按N键查找该串的下一次出现。
    	按c进入引用模式,出现文字光标,你就可以按Enter键指定起始行。
    	然后回卷模式将会结束,带有前缀'>'的内容将被发送。
    	C 清屏。
    	D 拨一个号,或转向拨号目录。
    	E 切换本地回显为on/off (若你的minicom版本支持)。
    	F 将break信号送modem。
    	G 运行脚本(Go)。运行一个登录脚本。
    	H 挂断。
    	I 切换光标键在普通和应用模式间发送的转义序列的类型(另参下面 
    	关于状态行的注释)。
    	J 跳至shell。返回时,整个屏幕将被刷新(redrawn)。
    	K 清屏,运行kermit,返回时刷新屏幕。
    	L 文件捕获开关。打开时,所有到屏幕的输出也将被捕获到文件中。
    	M 发送modem初始化串。若你online,且DCD线设为on,则modem被初始化
    	前将要求你进行确认。
    	O 配置minicom。转到配置菜单。
    	P 通信参数。允许你改变bps速率,奇偶校验和位数。 
    	Q 不复位modem就退出minicom。如果改变了macros,而且未存盘,
    	会提供你一个save的机会。
    	R 接收文件。从各种协议(外部)中进行选择。若filename选择窗口和下
    	载目录提示可用,会出现一个要求选择下载目录的窗口。否则将使用
    	Filenames and Paths菜单中定义的下载目录。
    	S 发送文件。选择你在接收命令中使用的协议。如果你未使文件名选择
    	窗口可用(在File Transfer Protocols菜单中设置),你将只能在一
    	个对话框窗口中写文件名。若将其设为可用,将弹出一个窗口,显示
    	你的上传目录中的文件名。可用空格键为文件名加上或取消标记,用
    	光标键或j/k键上下移动光标。被选的文件名将高亮显示。 目录名在
    	方括号中显示,两次按下空格键可以在目录树中上下移动。最后,按
    	Enter发送文件,或按ESC键退出。
    	T 选择终端模拟:ANSI(彩色)或VT100。此处还可改变退格键,打开或
    	关闭状态行。
    	W 切换linewrap为on/off。
    	X 退出minicom,复位modem。如果改变了macros,而且未存盘,会提供 
    	你一个save的机会。
    	Z 弹出help屏幕。