天天看点

s5pv210_BV3S刷机问题总结1

本文主要解决的问题是,s5pv210_BV3S刷完机后系统无法完整启动,并且进入无限重启的状态。

实验材料:朱有鹏老师嵌入式核心课程配套的开发板(s5pv210_BV3S)和镜像(linux+QT4.8)

正确刷机步骤如下:

(1)、刷目录:朱有鹏老师嵌入式核心课程\不同版本开发板刷机看这里\X210V3S镜像\linux+QT4.8

中的uboot.bin。

(2)、运行uboot,在命令行中输入fdisk -c 0去重新分区,然后再fastboot。

s5pv210_BV3S对应的rootfs有256MB左右,而之前的uboot中对inand的system分区只有100多MB确实放不下。在这个新提供的uboot.bin中已经重新设置了分区信息,只需要fdisk -c 0来重新对inand分区即可。

(3)、在命令行下刷kernel和rootfs(所用文件都在(1)中目录去找)。

(4)、设置bootcmd和bootargs,在uboot的shell下输入以下三行命令:

set bootcmd 'movi read kernel 30008000; bootm 30008000'

set bootargs console=ttySAC2,115200 root=/dev/mmcblk0p2 rw init=/linuxrc rootfstype=ext3

save

其中:save一定不能少,没保存的话,重启系统会从Flash中重新读一份到内存中,原设置值丢失。

没有save,以上环境变量设置丢失,会找不到根文件,出现以下错误:

[    5.542799] VFS: Cannot open root device "(null)" or unknown-block(0,0)

[    5.549251] Please append a correct "root=" boot option; here are the available partitions:

[    5.557587] b300         3866624 mmcblk0 driver: mmcblk

[    5.562744]   b301          264495 mmcblk0p1

[    5.566990]   b302          264495 mmcblk0p2

[    5.571235]   b303          105798 mmcblk0p3

[    5.575482]   b304         3207946 mmcblk0p4

[    5.579729] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)

这个错误对应的现象就是,系统进入无线重启状态,运行一会儿后就会rebooting。

上面配置的环境变量bootcmd和bootargs含义如下:

bootcmd=movi read kernel 30008000; bootm 30008000   

意思是:将iNand的kernel分区读取到DDR内存的0x30008000地址处,

然后使用bootm启动命令从内存0x30008000处去启动内核。

bootargs=console=ttySAC2,115200 root=/dev/mmcblk0p2 rw init=/linuxrc rootfstype=ext3

意思是:console=ttySAC2,115200 控制台使用串口2,波特率115200.

root=/dev/mmcblk0p2 rw根文件系统在SD卡端口0设备(iNand)第2分区,根文件系统是可读可写的

init=/linuxrc linux的进程1(init进程)的路径 rootfstype=ext3 根文件系统的类型是ext3