LS6410 Android2 User Manual 1

18
1 Chapter 1. Burn the Android system image into nand flash The complete Android system consists of at least three parts: bootloader, kernel, and rootfs. This is same as classical linux. In the following, we will introduce how to burn a complete Android system. Images of bootloader, kernel and rootfs are all burned into nand flash. So we need to first understand the nand partitions to prevent the overlap of different images: Image Name Address Range Description bootloader 0x00000000-0x0003FFFF Burn Uboot kernel 0x00040000-0x003FFFFF Burn kerne cramfs 0x00400000-0x007FFFFF Burn cramfs file system as backup Ubifs 0x00900000-0x3FFFFFFF Burn ubifs file system a main file system 1.1 Burn bootloader Here we will not use the bootloader that comes with Android, but to use uboot. We offer two ways to boot uboot’s binary files, including SD boot and and Nandflash uboot. In the following, we are going to describe the burning of each method. 1.1.1 Burning of uboot for SD boot In the absence of JTAG emulator, for a blank board, you can boot from S3C6410's MMC / SD to burn a usable uboot into nand flash. The procedure is as following: In Windows, use utility “tools/IROM_Fusing_Tool” to burn a uboot of MMC/ SD boot version to SD card.

Transcript of LS6410 Android2 User Manual 1

Page 1: LS6410 Android2 User Manual 1

1

Chapter 1. Burn the Android system image into nand flash

The complete Android system consists of at least three parts: bootloader, kernel, and rootfs.

This is same as classical linux. In the following, we will introduce how to burn a complete

Android system.

Images of bootloader, kernel and rootfs are all burned into nand flash. So we need to first

understand the nand partitions to prevent the overlap of different images:

Image Name

Address Range Description

bootloader 0x00000000-0x0003FFFF Burn Uboot

kernel 0x00040000-0x003FFFFF Burn kerne

cramfs 0x00400000-0x007FFFFF Burn cramfs file system as

backup

Ubifs 0x00900000-0x3FFFFFFF Burn ubifs file system a main file

system

1.1 Burn bootloader

Here we will not use the bootloader that comes with Android, but to use uboot. We offer

two ways to boot uboot’s binary files, including SD boot and and Nandflash uboot. In the

following, we are going to describe the burning of each method.

1.1.1 Burning of uboot for SD boot

In the absence of JTAG emulator, for a blank board, you can boot from S3C6410's MMC /

SD to burn a usable uboot into nand flash.

The procedure is as following:

In Windows, use utility “tools/IROM_Fusing_Tool” to burn a uboot of MMC/ SD boot

version to SD card.

Page 2: LS6410 Android2 User Manual 1

2

Please don’t insert SD card directly into your SD card slot in your laptop. In most cases,

this doesn’t work. Please format SD card in FAT32, and insert through a USB card reader

into your PC.

Please note that here we need to choose u-boot_mmc.bin which is for SD boot. Please

note that for Android 2.1 and higher, it is recommended to use the u-bbot_mmc.bin in the

directory android-image.

Page 3: LS6410 Android2 User Manual 1

3

Remove and insert the SD into the SD slot of the LS6410 development board. Set the

board's DIP switch to boot from SD card.

Run tools/dnw and configure this tool:

1. Config the serial port that is going to be used.

Page 4: LS6410 Android2 User Manual 1

4

2. Connect to this serial device:

Page 5: LS6410 Android2 User Manual 1

5

Power on LS6410 development board, DNW will print out the booting information (please HIT

ANY KEY to STOP autoBOOT):

The first menu – display device shows up. You can select the right device in your development

board. So far four display devices are supported. After the selection, the system will decide

which driver to load into the system automatically without the user’s manual configuration or

burning kernel program.

Page 6: LS6410 Android2 User Manual 1

6

The next menu that shows up is the following:

Now we describe step by step the procedure how to install the Android system. Before going

further, please connect the mini-USB port of the LS6410 board and an USB port of PC with a

OTG cable.

1.1.2. Format Nand Flash

Page 7: LS6410 Android2 User Manual 1

7

If you are burning the Linux/Android the first time to the board, particularly to a board that was

installed with a WinCE system, you need to erase the Nand Flash, because the file system of

WinCE uses the block 00B of the Nand in a different way than the Linux or Android. If you do

not erase, it may run into ECC error. Normally you do not need to erase very often. So one time

erasing is good enough.

Select f from the menu, the Nand flash is erased.

1.1.3.Burn uboot of NandFlash

