Android is a Linux-based smartphone operating system developed by Google. It is widely used in 3G mobile phones and netbooks. Currently in the explosive growth phase, HTC (HtC), Motorola, Sony Ericsson, Samsung and many other companies have launched Android-based smart operating systems, and even many netbooks use Android operating systems. Currently, Android is the most popular smart operating system. With the advantages of Linux, the wide application of Android has eclipsed other competitors. Therefore, learning the Android operating system is of great significance.
This platform uses omap3530-Devkit8000 KIT development board for Android in-depth research and learning.
◆ Android operating system overview
1. Android system architecture
2. Android Application Design Philosophy
3. Open-source knowledge of Android
4. Android reference website and authoritative information
◆ Android SDK and Development Environment Construction
1. Android SDK version released
2. Install and update the ADT plug-in
3. Android Application Architecture
4. Create the first Android Project (helloandroid !)
5. Import an open-source project through eclipse
6. Visual interface development tools
7. Deploy the application to the android simulator or mobile phone
◆ Android source code development environment establishment and source code structure analysis
1. Establish the development system host environment
2. Install the package required packages
3. Ubuntu 9.10
4. Install Javva
5. source code structure analysis Android source (kernel platform application)
6. Android build Analysis
7. Android System Analysis
8. Android framwork Analysis
9. Android bring up
◆ Android Application Design Model
1. drawable
2. Layout
3. Values (strings. XML, colors. XML, style. XML, arrays. XML, etc)
4. R. Java analysis and usage
5. androidmanifest. xml
6. Android. mk
7. Activity
8. Intent
9. Service
10. contentprovider
◆ Android Application Interface (1)
1. Use textview
2. Use of drawable
3. Reference drawable color constant and background color
4. charsequence data type and resourceid Application
5. Use of displaymetrics
6. Style Definition
7. Button event processing
8. setcontentview Application
9. Use of intent object
10. Implementation of bundle objects
11. startactivityforresult Method
12. alertdialog window
13. Interaction between buttons and textview
14. Use typeface objects
15. Gallery object
16. Multi-button Application
17. Menu function menu Program Design
18. progressdialog and thread application
19. dynamically generate and maximize buttons
20. Select a function dialog box
21. Android theme implementation
22. Supports screens with multiple resolutions
◆ Android Application Interface (2)
1. edittext and setonkeylistener events
2. Focus and event handling of imagebutton
3. Use of the toast object
4. The ischecked attribute of the checkbox
5. Application of Multi-option checkbox
6. radiogroup and oncheckedchanged events
7. imageview stack Application
8. spinner and setdropdownviewresource
9. dependencies between arraylist and widgets
10. Gallery and derivative baseadapter container
11. javai/o applications
12. Select Special Effects for imagebutton
13. autocompletetextview and array
14. Principles of analogclock and digitalclock
15. datepicker and timepicker applications
16. imageview Click Event and transparency Processing
17. Integrated Application of progressbar and handler
18. Design of gridview and arrayadapter
19. listview Layout
20. listactivity and menu integration skills
21. Integration of javai/O and listactivity
22. Use the decodefile Method
23. Use a matrix object to zoom in and out graph files
24. Rotate imageview by bitmap and Matrix
25. radiobuttonid
26. icon in the dialog window
◆ Android Application interaction and mobile phone module control
1. pendingintent and alarmmanager
2. pendingintent and smsmanager
3. Intent and email
4. Data Storage Methods
5. icationicationmanager and notification
6. Adapter object and cursor
7. telephonymanager Application
8. Application of runningtaskinfo
9. Use of provider. Contact
10. Use of provider. Calendar
11. Integration and use of service and runnable
12. broadcastreceiver and intent
13. Cycler and intent-Filter
14. Android Network Programming
15. http request and Connection
16. webview. loadurl
17. WebKit and WebCore
18. httpurlconnection and urlconnection and running thread
19. runnable and surfaceview
20. Google API
◆ Android system service
1. Activity Manager
2. Windows Manager
3. Surface Manager (surface flinger)
4. Package Manager
5. Telephony Manager
6. Content Provider
7. Resource Manager
8. assetmanager
9. View System
10. Location Manager
11. Notification Manager
12. alarmmanager
13. batterymanager
14. hardwaremanage
15. How to add a new system service and open APIs
16. Key services
17. Android Startup Process
ARM platform Android transplantation and driver core development
Android embedded smart operating systems are based on linux kernels and drivers. for Android operating systems developed by companies such as HTC and Huawei, android must be specially transplanted to specific hardware platforms, at the same time, write and develop necessary drivers. This course aims to enable students to become Android core-layer developers, so that students can seek the positions of core developers in such embedded device manufacturers.
◆ 1. Android system and porting tools
1.1 Introduction to the Android operating system architecture
Introduction to porting Android Linux Kernel
File System, toolbox, etc.
Storage driver porting
Bootloader solution and Port
About Dalvik transplantation in Android Virtual Machine
1.2 introduction to arm Processors
Armv5tjs
Arm interrupt handling
ARM architecture and ARM processor architecture
IP core, chip and Development Board
ARM processor structure processor Mode
. Register
. Pipeline Structure
Example of C language Embedded Assembly format and Programming
1.3 arm Command System
. Arithmetic Logic commands
. Impact of commands on status registers
. Comparison command
. Branch command
. Shift
. Command bitmap
. Identify machine commands
1.4 memory access and memory control
Use and instance of Data Bus and address bus
. Str/LDR
1.5 arm process call standards
. LDM/STM
. Disassembly
. APCs
. Mutual calls between C-language functions and assembly
[Case] Use Android linux patch to build the Linux Kernel
2. Android Linux kernel porting and core development
Android system of 2.1 ARM processor
2.2 input/output device driver Transplantation
2.3 storage device NAND Flash, MMC/SD card driver Transplantation
2.4 framebuffer porting
2.5 touchscreen porting
2.6 port open binder IPC
[Case]
2.7 Android porting test on ARM processor
2.8 compile the NAND Flash Driver
2.9 port the framebuffer driver
2.10 hardware-related components (keyboard, touch screen, LCD, etc)
3. Migration of Android-related environment libraries and bionic systems
3.1 libc porting
3.2 libm Transplantation
3.3 libdl Transplantation
3.4 libm Transplantation
3.5 port busybox and toolbox
[Case]
1. Transplant glibc
2. Port busybox and toolbox
4. Port Android Dalvik
4.1 JNI call bridge principles
4.2 principles and usage of DX and dalvitvm
4.3 Dalvik Command Format
4.4 Dalvik execution format Dex
4.5 Java bytecode format
5. Port Android Dalvik 2
5.1 Dalvik library principles
5.2 dalvit libcore core library porting
5.3 dalvit/Vm/native porting
5.4 Dalvik interpreter Principle
5.5 Dalvik mterp
6. Arm at&t assembly
Detailed explanation of at&t Assembly syntax
Use of. Gas Tool
. Label Label
. Data and code distribution
7. Link script LD-script
Determine the. segment address
. Write LD-script
Relationship Between. ELF format and libc function library
8. Timing Circuit Basics
Level Signal
Circuit Diagram Analysis
. Sequence Graph Analysis
. Datasheet view
Peripheral device structure of omap3530
. Gpio operations
9. AMBA bus standard
. AMBA bus standard
. Fclk/hclk/pckl frequency allocation and settings
. Watchdog timing operation
. UART operation
. Arm Interrupt System
. Abnormal vector table
. Arm mode switch
. Arm Interrupt Controller
. Soft Interrupt
. Implementation of Linux system calls
10. NAND Flash Controller
. Flash Principle
. Principle of the NAND controller, timely sorting Board
. Omap3530 NAND Flash Timing Analysis
11. Memory Controller
. Omap3530 physical address distribution
. SDRAM principle and timing
. Physical connection of the Memory Controller
. Address alignment
. SRAM access
12. Memory Management Unit
. MMU Principle
. Arm coprocessor commands
. Section Mode
. Small page Mode
. I & D tlbs
. I & D Cache
Principles and implementation of Harvard Structure
13. DMA Direct Memory Access Mechanism and usage
. DMA state machine
. DMA Control
14. Touch Screen Interface and ADC interface and instance
. ADC Principle
. Touch Screen Interface and Control
15. LCD Controller
. Graphic Display Principle
. LCD Controller
. LCD timing
LCD Driver-related framework and system
16. I2S Audio bus
. Audio hardware Principle
. I2S Time Series
. I2S operation on omap3530
Discussion on bare drivers of audio devices
17. dm9000 Nic Control
. Logical Link Layer and MAC Layer
. Dm9000 principle and Timing Analysis
Discussion and architecture of NIC bare driver in the future
18. TCP/IP protocol stack porting and Network Architecture
. LWIP TCP/IP protocol stack Overview
. LWIP configuration and compilation
. TFTP configuration and compilation
19. Principles and Transplantation of bootloader
. U-boot configuration and compilation
. U-boot Startup Process Analysis
. Arm-Linux Startup requirements
. Arm-Linux kernel LD-sript Analysis
Jump code analysis from. U-boot to arm-Linux
. Use mkimage to create and start an image file
20. Principles and Transplantation of arm-Linux
. Arm-Linux configuration and compilation
. Arm-Linux Startup code analysis
. Arm-Linux address ing relationship;
Configuration and compilation of. busybox