Android 4/imx6 System Development notes

Source: Internet
Author: User
Tags imx6

A year ago, I made an Android 2.3, using the feisikar imx5 system,

After a few days, the pigs and dogs are not as good as each other .. Finally.

With the previous experience, this time imx6 is used as the android 4 platform, which is much smoother.

 

On the first day, download the system

Download the imx6 Android software package of Apsara stack. Download the repo as instructed in the document,

Clone various git repository paths .. The network speed is too slow ..

 

The next day, compile the system

The next day,CodeAll done, good phenomenon! Compile uboot, kernel, Boot. IMG, system. IMG and other parts according to the document. During the compilation process, there were several compilation errors, but it was not difficult to solve. Basically, it was still the old problem encountered during the compilation of imx5 Android, and a software package had to be installed on the Linux compiling machine. Compilation is complete after a long time.

For more information, see pin allocation in hardware settings. In the ARCH/arm directory of Linux kernel, refresh the code for Pin allocation. Ing hundreds of pins into the code is really not a worry.

------ (Split line, waiting for the hardware board to be patched back)

 

(N days later) the third day, software and hardware joint debugging

The hardware board finally came back and began joint debugging of hardware and software. The real challenge began. At the beginning, I was very confused. What I got here was a brick. It is unknown whether it can run... If there is any problem with the hardware, You can debug the software. After the event, we proved that our hardware engineer, Y, was very awesome and meticulous, and there was almost no problem.

The software debugging process is the process of removing problems one by one.

Step 1: Start uboot first. Very bad at the beginning. uboot is burned in, and the Board does not output anything. This is not a blackboard, It is a brick .. Later I found the problem. I got a small chip model and found the uboot of the corresponding model. The serial port finally output data. Low-level errors ..

Step 2: Start Linux kernel. Study the uboot startup parameters, point the booti command to the correct MMC device, and Linux will start normally.

Step 3: Let Linux kernel load init correctly and boot the file system. It is not difficult to start the kernel. However, I am not a system engineer at flykar, so I believe it must be a small problem .. For various possible problems, is the partition where the file system is located correct? Is the mmccard driver correct? Is the loading order correct? Is the mmccard 4-wire or 8-wire mode? Is the mmccard hardware powered? After confirming that the modification is correct one by one, adjust the mmccard to 4-wire, and adjust the mmccard where the file system is located to the first card recognized by Linux. The serial port terminal command line of the Android system is finally running.

There are countless hits, and there are countless doubts .. Fortunately, the harvest is not small. At this time, the code will gradually become fascinating, clean up the equipment, and then stop tomorrow.

 

Day 4: Continue software and hardware joint debugging

The android serial port interface came out, which is a good phenomenon and gave you a lot of encouragement. Unfortunately, the LVDS screen shows no graphical interface. Yanda helped the hacker look at the hardware circuit again and thought there should be no problem. The backlight of the screen is bright, but there is no content on the screen. Y reminds me whether the IPU output channel is set incorrectly? If this is the case, it is also very vomiting. A default parameter of the system is unlikely to be used for the first channel, but the second parameter is used. Second, we trace the kernel code about IPU, then.

However, this is just a coincidence. It turns out that it is indeed a problem. All sorts of twists and turns during this period.

After the screen is lit, start to enter the android interface and connect the mouse. It works! Test RTC again. It works! Excited!

Then, add the driver of the touch screen to the kernel and use it again! Of course, there is still a problem. The position of the touch screen is incorrect. Think of Android 4 as different from the previous 2.3, and its touch screen must have an ics description file. Copy the ICS file to the specified ICS directory using the PID/vid command. The Android system that can use the touch screen has also been developed.

On the one hand, we are tired and excited. Although the Android system runs successfully, there are still many optimizations to be optimized in the future.

In this case, the Code becomes fascinating. A few days after the battle, people are just as scattered. Take a vacation with the boss, submit the code to the warehouse, and submit the subsequent work to colleagues.

(Reprint please mark: http://www.cnblogs.com/xhawk18)

Related Article

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.