nuc970-yaffs2文件系统启动的配置工作

1. u-boo相关操作

2. linux内核配置相关操作

3. yaffs2文件系统的制作以及最后烧写的步骤


1.u-boot相关操作

实验用的开发板是nuc970-evb开发板,nuvoton提供的一个测试开发板。因此u-boot直接采用的了官方给出的bsp包中的uboot.bin。这里u-boot.bin 和u-boot-spl.bin的作用不太清楚。在配置yaffs2文件系统的时候,uboot启动后这里需要注意的是u-boot环境变量的设置。

baudrate=115200
bootargs=noinitrd root=/dev/mtdblock2 rootfstype=yaffs2 rootflags=inband-tags console=ttyS0 rdinit=/sbin/init 
bootcmd=nboot 0x7fc0 0 0x200000;bootm 0x7fc0
bootdelay=3
ethact=emac
ethaddr=00:00:00:11:66:88
stderr=serial
stdin=serial
stdout=serial

在这里我出现了一个问题在bootargs参数的设置上,官方给出的安装手册里在yaffs2的配置中,启动参数如下

yaffs2支持内核配置

我测试了很多中方法,但是yaffs2没有启动成功的原因是mem=64M的参数设置,这里感觉很奇怪。

2.linux内核配置相关操作

这里我们需要注意的是取消initranfs的配置 取消initranfs

配置内核默认启动参数,配置如果有bootloader传递的参数,则使用bootloader传递的参数(其实这里一般情况下uboot都会向内核传递参数,其实就是uboot启动时bootargs设置的参数) bootargs

然后配置device driver,配置nand flash支持。(nand flash 有两组管脚可供选择,Port C和Port I,选择需要按照硬件连接而定,这里我成功配置的是选的Port I)里面标红的选项意思是,如果需要u-boot环境变量传入nand flash分区表,则勾选。(这里我没有配置这个,uboot环境变量没有u-boot分区信息表) mtd-nand flash支持

配置yaffs2文件件系统的支持,这里之前遇到的问题是需要配置Caching block device access to MTD devices,才会产生这个配置选项。

yaffs2内核配置

然后到此位置就可以保存退出了。执行 make -j4,来编译内核。

编译完成后编译好的内核镜像nuc970image会在linux内核目录的上层目录中的image目录里,这里我们还要使用mkimage讲linux内核打包(这里和我之前接触的不一样,之前接触的是编译的内核映像为uiamge直接可以下载的)

mkimage内核打包

这里我会进入nuc970bsp目录中执行如下命令

uboot/tools/mkimage -A arm -O linux -T kernel -S crc32 -a 0x7fc0 -e 0x8000 -d image/970image image/970yaffs.bin

3.yaffs2文件系统的制作

这里制作yaffs2文件系统需要mkyaffs2文件工具,这个文件的源码在nuc970bsp/application/yaffs2util 中如果不存在,或者执行出错,我们可以进入到nuc970bsp/application/yaffs2uti目录中,依次执行make clen; make 就可以重新编译出本机与开发环境试用的mkyaffs2工具了。制作命令如下:

./mkyaffs2 --inband-tags -p 2048 rootfs rootfs_yaffs2.img

最后是烧写步骤,烧录u-boot-spl.bin。 u-boot-spl

烧录u-boot到nand的0x100000地址处。 u-boot.bin

内核烧录与上图一致,我们将内核烧录到0x200000(这里5个零)地址的位置,最后将yaffs2文件系统映像烧录到0x2000000(注意这里6个零)。重新启动就可以啦。

转载于:https://my.oschina.net/u/2548203/blog/2251503

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值