linux超级终端的烧写方式,第五章 烧写BOOTLOADER和LINUX

5-1 烧写前准备

为了移植和调试,需要准备相应的硬件和软件工具,使得可以在宿主机上“显示”目标板的终端和从宿主机上移植下载相应的文件到目标板。

软件工具:SecureCRT或超级终端(Windows)或者Minicom(Linux)

5-1-1在Windows上的软件工具

可以使用SecureCRT或超级终端。

超级终端只能使用串口来传输数据,而SecureCRT可以使用多种接口协议进行传输数据。它们都是终端仿真程序。

另外参考“附录3Windows超级终端使用说明”

SecureCRT:

(1)打开SecureCRT:

(2)建立连接

(2)选择串口连接

(3)设置:

(4)开发板上电:

5-1-2在Linux上的软件工具

如果不在Windows上使用SecureCRT或超级终端,可以在虚拟机的Linux操作系统上使用minicom工具。

详解参考“附录6Minicom使用指南”

5-2 烧写Bootloader

5-2-1 烧写Bootloader

开发板上NorFlash中尚没有Pmon时,需要为一空白的Nor Flash芯片烧写Pmon。

详解参考“附录7使用EJTAG烧写PMON”

5-2-2 更新Bootloader

PMON中内置tftp协议,据此可以采用tftp对PMON进行更新。采用tftp更新方式,首先需要宿主机存在tftp服务端软件(在“3-2-4安装tftp”中已符合)。

(1)把交叉编译得到的PMON拷贝到服务目录“/srv/tftp”。

(2)根据宿主机的IP地址,在PMON控制台配置开发板IP地址:

PMON > ifaddrsyn0192.168.0.233

(3)更新PMON:

PMON > load -r -f bfc00000 tftp://192.168.0.244/gzrom.bin

更新完成后重启。

5-2-3 Bootloader的内置命令

Pmon中内置了很多命令,下面举例说明:

(1)‘h’命令:

查看帮助信息;

例:PMON>h------列出所有可以使用命令

PMON>h ping------查看ping命令的用法

(2)‘d1’命令:

读某个地址的值(读一个byte);

例:PMON>d1 0x80300000  ------查看地址0x80300000处的值

(3)‘d2’命令:

读某个地址的值(读一个halt word);

例:PMON>d1 0x80300000  ------查看地址0x80300000处的值

(4)‘d4’命令:

读某个地址的值(读一个word);

例:PMON>d4 0x80300000   ------查看地址0x80300000处的值

(5)‘m1’命令:

在某个地址处写入一个值(写入一个byte大小);

例:PMON>m1 0x80300000 0x12  -----在地址0x80300000处写入0x12

(6)‘m2’命令:

在某个地址处写入一个值(写入一个halt word大小的值);

例:PMON>m2 0x80300000 0x1234  -----在地址0x80300000处写入0x1234

(7)‘m4’命令:

在某个地址处写入一个值(写入一个word大小的值);

例:PMON>m4 0x80300000 0x12345678   -----在地址0x80300000处写入0x12345678

此时,读出此地址值PMON>d4 0x80300000;可以看到读出来的值为0x12345678

(8)‘set’命令:

set 命令是用来设置环境变量的.环境变量设置好后,设置的参数会保存到 norflash高位地址,在pmon一开始运行时就会自动去调用.常用到的环境变量设置有:

#set (列出所有已经设置好的环境变量)

#set ifconfigsyn0:192.168.3.88 (设置开发板的ip地址)

#set ethaddr 11:22:33:44:55:66 (设置板的mac地址)

#set al /dev/mtd0 (设置板在一上电时自动执行load内核到内存操作,此例子是自动从 nandflash的mtd0分区load内存.)

#set append ‘console=ttyS0’ (设置板的运行的启动参数)

#set memsize256(设置内存大小256M,不设即默认为256M)

#set cpuclock 233333331 (设置cpu频率233.333331 M)  调试的时候才这样设置时钟频率,一般是根据你开发板所跑的频

率来设置#set busclock 116666665  (设置板的外频116.666665M)

(9)‘ymodem’命令:

用 ymodem协议串口下载;

例:PMON>ymodem base=0x81800000 ----串口下载程序到内存地址0x81800000 处。

(10)‘ifaddr’命令:

设置板的 ip地址(不过只当次有效,断电后会丢失);

例:PMON>ifaddrsyn0192.168.3.25   -----设置板的ip地址为192.168.3.25。

(11)‘load’命令:

下载 linux内核到内存;

例:PMON>load tftp://192.168.3.18/vmlinux  -----通过网络从ip为18的主机上下载内核 vmlinx到内存。

(12)‘mt’命令:

内存测试命令;

例:PMON>mt      ------测试板的内存是否正常

(13)‘env’命令:

查看板上已经设好的环境变量;

例:PMON>env    -------列出所以环境变量

(14)‘devcp’命令:

Pmon 上的拷贝,通常用来从内存中拷贝下载的vmlinux内核或文件系统镜像到nandflash中;

例:PMON>devcp tftp://192.168.3.18/vmlinux /dev/mtd0 ---从网络下载vmlinux 到内存中并拷贝到nandflash中.

(15)‘mtd_erase’命令:

擦除nandflash某分区的数据;

例:PMON>mtd_erase/dev/mtd1------擦除nandflash分区1的数据。

(16)‘ac97_read’命令:

测试 ac97,录音;和ac97_read配合着测试ac97设备是否正常.

例:PMON>ac97_read               ---录音,有5s钟的时间录音.

(17)‘ac97_test’命令:

测试 ac97,放出刚才录进去的音,和ac97_read配合着用。

例:PMON>ac97_test                   ---播放刚才录进去的声音.

(18)‘ping’命令:

测试网络;用法与 linux的ping命令相同;

例:PMON>ping 192.168.3.1              ---ping一下看网络通不通

(19)‘reboot’

重启 pmon;

例:PMON>reboot                       ---重启pmon

更多的,请在PMON中输入“h”,浏览帮助。

5-3 烧写Linux内核

通过网络下载内核到开发板nandflash:

设置IP地址:

PMON>ifaddrsyn0192.168.x.xxx

通过tftp下载内核并烧到nandflash里面

PMON>devcp     tftp://192.168.x.xxx/vmlinux  /dev/mtd0

烧写完成。

5-4 烧写文件系统镜像

通过网络下载内核到开发板nandflash:

设置IP地址:

PMON>ifaddrsyn0 192.168.x.xxx

或者:

PMON>set ifconfigsyn0 192.168.x.xxx

通过tftp下载文件系统镜像并烧到nandflash里面

PMON>devcp     tftp://192.168.x.xxx/rootfs-cramfs.img/dev/mtd1

另外,烧写yaffs2文件系统镜像:

PMON>devcp     tftp://192.168.x.xxx/rootfs-yaffs2.img/dev/mtd1yaf

设置启动参数:

PMON>groot=/dev/mtdblock1console=ttyS0,115200noinitrd init=/linuxrcrootfstype=cramfs

或者yaffs2文件系统:

PMON>groot=/dev/mtdblock1console=ttyS0,115200noinitrd init=/linuxrcrwrootfstype=yaffs2

重启:

PMON>reboot

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值