kernel和rootfs烧录与启动系统

环境部署:在uboot中的serverip要设定为电脑tftp服务器ip;
设置:
set serverip 192.168.1.20
sa

1.1、烧录kernel
(1)SDRAM地址范围:80000000-83FFFFFF
(2)tftp得能通能下载,才能烧录。ip设置是:本地192.168.1.10,serverp是141
1.14.3、uboot的各环境变量介绍和设置
(1)网络地址:ipaddr 192.168.1.10, serverip 192.168.1.141
(2)bootcmd:
(3)bootargs:

附:烧录命令

tftp更新并重新烧写uboot的命令序列
mw.b 0x82000000 ff 0x100000
tftp 0x82000000 u-boot-hi3518ev200.bin
sf probe 0
sf erase 0x0 0x100000
sf write 0x82000000 0x0 0x100000

注:
mw.b — 解释memory write;
.b — 代表以字节为单位;
0x82000000 — sdram中起始地址;
ff — 先把sdram这段清成ff;
0x100000 — 长度为1M;
tftp 0x82000000 u-boot-hi3518ev200.bin — 代表在服务器server下下载.bin文件到sdram中
sf probe 0 — 选择spi0作为下载方式;这里代表为以spi方式下载,因为使用的是spi flash。为了区分有多个spi 。
sf erase 0x0 0x100000 — 擦出的一个spi flash的起始地址以及长度;
sf write 0x82000000 0x0 0x100000 — 将程序从sdram中写到spi flash中,由sdram中起始地址0x82000000的数据,写到spi flash从地址0x0,长度为1M;


tftp更新并重新烧写kernel的命令序列
mw.b 0x82000000 ff 0x300000
tftp 0x82000000 uImage_hi3518ev200
sf probe 0
sf erase 0x100000 0x300000
sf write 0x82000000 0x100000 0x300000


tftp更新并重新烧写rootfs的命令序列
mw.b 0x82000000 ff 0xc00000
tftp 0x82000000 rootfs_hi3518ev200_64k.jffs2
sf probe 0
sf erase 0x400000 0xc00000
sf write 0x82000000 0x400000 0xc00000

这里的kernel和rootfs的解释和uboot下载说明大致相同的;

2.1 正确的bootcmd和bootargs对应的设置命令:
set bootcmd ‘sf probe 0;sf read 0x82000000 0x100000 0x300000;bootm 0x82000000’

set bootargs mem=32M console=ttyAMA0,115200 root=/dev/mtdblock2 rootfstype=jffs2 mtdparts=hi_sfc:1024K(boot),3072K(kernel),12288K(rootfs)

sa

注:
set bootcmd 中为什么有单引号‘’,因为其中有好几条指令。
sf probe 0 — 选中spi flash;
sf read 0x82000000 0x100000 0x300000 — 从flash的起始地址0x100000读取数据到sdram的起始地址0x82000000中,长度是0x300000。
bootm 0x82000000 — 然后bootm直接去启动就可以了,这时候启动的就是我们的内核镜像;

set bootargs 解释
mem=32M — 代表我们的内存大小;
console=ttyAMA0 — 代表我们的控制台是ttyAMA0(指使用串口几);
115200 — 波特率为115200;
root=/dev/mtdblock2 — 跟文件系统在我们的第2个分区(分区从0开始算起),第0个分区是uboot,第1个分区是kernel,第2个分区为文件系统;
rootfstype=jffs2 — 文件系统的类型为jffs2;
mtdparts=hi_sfc:1024K(boot),3072K(kernel),12288K(rootfs) — 代表了3个分区表,括号内代表分区名称。

特别注意:这里的mem=32M,有一个隐晦的表示,这里的Linux内核使用的内存大小设为32M,海思的mpp设置的内存大小是32M. 这个内存总大小是64M.

bootcmd和bootargs可以复制同时设置的。

3.1 mpp的部署
这里是要做两件事:
第一 是把ko文件部署到板子上
第二是把lib文件放到/usr/lib
第三是vi /etc/profile
写入:
cd /ko
./load3518e -i -sensor ar0130 -osmem 32 -total 64
第四是 设置网卡 同样是在 vi /etc/profile
ifconfig lo 127.0.0.1
ifconfig eth0 192.168.1.10

然后就可以测试应用程序了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值