Android Embedded Development beginners attention to several points

 

 

A: First you must understand the ARM core platform Android Transplantation and driver development, of course, can be X86 and other platforms, but other platforms Android smart terminal development is not a lot.

Android smartphone operating system is based on an embedded Linux kernel and drivers, for the time HTC, Huawei and other companies to develop the Android operating system, the need for specialized port Android to a particular hardware platform, while necessary drivers be written and developed. Android has become the core developers, finding the core developers in such embedded devices manufacturers.

Development framework and development model systems 1. Android

Android do embedded development, this foundation is a must, you must be aware of the overall framework for the development of Android, know the necessary development model and program modules, this will help you to quickly understand the Android embedded development

2. Android system and system migration tools

1.1Android operating system architecture introduced, Android Linux kernel porting presentation, file system, toolbox and other portable storage drive transplantation. Bootloader respective programs and transplantation, and graft introduction Dalvik Android virtualizer.

1.2ARM processor introduction.

ARMv5TJS.

ARM interrupt processing.

Architecture ARM architecture and ARM processors.

IP core chip and development board.

ARM processor architecture processor mode.

. Deposit device.

The pipeline structure.

C inline assembly language programming style and examples.

1.3ARM instruction.

Arithmetic logic instructions. Effect parked state's instructions Comparative instruction branch instruction shift instruction bit map. Recognizable machine instructions.

1.4 Memory visit and memory control.

Application Example data bus and address bus.

.STR/LDR 。

1.5ARM call the standard course.

.LDM/STM。

. Disassembly.

.APCS。

.C and assembly language function calls to each other.

[Case] ​​application Android Linux patch of Linux kernel build

3. AndroidLinux kernel porting and core development

Construction 2.1ARM processor Android.

2.2 Transplantation O device driver.

2.3 storage device nand flash, MMC / SD card driver transplantation.

2.4Framebuffer transplant.

2.5 Touchscreen transplant.

2.6 Open Binder IPC transplantation.

[Case]

2.7 Android on ARM processor transplant experiments.

2.8 write Nand flash drive.

2.9 transplant Framebuffer driver.

2.10 hardware-related part (keyboard, touch screen, LCD, etc.).

4. Android related environmental database, system migration and Bionic

3.1libc transplant.

3.2libm transplant.

3.3libdl transplant.

3.4libm transplant.

3.5 busybox, toolbox transplant.

[Case]

1. transplant glibc.

2. transplant busybox and toolbox.

5. Android Dalvik GRAFT

4.1 JNI Call Bridge relevant principles.

4.2 dx, dalvitvm principles and applications.

4.3 Dalvik instruction style.

4.4 Dalvik fulfill styles dex.

4.5 Java bytecode style.

6. Android Dalvik transplant two

5.1 Dalvik Library principle.

5.2 dalvit libcore core library transplant.

5.3 dalvit / vm / native transplantation.

5.4 Dalvik Interpreter principle.

5.5 Dalvik Mterp。

7. ARMAT & T compiled

6.1AT & T assembler syntax Detailed.

Application 6.2gas tools.

The role of 6.3label label.

6.4 spread code data.

8. linker script ld-script

7.1 determine the segment address.

7.2 write ld-script.

The relationship between style and libc library 7.3 ELF.

9. The basic sequential circuit

8.1 level signal.

8.2 Analysis of the circuit diagram.

8.3 Timing Analysis FIG.

8.4datasheet view.

8.5s3c2440 the peripheral device structure.

8.6GPIO operation.

10. AMBA bus standard

9.1 AMBA bus standard.

9.2 FCLK / HCLK / PCKL frequency allocation provided.

9.3 Watchdog timer operation.

9.4 UART operation.

9.5 ARM interrupt system.

9.6 exception vector table.

9.7 ARM mode switching.

9.8 ARM interrupt HOLDER.

9.9 soft interrupt.

Implement system calls 9.10 Linux.

11. Nand Flash HOLDER

10.1 Flash principles.

10.2 Nand principle gripper plate and timing points.

The timing analysis 10.3k9f1208.

12. Memory gripper

11.1 s3c2440 physical address spread.

11.2 SDRAM principle and timing.

11.3 memory gripping physical connection.

11.4-aligned address.

11.5 SRAM visit.

13. The memory management unit

Principle 12.1 MMU's.

12.2ARM coprocessor instructions.

12.3 section mode.

12.4 small page mode.

12.5 I & D TLBs 。

12.6 I & DCache。

Harvard architecture and implementation principle 12.7.

14. DMA Direct Memory Mechanism and Application visits

13.1 DMA state machine.

13.2 DMA grip.

15. A touch screen interface and an interface ADC Example

14.1 ADC principle.

14.1 touch screen interface and control.

16. LCD gripper

15.1 graphic display principle.

15.2 LCD gripper.

15.3 LCD timing.

15.4 LCD driving system associated with the frame.

17. I2S audio bus

16.1 audio hardware works.

16.2 I2S timing.

16.3 s3c2440 on I2S operation.

Bare 16.4 audio device driver discussed.

18. CS8900 card holding

17.1 logical link layer and the MAC layer.

Analysis Principles and timing 17.2 CS8900.

17.3 subsequent discussions and NIC driver bare architecture.

19. TCP / IP protocol stack transplant, and network architecture

18.1 LwIP TCP / IP protocol stack Introduction.

18.2 LwIP configuration and compilation.

18.3 tftp configuration and compilation.

20. Bootloader principle and transplantation

19.1u-boot configuration, compilation.

History analysis 19.2u-boot start.

19.3ARM-Linux boot request.

Analysis kernel of ld-sript 19.4-Linux ARM.

Analysis of 19.5 u-boot to ARM-Linux jump code.

19.6 Application mkimage make a boot image file.

21. ARM-Linux principle and transplantation

20.1ARM-Linux configuration, compilation.

Code Analysis 20.2ARM-Linux start.

20.3ARM-Linux relationship address mapping.

20.4 Busybox configuration, compilation.

Debugging and testing skills 22.ARM other platforms

Some will be familiar with the use of test scripts to test drive on their own, or embedded hardware for simple test to do this for Android developers of embedded development is very necessary!

At last

Long road of development, we are just a small part ...... only continuous learning, Advanced, is our way out! To keep up with the progress of time!

Android Embedded Development beginners attention to several points

 

This information click on the link below to receive a free way to receive

https://www.jianshu.com/u/ee81236d2d37

Guess you like

Origin www.cnblogs.com/Androidqin/p/11574386.html