BeagleBoneBlack(Chipsee)更新emmc

Chipsee的7'电容屏扩展板; Chipsee提供的是eZsdk,基于am335x_evm做的修改,BBB出厂emmc中烧写的是angstrom; 本文的目的是将emmc中的angstrom用ezsdk替换掉,主要涉及的东西: 1.emmc的分区 2.eZsdk5.7内核增加mmc1支持,增加ext4支持(可选) 3.uEnv.txt改为从emmc启动


1.使用Angstrom 
BBB 出厂使用angstrom,包括uboot/kernel以及文件系统,很显然是不支持Chipsee扩展板的,那么如果想使用angstrom支持扩展板,则参考: 
http://derekmolloy.ie/beaglebone/

更新emmc: 
http://www.crashcourse.ca/wiki/index.php/BBB_software_update_process

2.TI的eZsdk指导 
http://www.elinux.org/Beagleboard:3.2_SDK_On_BeagleBone_Black

http://processors.wiki.ti.com/index.php/Sitara_Linux_Software_Developer%E2%80%99s_Guide#Start_your_Linux_Development 
2.1 eZsdk 文件系统 
http://processors.wiki.ti.com/index.php/EZSDK_Using_data_on_SD_and_filesystem_on_NAND#Creating_the_file_system

  1. eZsdk增加emmc支持 
      Chipsee提供的BSP是基于TI提供的eZSDK5.7版本,而且没有对BBB的emmc进行支持,如果想从BBB的emmc启动,则需要在内核中增加emmc支持。 
    3.1 内核emmc支持 
      在Chipsee提供的linux3.2基础上增加对BBB上emmc的支持(eZSDK5.7到eZSDK6.0的区别) 
    编辑board-am335xevm.c,增加mmc1_emmc_init初始化:

在此输入图片描述 
然后在板卡配置结构体中增加mmc1_emmc_init调用: 
在此输入图片描述 
(上图有误:mmc1_emmc_init应该在mmc0_init之前)

重新编译内核后从SD卡启动,可以看到: 
在此输入图片描述 
mmcblk1p2 mount失败。 
注意:

  • mmc0: SD卡接口
  • mmc1: BBB板载emmc接口
  • mmcblk1p1:emmc fat分区
  • mmcblk1p2:emmc ext3分区

通过df -H 可以看到mmcblk1p2文件系统是ext4,在内核编译选项增加ext4支持:

?
1
编辑 .config文件,增加CONFIG_EXT4_FS=y,重新编译内核。

在此输入图片描述

?
1
挂载成功:

在此输入图片描述

3.2 uboot emmc支持 
  

?
1
1 ). Chipsee提供的uboot支持从emmc和sd卡启动,如需从emmc启动则需要对uEnv.txt稍作修改:

  将 fatload mmc 0 81000000 改为fatload mmc 1 81000000

?
1
2 ). eZsdk提供的uboot支持从emmc启动的,只是无法识别emmc中文件系统所在的ext4分区,而出厂的BBB默认安装angstrom,并且文件系统被格式化成了ext4分区(eZsdk提供的creatSD.sh是将SD卡分为fat和ext3分区)

BBB的emmc出厂默认带angstrom系统分为fat32和ext4,如果不想改动emmc分区则需要在Chipsee的uboot中增加对ext4支持: 
在此输入图片描述

?
1
3 ). 在uboot的am335x_evm.h头文件中使能storage_emmc可有可无,使能storage_emmc的目的是给fastboot使用。

4.更新emmc 
  将emmc中默认的angstrom更新为eZsdk5.7,步骤:

  • 1) 从SD卡启动(Chipsee预装的、或者用Chipsee提供的mksdcard.sh制作的,但是uImage替换掉,支持emmc),进入shell
  • 2) 格式化emmc的ext4分区

  在shell窗口中执行: 
  

?
1
mkfs.ext3 -j -L “rootfs” /dev/mmcblk1p2

  重启,重启后/dev/mmcblk1p2会被挂载到 /media/mmcblk1p2

  • 3) 通过wget将eZsdk提供的rootfs.tar.gz(或者是Chipsee的)拷贝到本地:

  在shell窗口中执行: 
  

?
1
wget ftp : //zr :zr@192.168.1.101 /rootfs . tar .gz
  • 4) 将文件系统解压到emmc的ext分区:

  

?
1
tar -zxvf rootfs. tar .gz -C /media/mmcblk1p2
  • 5) 将之前编译好的MLO UBOOT以及kernel和uEnv.txt拷贝到 /media/mmcblk1p1中
  • 6) Chipsee提供的uEnv内容如下:

  

?
1
2
3
4
5
bootargs=console=ttyO1,115200n8 mem=512M root= /dev/mmcblk0p2 rw rootfstype=ext3 rootwait rootdelay=1 init= /init ip=off consoleblank=0
<!-- lang: shell -->
bootcmd=mmc rescan ; fatload mmc 0 81000000 uImage ; bootm 81000000
<!-- lang: shell -->
uenvcmd=boot

  将 fatload mmc 0 81000000 改为fatload mmc 1 81000000即可

  • 7)这样emmc更新完毕。

http://my.oschina.net/234148609/blog/201861

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值