When we get SD-uboot, we can use SD-uboot to burn other code into the board's Nandflash.

Here we are going to show how to burn NAND-uboot into NAND.

Select u from the menu:

Page 8: LS6410 Android2 User Manual 1

8

If you are first time to use this function, it will prompt to install USB driver. You may need to

type dnw in the dnw window to bring up the USB connection. The USB drive can be found in

the directory tools/USB driver. After installation of the USB driver,

Now the DNW is waiting for you to specify where the uboot file is located in your PC. Click on

the menu USB Port / Transmit to select uboot.bin.

Page 9: LS6410 Android2 User Manual 1

9

Page 10: LS6410 Android2 User Manual 1

10

Select u-boot.bin, which is the nand boot uboot, do not select SD-u-boot_mmc.bin, which is

for SD boot. Please note that for Android 2.1 and higher, it is suggested to use u-boot.bin in

the directory android-image.

If everything goes smoothly, the Nand uboot has been burned to Nand flash.

Page 11: LS6410 Android2 User Manual 1

11

Until here, nand uboot has been written into flash. At this time, you can choose to continue

the installation with boot from SD or boot from SD. Note: If you choose boot from SD at this

point, you may run into a case that you have to insert the boot SD card into the board SD slot

every time you boot your development board. So it is highly suggest you switch to boot from

Nand at this point.

Set boot DIP to NAND boot, reset or power up the board. Select the display device and come

to the ubbot menu.

1.2 Burn kernel

Select k from the uboot menu, and select the android-image/zImage in the DNW menu USB

port/transmit.

Page 12: LS6410 Android2 User Manual 1

12

Now the Android Linux kernel has been burned successfully.

1.3 Burn cramfs

Android or the root file system with Qtopia can use the writable file systems such as yaffs or

ubifs. But in our testing process, yaffs is not stable, even with the path from Google. So we

chose to use ubifs, which has much better performance. Ubifs were developed by IBM and

other companies, and were adopted in linux kernel after 2.6.27.

But the nand driver of the current version of uboot has bad support of ubifs/yaffs2. We are

going to use cramfs as intermediate file system to realize ubifs/yaffs2. So we are going to

first introduce how to burn cramfs to the board, and we recommend not to remove cramfs

until the file system is debugged so that we can use it when updating ubifs/yaffs2.

In order not to confuse the user, we emphasize again that ubifs is the final file system and

cramfs is only a aux file system. Later on, we are going to update uboot so that it can direcly

support ubifs.

android\android-image\rootfs.cramfs is the minimal file system we built to burn ubifs/yaffs.

We will download cramfs to the board and then write to cramfs partition of nandflash.

Page 13: LS6410 Android2 User Manual 1

13

Select c from the uboot menu and select the android-image/root_mkfs.cramfs in the DNW

menu USB port/transmit.

1.4 Burn ubits root file system

The previous step is step stone for burning ubifs. It will not be needed after uboot is updated.

Now we proceed to burn ubifs.

First step is to copy Android 2.0 file system android\android-image\android.tar.gz to USB drive

or SD card, and plug in to LS6410 development board. After power cycle the board, select a

from the uboot menu.

Page 14: LS6410 Android2 User Manual 1

14

If everything goes smoothly, the following page will show up

Page 15: LS6410 Android2 User Manual 1

15

This indicates that the system begins burning the ubifs. After it is done, the calibration page

will show up,

And the LCD screen will pop up the calibration interface,

Page 16: LS6410 Android2 User Manual 1

16

click on the cross to do the five-point calibration. Afterwards the system can boot up

successfully. Finally, the Android interface is brought up,

Page 17: LS6410 Android2 User Manual 1

17

Up to this point, the Android system has been installed successfully. Ever since then, if

a keyboard key is not pressed during the boot up process, the system will automatically

boot to this Android interface.

1.5 Calibrate display using Uboot menu

The calibration of the touch screen is critical to the usage of the Android system. We provide

a calibration using the uboot menu. Select t in the uboot menu,

After the calibration window is brought us, click on the cross on the screen to calibrate.

1.6 Select GPRS/3G device using uboot menu

Our development board provides GSM/GPRS or 3G wireless modem. However, only one of

them can be used as wireless networking device at any time. Therefore we provide a way for

user to select the wireless device in uboot. The user does not to reinstall the system to select

different wireless device. Select p from the ubott menu,

Page 18: LS6410 Android2 User Manual 1

18

You can select the right device according to your board. If do not use either device, select

None.