Summary of android coding methods for major development boards

Source: Internet
Author: User

Now we have several boards on hand, 2410 and 2440 are used in the past. Now we mainly use 6410, one of which is the JFJ6410 development board of a company and the other is the 6410V1 embedded in the sky. today, I will summarize how many development boards bought in China, including Mini6410, OK6410, TQ6410, and Real6410, can be written to Android. In fact, the main method is to burn the UBI file system. Cramfs and yaffs2 file systems were used for embedded systems. However, with the popularity of Android, a better choice is provided for the Android system, that is, the UBI file system. I do not know the performance advantages of UBI over cramfs and yaffs2, however, at least UBI compression is a good feature for us to learn using the Development Board. Generally, U-Boot is used for writing.

The first is the friendly arm of Mini6410, which provides two types of Boot, one is portable Samsung provides U-Boot1.1.6, this version does not support UBI File System burn write, they made a superboot and supported UBI, but it is not open source and never used.

Then there is the Apsara stack OK6410, which uses the U-Boot provided by Samsung and does not support UBI. So come up with another method to burn the data. They used their own SD card burning tool: SD_Writer, which first burned an mmc. bin and a zImage-sd file to the sd card, the former mmc. bin is actually used for sd card startup. The latter zImage-sd is a kernel file. First, let's take a look at what mmc. bin has done. Start from the SD card and enter the U-Boot download mode. Use printenv to print the environment variables. You can see:

SMDK6410 # printenv         bootargs=rootdelay=0 console=ttySAC0,115200bootcmd=nand erase;
        fatload mmc 0:1 0x50008000 u-boot.bin;nand write.uboot 0x50008000 0 0x100000;
        fatload mmc 0:1 0x50008000 zImage;nand write.e 0x50008000 0x100000 0x500000;
        movi read kernel 0x50008000;bootm 0x50008000

From the bootcmd above, we can know what to do in four steps:

1. Erase the entire NAND Flash;

2. Download The u-boot.bin file from the SD card to the memory, and then burn it to the NAND Flash;

3. Download zImage from the SD card to the memory and then burn it to NAND Flash;

4. Read the kernel from the sd card (not the zImage written in the previous step, but the zImage-sd written by the sd card burning tool) to the memory, and then start the kernel. The startup parameter is shown in the bootargs above.

After entering this kernel, it will enter the following command line,

Some people may think that U-Boot and zImage-sd have been burned to the sd card, but the file system has not been burned. How can this kernel be started? Here, let's take a look at the characters "initramfs" in front of the command prompt.

All linux kernels of version 2.6 have a special file system rootfs, which is the initial root file system started by the kernel. The initramfs files are copied to rootfs. If we compare initramfs to a seed, rootfs is the soil where it grows. After most linux systems run normally, they will install other file systems and then ignore rootfs.

Now everyone knows, but because the source file is not provided by alicloud, we don't know what the yjsx program is. We can only see the burning process, I will not post it here. The main task is to burn the file system copied to the SD card to the NAND
In Flash, note that they are burning in the yaffs format, rather than ubi, I guess they just want to make it easier for users to use the SD card for writing (after all, the Friendly Hand burning method is really good), rather than using the ubi file system.

Here we will talk about some Real6410 and TQ6410. Their practices are similar. Real6410 divides two file system zones in the NAND partition, cramfs and file system zone. First, start the kernel to enter the cramfs file system, format the NAND to the UBI format, and then burn and write. Similarly, TQ6410 first mounts the NFS file system, formats the NAND into UBI, and then writes it.

However, it seems that TQ6410V2 already supports UBI burning and writing. This is not yet viewed.

Well, let's take a look at the user manual provided by several companies.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.