CKermit安装和使用及下载内核方法.docx

上传人:b****5 文档编号:6409005 上传时间:2023-01-06 格式:DOCX 页数:17 大小:27.47KB
下载 相关 举报
CKermit安装和使用及下载内核方法.docx_第1页
第1页 / 共17页
CKermit安装和使用及下载内核方法.docx_第2页
第2页 / 共17页
CKermit安装和使用及下载内核方法.docx_第3页
第3页 / 共17页
CKermit安装和使用及下载内核方法.docx_第4页
第4页 / 共17页
CKermit安装和使用及下载内核方法.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

CKermit安装和使用及下载内核方法.docx

《CKermit安装和使用及下载内核方法.docx》由会员分享,可在线阅读,更多相关《CKermit安装和使用及下载内核方法.docx(17页珍藏版)》请在冰豆网上搜索。

CKermit安装和使用及下载内核方法.docx

CKermit安装和使用及下载内核方法

C-Kermit安装和使用及下载内核方法

[日期:

2008-04-20]

来源:

Linux公社 作者:

Linux整理

1、先到http:

//www.columbia.edu/kermit/ck80.html#download来下载C-Kermit。

如果你下载的是cku211.tar.gz的话,执行:

gunzipcku211.tar.gz

tarxvfcku211.tar

rm-rfcku211.tar

makelinux

mvwermit/usr/local/bin/kermit

执行以上命令,就可以在终端上输入kermit就可运行了。

2.运行kermit后要对其配置才能下载内核,如:

setline/dev/ttyS0

setspeed115200

setcarrier-watchoff

sethandshakenone

setflow-controlnone

robust

setfiletypebin

setfilenamelit

setrecpack1000

setsendpack1000

setwindow5

使用以下命令:

connect或者c

再输入”ctrl+\”和c既可以返回kermit的界面

就可以使用串口了,进入串口和minicom一样。

切换:

按下Ctrl+\,再按c就跳回kermit。

跳回串口控制,可以输入c,即connect命令。

C-kermit的使用发送文件:

首先登录linux下的终端,输入kermit,同时按下ctrl和\然后按下c进入kermit的命令行,此时打开开发板并供电,之后在kermit命令行输入c如下

(/root/)C-Kermit>c(ctrl+c终止程序)

kermit中输入connect(c)后,跳到u-boot串口界面。

输入loadb0x0c008000回车

按下ctrl+\,再按c,切换到kermit。

输入命令:

(/root/)C-Kermit>send/home/zImage

kermit开始传送数据了,并可以看到传送进度,发送完后,输入c,再回到u-boot界面,然后,再输入:

go0x0c008000

内核开始运行了

kermit在启动时会查找~/.kermrc文件,调用里面的命令来初始化kermit。

只要将你所需的命令写到~/.kermrc文件里,启动后就不这么麻烦了。

#vi~/.kermrc

输入i切换到vi的插入模式下输入下面的内容:

setline/dev/ttyS0

setspeed115200

setcarrier-watchoff

sethandshakenone

setflow-controlnone

robust

setfiletypebin

setfilenamelit

setrecpack1000

setsendpack1000

setwindow5

c

按下Esc键退回到命令行模式,

#如果是USB转串口,就是类似/dev/ttyUSB0的设备,如果是原生的硬件串口,就是类似/dev/ttyS0的设备节点。

#根据你使用的串口,设备节点编号可能有变,你可以ls/dev/tty*看看你用的到底有什么设备节点。

然后输入“:

”冒号键进入底行模式

