本人Ubuntu14.04下亲测可用,送给爱折腾的孩子们!
1.安装串口工具:
#sudo apt-get install ckermit
--------------------------------------
2.配置相应的kermrc文件。
#sudo vi /etc/kermit/kermrc 或
#sudo vi ~/.kermrc
添加如下内容(这是linux和uboot的推荐配置):
set line /dev/ttyUSB0
set speed 115200
set carrier-watch off
set handshake none
set flow-control none
robust
set file type bin
set file name lit
set rec pack 1000
set send pack 1000 ;如果需要下载内核等大文件,这里可以改大一点。
set window 5
--------------------------------------
注意:
1).如果是U转串则第一行默认为:ttyUSB0,如果是自带的串口默认为:ttyS0。
2).Ubuntu下默认是安装了U转串驱动的(PL2303),不需要自己重装。
可用:$ lsmod |grep usbserial和dmesg | grep ttyUSB0查看,如果有usbserial则证明系统支持U转串。
3).如果是虚拟机里运行的话,需要打开右下角的:Future Device FT232R USB Uart的图标,点击连接。
4).系统会优先使用用户下的配置文件,当用户目录下不存在.kermrc时才会执行/etc/kermit/kermrc。
--------------------------------------
3.启动连接
启动指令:
# sudo kermit
C-Kermit> //进入kermit命令行模式
连接指令:
C-Kermit>connect/c //连接到指定的串口设备:
#如果设置正确那么现在就可看到串口输出信息了。
异常现象1:
Sorry, you must SET LINE or SET HOST first
可能原因:
1.没有以管理员权限执行或配置文件没有正确保存,重新配置即可。
2.如果是虚拟机的话可能没有打开串口图标。
3.没有操作串口设备权限,可尝试输入:
sudo chmod 777 /dev/ttyUSB0(具体串口设备) 解决问题。
异常现象2:
串口打印输出出各种乱码。
可能原因:
1.配置的串口波特率是否和开发板的输出一致(不知道可以查手册,一般都是115200)
2.串口线是否接好,拔掉重新连接,RS232需要连接GND、RS485只连两根信号线即可。
--------------------------------------
4.模式切换
在串口打开的状态下,按下 Ctrl + , 再按c 可以跳回kermit命令模式。
C-Kermit>
此时,输入c,即connect 即可重新连接到串口;输入q退出kermit。
5.发送文件
--------------------------------------
以传送内核到u-boot为例,在kermit中输入connect/c后,跳到u-boot串口界面。
C-Kermit>connect
输入:loadb 0xadress 回车。
按下 ctrl + ,再按c,切换到kermit命令行模式下,
输入:send /home/sun/zImage
此时kermit开始传送数据,并可以看到传送进度,发送完后,输入c,再回到u-boot界面,
输入:go 0xaddress //也可将内核写入flash中,让u-boot自动引导启动。
此时内核便开始运行了!