烧写 Linux 系统 至 ARM 板 OK6410-A
自带的文档写了很多,对于具体情况,只需要一部分步骤就可以了,主要记录一下烧写过程中碰到的问题
准备
一张SD卡,串口-USB线,一块板子即可
烧写过程如下:
0. prepare :
在PC上制作SD启动卡(easy,文档上有), 在PC上安装Usb-串口驱动,可以使用使用DNW等工具经usb-串口连接到板子上。
1. wince板子
2. 将wince系统和特意设定的“坏扇区”擦除掉 (文档上也有,问题2描述)
3. 设置板卡使用SD卡启动,自动烧写系统。
多等一下(分为两个阶段完成,(cramfs烧写)后一阶段比较慢),完成了会自己会有提示的。
问题1. 自带的系统是WinCE的,因此需要把系统format掉,不仅仅只是format系统,连一些wince系统设置的“启动坏块” 都要format掉。
因为: 文档中写的: 飞凌 6410 开发板预装的系统是 wince。wince 系统在微软设计的时候,有一个约定,就是把前四个块都标记成了坏块!
也就是说把bootloader分区都标记成坏块,以防止bootloader被 WinCE 应用程序擦掉。这样就带来一个问题,就是在开发板换 Linux 系统的时候,
需要把这几个‘假坏块’恢复过来。
问题2: 如何擦除“启动坏块”?
进入uboot后, 输入 nand scrub 命令,会擦除板子上所有内容,当然包含启动坏块,但不会擦除uboot本身,
注意: 启动坏块的擦除,只是再从Wince转到 Linux上时,需要擦除,如果本来就是linux系统,只是重新写一下的话,不需要做nand scrub操作。
问题3: 如何仅仅擦除系统,?
因为系统换为linux后,可能后面需要常常烧写系统(具体原因第二片文章会讲),因此再次烧写时,wince的“启动坏块”已经被处理了,此时不需要使用nand scrub命令了,nand scrub 命令执行太多对板载ROM不是很好。
方法: 进入uboot后,输入 erase 命令, 如果不行,看一下输入 help erase 看看 该命令的语法。
问题4: 在制作cramfs 的 SD启动卡时,注意应该有三个文件:
u-boot.bin
zImage
cramfs
如上文件名字不能错, 特别是cramfs, 因为cramfs在copy过来时,可以选择不同的source 文件,因此copy后,必须改名字。