wfilename[以指定的文件名filename保存】

wq(存盘并退出vi)

q!

(不存盘强制退出vi)

保存后退出即可。

然后启动kermit,你会看到:

#kermit

Connectingto/dev/ttyS0,speed115200

Escapecharacter:

Ctrl-\(ASCII28,FS):

enabled

TypetheescapecharacterfollowedbyCtogetback,

orfollowedby?

toseeotheroptions.

输入quit或者exit退出kermit

还可输入?

help

启动kermit,连接串口:

  #kermit

  C-Kermit>connect

  #现在就已经成功连接到串口了。

  切换

  --------------------------------------

  按下Ctrl+\,再按c可以跳回kermit

  C-Kermit>

  此时输入c,即connect即可连接到串口

  发送文件

  --------------------------------------

  kermit中输入connect后,转入了u-boot串口界面。

  输入loadb0x00300000,启动开发板上的kermit协议。

(已自启动kermit协议,此步可省去)!

  按下Ctrl+\,再按c,切换到kermit。

  C-Kermit>send/home/share/uImage.pkg

  kermit开始传送,并且显示一个传送界面,并动态显示传送进度。

  传送完毕后,输入c,即connect命令,回到u-boot的串口界面。

  使用u-boot命令,启动内核。

  等下载完毕后再关闭这个终端窗口,重新开一个终端,然后kermit-c这时候在用cp.bdestsrclen拷贝程序到flash中。

注意的问题:

 

  1.运行效果

补充:

kermit使用

 --作为串口中断和如何传输文件到开发板

按照下文的操作步骤进行:

==================================================================================

from:

折腾了一天,终于在ubuntu下面成功通过c-kermit软件,调用kermit协议,将内核文件发送到开发板里面。

纪录一下其中的曲折过程。

T____T

(1)minicom

首先使用minicom就是一个错误,然后钻牛角尖了,想法设法去使用minicom,其实一开始就应该抛弃使用minicom,转用别的工具。

u-boot的官方网站已经说很清楚了。

看这里:

http:

//www.denx.de/wiki/view/DULG/UBootCmdGroupDownload#Section_5.9.5.3.

minicomisanotherpopularserialcommunicationprogram.Unfortunately,manyusershavereportedproblemsusingitwithU-BootandLinux,especiallywhentryingtouseitforserialimagedownload.It'suseisthereforediscouraged.

(6)速度比较:

Linux下的kermit快很多

不知道为什么,在相同的开发板并且不改任何代码的情况下,使用Windows的超级终端传送文件,明显没有linux下用kermit传送文件传得快。

虽然超级终端比较好用些,但是Linux的Kermit也不差,而且速度明显比超级终端快多了,建议大家用用Linux下的kermit软件。

=====================================================================

   2.感觉kermit的配置:

~/.kermrc:

setline/dev/ttyS0

setspeed115200

setcarrier-watchoff

sethandshakenone

setflow-controlnone

robust

setfiletypebin

setfilenamelit

setrecpack1000

setsendpack1000

setwindow5

没有生效,可能需要手动设置一下。

      3.连接终端时需要:

      setline/dev/ttyS0

      setcarrier-watchoff

      4.传文件时需要:

      setretry500

      setflownone(具体细节看helpsetflow)

      robust

其他文档

===================================================================================

1.  from:

Linux环境下配置AT91RM9200固件下载工具

作者:

郑明督

更新日志

2008.03.08首发布

tag:

linuxat91rm9200kermitxmodemminicomuboot

最新文档

如须转载请注明作者,并提供转载出处。

本文讲述Linux环境下AT91RM9200(以下简称9200)固件下载所使用的工具,及其编译配置,使用方法。

这些内容由Zoomdy的实际操作经验总结所得,主要针对Hyesco的开发板,但对其它板子,应该也是大同小异的,希望对朋友们有帮助,

第一次写,没太多经验,不足之处请多多指教email:

mingdu.zhenggmailcom。

谢谢!

开发板:

H9200E(Hyesco)

主机:

Fedora7

1.选择C-Kermit而不是minicom

给9200裸机下载固件需要使用xmodem协议发送文件到9200内部的SRAM中,minicom虽然也有xmodem组件,

但很不幸,minicom自身的xmodem组件与9200不兼容,无法使用minicom的xmodem组件下载固件到9200。

为了解决这个问题有高人编写了专门用于9200的xmodem程序,详情请看第2节。

此外uboot使用kermit协议来下载文件,minicom对kermit的支持同样存在问题,uboot官方使用手册也建议使用kermit而不是minicom。

2.准备工具C-Kermit和xmodem-at91

到kermit网站http:

//www.columbia.edu/kermit/ck80.html下载C-Kermit,请下载UnixComplete版本

或者使用此链接ftp:

//kermit.columbia.edu/kermit/archives/cku211.tar.gz直接下载

下载完成后解压

tar-xfcku211.tar.gz#如果你下载的是其它格式的压缩包,请使用相应的解压工具。

使用下面的命令编译

makelinux

将wermit复制到~/bin目录下,也可以是/usr/bin,/usr/local/bin,或者其它,随你喜欢。

cpwermit~/bin/kermit  #复制的时候可以重命名一下,方便记忆。

下载xmodem-at91

使用此链接直接下载ftp:

//

修改串口设备名,sx-at91.c使用/dev/ttyS0作为串口设备,如果你的串口设备不是/dev/ttyS0,使用下面的命令编辑

sed-i's!

/dev/ttyS0!

/dev/ttyUSB0!

'sx-at91.c #这里假设串口设备是/dev/ttyUSB0,USB转串口设备。

编译

gcc-oxmodemsx-at91.c

复制到~/bin目录下

cpxmodem~/bin/xmodem

3.配置kermit

cat>~/.kermrc<

setline/dev/ttyS0   #根据您使用的串口设备修改此行

setspeed115200

setcarrier-watchoff

sethandshakenone

setflow-controlnone

robust

setfiletypebin

setfilenamelit

setrecpack1000

setsendpack1000

setwindow5

EOF

编辑/etc/group,将当前用户名添加到串口设备所属的组。

Fedora7下串口设备属于uucp组,将用户添加到uucp组里。

如果没有将当前用户添加到uucp组,将无法连接串口设备。

4.kermit的使用概要

kermit有两种模式,一种为终端模式,一种为命令模式

处于终端模式时,显示从串口发回来的数据,处于命令模式时,显示命令提示符,并等待用户输入命令后,执行命令。

运行kermit,进入命令模式,输入"connect"并回车,进入终端模式。

在终端模式按下Ctrl+\,再按下C返回命令模式

|-------|connect              |--------|

|命令 |============>|终端 |

|模式 |<============|模式 |

|-------|Ctrl+\,c        |--------|

常用命令

connect:

连接串口设备,连接成功后进入终端模式,简写为c

quit:

退出kermit,简写为q

send:

使用kermit协议发送文件,与uboot传送文件时使用

run:

运行外部命令,我们将用这个命令调用xmodem发送文件。

?

  :

显示全部命令

!

  :

运行一个shell,需要临时离开kermit进行其它的作业的时候,可以使用叹号命令。

结果操作时使用exit退出shell,返回kermit。

5.下载固件到裸机的SRAM中

将9200目标板通过串口与主机连接,并将9200的BMS口线拉高,上电后,9200将从内部ROM启动。

运行kermit

 kermit

连接设备

C-Kermit>connect

此时kermit进入终端模式,并不停地显示“C“字符,这是9200在等待主机发送固件到SRAM中。

按下Ctrl+\,再按下c,返回命令模式

发送文件(loader.bin是H9200E开发板提供的固件,在software/uboot/bin目录下)

C-Kermit>runxmodem~/loader.bin

xmodem下载文件到9200的SRAM中,完成后进入终端模式

C-Kermit>connect

您可以看到

loader1.0(Aug 82003-12:

01:

07)

XMODEM:

DownloadU-BOOT

同时还会不停得出现“C“字符。

到此为止已经成功得将loader.bin下载到9200的SRAM中,并执行。

6.uboot的下载与安装

将loader.bin下载到SRAM之后,就可以下载uboot.bin了,这是一个在SRAM中运行的uboot。

按下Ctrl+\,再按下c,返回命令模式,将uboot.bin下载到SRAM中。

C-Kermit>runxmodem~/uboot.bin

返回终端模式

C-Kermit>connect

您可以看到uboot的版本信息,及目标板的硬件配置,最后是一个uboot提示符。

U-Bootdownloadedsuccessfully

U-Boot1.0.0(Sep252004-15:

39:

27)

U-Bootcode:

21F00000->21F1AA2C BSS:

->21F26454

DRAMConfiguration:

Bank#0:

2000000032MB

Fujitsu:

29LV320BE(32Mbit)

Flash:

 4MB

NAND:

Entryingnand_probe,breakpoint1

EntryingNanD_ScanChips

EntryingNanD_IdentChip

mfr=ec

id=76

Flashchipfound:

        ManufacturerID:

0xEC,ChipID:

0x76(SamsungK9F1208UOA)

1flashchipsfound.Totalnand_chipsize:

64MB

 64MB

In:

   serial

Out:

  serial

Err:

  serial

Uboot>

现在目标板上运行的是临时的uboot固件,接下来将uboot安装到flash中。

擦除目标板上的flash

Uboot>protectoffall

Uboot>eraseall

下载boot.bin到目标板

Uboot>loadb20000000

按下Ctrl+\,再按下c,返回命令模式,使用kermit协议下载boot.bin

C-Kermit>send~/boot.bin

下载完成后返回终端模式

C-Kermit>connect

将boot.bin复制到flash中

Uboot>cp.b20000000100000005fff

Uboot>protecton1000000010005fff

下载uboot.gz到目标板

Uboot>loadb20000000

按下Ctrl+\,再按下c,返回命令模式,使用kermit协议下载uboot.gz

C-Kermit>send~/uboot.gz

下载完成后返回终端模式

C-Kermit>connect

将uboot.gz复制到flash中

Uboot>cp.b2000000010010000ffff

Uboot>protecton100000001001ffff

到这儿,已经将uboot安装到目标的flash中。

将9200的BMS接低后,复位,就可以从flash加载uboot,并执行。

接下来的主角就是uboot啦,uboot支持以太网下载和串口下载,串口下载还使用kermit协议,上面已经有了详

细的使用kermit协议下载固件的方法,照搬就是啦。

参考

ubuntu下使用kermit协议,通过串口传送文件

AT91RM9200xmodemuploadtool

8.0

http:

//www.columbia.edu/kermit/ck80.html

 TheDENXU-BootandLinuxGuide(DULG)forTQM8xxLhttp:

//www.denx.de/wiki/DULG/Manual

================================================================================

from:

http:

//www.linux-

这些天一直在windows下用超级终端下载linux内核来测试。

那种成功的喜悦崩说多高兴了,可是总觉得很遗憾,就是每次下载必须通过邮件交互,在linux下发送邮件,在windows下下载再移植到开发板上,来回折腾,总感觉不快。

想想马上就春节了,回家后就没有网络了,那怎么下载程序阿。

这是一个世界级的问题。

必须解决。

在网上到处搜寻这方面的资料,要么说是minicom不要用,要么就是说用gtkterm,我下载了gtkterm后,最后下载的时候发现不支持kermit协议,那还玩个屁阿。

后来发现系统中根本就没有kermit这个程序,当然minicom不工作了。

找到redhat9的安装盘(disk2),里面有个ckermit-8.0-206-0.6.i386.rpm,把他安装到系统中。

再试试,minicom还是不工作,关键是minicom太复杂了,网上也没有具体介绍如何配置的。

干脆就直接配置kermit吧。

实际上kermit会读取/root/.kermrc的配置文件。

这个文件很重要,但实际上这个文件不存在,要手动添加。

文件的内容如下:

setline/dev/ttyS0

setspeed38400

setcarrier-watchoff

sethandshakenone

setflow-controlnone

robust

setfiletypebin

setfilenamelit

setsendpack1000

setwindow5

我设置的波涛率是38400,好象115200太高了。

不管波特率多高吧。

能下载就好,顶多多花点儿时间。

然后首先运行kermit-c自动读取我们的配置文件。

然后你就可以使用u-boot的命令了,输入loadb回车

这时候uboot就准备用kermit协议接收文件了。

然后强行关闭终端,重新开一个终端窗口,输入kermit

然后sendxxx.yyy这时候kermit就自动开始下载程序了。

等下载完毕后再关闭这个终端窗口,重新开一个终端,然后kermit-c这时候在用cp.bdestsrclen拷贝程序到flash中。

整个过程虽然有点儿麻烦,但总是可以用的。

让我们的linux飞驰在开发板上吧。

3、串口终端程序

在使用U-boot的时候,必然会用到串口与开发板进行通信,所以串口终端程序必不可少。

在Linux下的串口终端程序有minicom、C-kermit,还有一个图形化的串口终端:

gtkterm。

但是我个人一般比较喜欢用C-kermit,因为在Linux下是通过串口kermit协议传输文件到开发板,就属C-kermit比较好用。

下面我就简单介绍下C-kermit安装配置的大致步骤:

(1)安装ckermit程序;

(2)编写ckermit的配置文件~/.kermrc。

下面是一个很简单的安装和配置脚本,供大家参考:

 

#!

/bin/sh

  echoinstallC-

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1