烧写Linux系统的整个过程包括格式化Nand Flash、烧写Bootloader、烧写内核映像文件和烧写文件系统映像文件。下面具体介绍每个步骤的详细过程。
1.分区格式化Flash
在vivi模式下输入:bon part 0 192k 1216k,将Nand Flash分成三个区。三个区的大小如下所示。
0~192k:大小为192k;
192k~1216k:大小为1M;
1216k~64M:大小为63M。
执行分区命令后,会在屏幕上打印下列信息:
- FriendlyARM> bon part 0 192k 1216k
- doing partition
- size = 0
- size = 196608
- size = 1245184
以上信息显示分区的起始地址。
- check bad block
- part = 0 end = 196608
- part = 1 end = 1245184
- part = 2 end = 67108864
- part0:
- offset = 0
- size = 196608
- bad_block = 0
- part1:
- offset = 196608
- size = 1048576
- bad_block = 0
- part2:
- offset = 1245184
- size = 65847296
- bad_block = 0
以上信息详细打印了分区大小、坏区大小和分区的起始地址等信息。
注意:分区后不能掉电或者关电,因为此时Nand Flash中已经被清空。否则需要按照第3章介绍的方法使用H-JTAG重新烧写Bootloader。
2.烧写Bootloader
在vivi模式下输入load flash vivi u命令。DNW进入等待下载状态后,选择DNW菜单栏的USB Post | Transmit命令,选择vivi.bin文件。烧写完成后会打印如下信息。
- FriendlyARM> load flash vivi u
- USB host is connected. Waiting a download.
- Now, Downloading [ADDRESS:30000000h,TOTAL:105154]
- RECEIVED FILE SIZE: 105154 (102KB/S, 1S)
- Downloaded file at 0x30000000, size = 105144 bytes
- Found block size = 0x0001c000
- Erasing... ... done
- Writing... ... done
- Written 105144 bytes
如果烧写成功,就会打印Writing… …done。
注意:在打印USB host is connected. Waiting a download信息后,单击DNW菜单栏的USB Post|Transmit命令。出现选择文件对话框,选择文件后开始烧写Bootloader。
3.下载Linux内核文件
在vivi模式下输入load flash kernel u命令,DNW进入等待下载状态后,单击DNW菜单栏的USB Post | Transmit命令,选择4.4.1节生成的内核文件zImage,如图4.30所示。下载内核的过程如图4.31所示。
(点击查看大图)图4.30 选择内核文件 |
(点击查看大图)图4.31 下载内核过程 |