SylixOS 通过网络启动

SylixOS 开发阶段,为了能够快速方便地运行系统,通常通过网络的方式来启动 SylixOS,配置过程如下:

1主机端

主机(PC 机)需要启动 TFTP 服务器程序来启动 TFTP 传输协议,在 SylixOS 配套的开 发套件(www.acoinfo.com 可以申请试用版)RealEvo-IDE 中集成了 TFTP 服务器,通过“Tools” ->“TFTP server”进行配置,如下图所示。

2u-boot 客户机端

客户机端(运行 u-boot 的嵌入式设备)一个新的 u-boot 需要配置下面的环境变量来对
网络传输的支持( TFTP 协议):
setenv ethaddr 12:23:34:45:56:67
setenv ipaddr 192.168.1.111 (设置嵌入式设备的 IP 地址);
setenv gatewayip 192.168.1.1
setenv serverip 192.168.1.30 (设置主机端的 IP 地址);
setenv loadaddr 0x10000000 (设置程序的加载地址,不同的平台地址不同);
setenv bootfile bspimx6.bin (设置 SylixOS bsp 程序)。

以上环境变量设置成功后,可以通过 saveenv 命令将环境变量保存到相应的存储设备中, 需要注意,有些板载的 u-boot 不支持 saveenv 命令,这种情况需要在每次启动都要进行一次设置。

执行完以上步骤后,我们可以通过 ping 命令来验证网络是否已经连通,如下:

u-boot> ping ${serverip}
host 192.168.1.30 is alive

显示“is alive”代表网络已经连通,执行 tftpboot 命令即可将 SylixOS bsp 程序下载到嵌入式 设备,如下:

U-Boot > tftpboot
FEC: Link is Up 796d
Using FEC0 device
TFTP from server 192.168.1.30; our IP address is 192.168.1.111
Filename 'bspimx6.bin'.
Load address: 0x10000000
Loading: #################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#############################################################
done
Bytes transferred = 2639528 (2846a8 hex)

下载完成后,执行 go ${loadaddr}将启动 SylixOS 系统。 以上过程需要每次都要执行 tftpboot go 命令的操作,为了能够实现自动启动的目的, 我们需要增加 boot_sylixos_tftp bootcmd 环境变量的设置,如下:

setenv boot_sylixos_tftp ‘tftpboot; go ${loadaddr}’
setenv bootcmd ‘run boot_sylixos_tftp’
saveenv

注:自动启动只适用于能够保存环境变量的嵌入式平台。

3pmon 客户端

pmon 客户端是指运行 pmon 的嵌入式设备,一个新的 pmon 需要设置与镜像所在主机 在同一网段的 IP ,并且通过 load 指令实现 tftp 协议的传输,前提是主机的 tftp 服务器必须 打开。如本文上方图片 所示。
ifconfig eth0 192.168.1.85;
load -r -o80200000 tftp://192.168.1.30/bspls2hhfg.bin; flush -di;g -e 80200000;

其中 eth0 为开发板使用的接口名,mips 架构的开发板接口名有多种,常用的 em0(龙 芯 3a3000)、syn0(龙芯 1 系列)等等,紧跟其后的接口 IP 需要设置为与镜像所在主机的 IP 在同一个网段,才能通过 tftp 协议传输。

-r load raw file // 想要通过 tftp 传输的文件;
-o load_addr 偏移地址;
tftp://192.168.1.30 192.168.1.30 为镜像所在主机 IP ,需要打开 tftp 服务器;
bspls2hhfg.bin :镜像文件名;
flush –di :将 I-cache D-cache 的内容刷新到 RAM
g -e 80200000 :内容刷新开始地址。
pmon 客户端会收到通过 tftp 协议传输来的内核镜像,并通过引导程序启动系统。
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值