海思AI芯片(Hi3519A/3559A)方案学习(六)No MMC device available和can't get kernel image两个问题的解决
这两个问题分别和uboot和kernel load相关,下面分别谈谈。找不到MMC device在正常的uboot下面,通过eMMC烧写命令和tftp将某个版本的uboot写道flash里面,重启后遇到以下问题:一番折腾后,定位到该版本uboot不支持emmc device。解决办法如下:1)编译支持emmc device驱动的uboot,其配置文件使用如下:cp con...
这两个问题分别和uboot和kernel load相关,下面分别谈谈。
找不到MMC device
在正常的uboot下面,通过eMMC烧写命令和tftp将某个版本的uboot写道flash里面,重启后遇到以下问题:
![]()
一番折腾后,定位到该版本uboot不支持emmc device。解决办法如下:
1)编译支持emmc device驱动的uboot,其配置文件使用如下:
cp configs/hi3519av100_mmc_defconfig .config
2)用hitool将新编译的支持MMC的uboot直接烧写到MMC里面。如下所示

注意事项:
a)通过串口方式烧写,记得要先把putty等串口软件关掉。
b)选取 "Burn eMMC or UFS" tab页面
c)勾选fastboot,选择uboot 二进制文件 以及所占总长度
d)烧写时要记得断电和上电一次,这个consol里面会有操作提示,如下所示:
![]()
e)烧写成功后, 会有如下打印提示

kernel加载不成功
uboot正确启动后发现不能正常加载kernel,其现象如下:

解决步骤如下:
1)编译支持emmc的kernel
cp arch/arm/configs/hi3519av100_smp_emmc_defconfig .config
2) 通过tftp将新的kernel烧写到flash
3)更新uboot的环境变量。当然里面的参数值要根据自己板子的实际情况进行更改。
a) setenv bootargs 'mem=256M console=ttyAMA0,115200 root=/dev/mmcblk0p3 rw rootfstype=ext4 blkdevparts=mmcblk0:1M(boot),4M(kernel),128M(rootfs)'
b) setenv bootcmd 'mmc read 0 0x22000000 800 2000; bootm 0x22000000'
c) saveenv
d)reset
至此,uboot和kernel都能够正常启动。
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐

所有评论(0)