Friday, April 21, 2017

How to use Kermit

1 install: sudo apt-get install ckermit

2 commands:
connect(c)
connect to serial device (kermit -c)
ctrl+\ & c
switch to Kermit cmd prompt from serial port
quit(q)
exit from Kermit
log session
save info in session.log at current direction
send
send file using Kermit protocol to uboot
transmit
send txt file to board
run
execute external command(eg, calling xmodem for sending files)
!
leave Kermit to execute a shell. When exit the shell, it will return to Kermit
?
show all commands

3 download file into development board:
         Step-1: loadb 0x200000 (at uboot prompt)
         Step-2: send ~/uImage (at kermit prompt)

4 use Kermit for normal user:
         Configure ~/.kermrc and get permission for /dev/ttyUSB0
         # ls -l /dev/ttyUSB0
         crw-rw---- 1 root uucp 4, 64 07-17 03:53 /dev/ttyUSB0
         # groupmems -a kery -g uucp

5 configure Kermit:
First, kermit uses ~/.kermrc for initializing, or it is not exist then uses /etc/kermit/kermrc.
#sudo gedit /etc/kermit/kermrc (# cat > ~/.kermrc):
set line /dev/ttyUSB0
set speed 115200
set handshake none
set flow-control none
set carrier-watch off
robust
set file type bin
set file name lit
set rec pack 1000
set send pack 1000
set window 5
set transmit echo on
set transmit pause 20
set transmit timeout 1
set transmit prompt 62
set prompt Kermit>
define sz !sz \%1 \%2 \%3 \%4 \%5 \%6 \%7 \%8 \%9 < \v(line) > \v(line)
define rz !rz \%1 \%2 \%3 \%4 \%5 \%6 \%7 \%8 \%9 < \v(line) > \v(line)
define sx !sx \%1 \%2 \%3 \%4 \%5 \%6 \%7 \%8 \%9 < \v(line) > \v(line)
define rx !rx \%1 \%2 \%3 \%4 \%5 \%6 \%7 \%8 \%9 < \v(line) > \v(line)

c      #connect to serial port when execute Kermit

6 u-boot configuration:
setenv baudrate 115200
setenv stdin serial
setenv stdout serial
setenv stderr serial
setenv consoledev ttyS0
setenv loads_echo 1
setenv loadaddr 200000                #RAM address
setenv loadkernaddr 1000000       #RAM address for tftp download kernel
setenv loadramdaddr 1200000     #RAM address for tftp download ramdisk
setenv kernaddr fe810000             #flash address for kernel
setenv ramdiskaddr fe9a0000       #flash address for ramdisk
setenv ramdisksize 65000              #ramdisk file system size in flash
setenv bootdrive sda1                    #boot device
setenv netdev eth0
setenv ipaddr 59.64.155.244                          #board’s netdev(eth0) ip
setenv bootdelay '3'                                         #unit: Second
setenv bootcmd 'run flashramboot'                 #default boot: from flash
setenv serverip 59.64.155.122                        #nfs server/tftp server ip
setenv rootpath '/home/kery/rootfsln'          #nfs server root direction or link
setenv tftp_path 'bootln'                                     #tftp server root direction or link
setenv netmask 255.255.255.0
setenv gatewayip 59.64.155.1

setenv setargs 'setenv bootfile \$tftp_path/uImage;setenv ramdiskfile \$tftp_path/rootfs.ext2.gz.uboot;'

setenv setnfsargs 'setenv bootargs root=/dev/nfs rw
nfsroot=$serverip:$rootpath ip=$ipaddr:$serverip:$gatewayip:$netmask:$hostname:$netdev:off
console=$consoledev,$baudrate $othbootargs' 

setenv tftpnfsboot  'run setargs;run setnfsargs;tftp $loadkernaddr $bootfile;bootm $loadkernaddr'

setenv tftpramboot 'run setargs;run setramargs;tftp $loadkernaddr $bootfile;tftp $loadramdaddr $ramdiskfile;bootm $loadkernaddr $loadramdaddr'

setenv setenv1 'setenv rootpath /home/kery/rootfs;setenv ipaddr 59.64.155.244;setenv ethaddr 08:00:3e:03:01:10;setenv eth1addr 08:00:3e:03:01:11;setenv eth2addr 08:00:3e:03:01:12'

saveenv

No comments:

Post a Comment