- Catalog Home
- » Embedded programming with Android: bringing up an Android system from scratch
Embedded programming with Android: bringing up an Android system from scratch
Author
Language
English
Description
Loading Description...
Table of Contents
From the Book
Machine generated contents note: 1. Introduction to Embedded System Programming --
What Is an Embedded System? --
Bare Metal Programming --
Learning Embedded System Programming --
Software Layers in an Embedded System --
Tools and Hardware Platform --
Difference between Virtual Hardware and Real Hardware --
Summary --
2. Inside Android Emulator --
Overview of the Virtual Hardware --
Configuring Android Virtual Devices --
Hardware Interfaces --
Serial --
Timer --
Summary --
3. Setting Up the Development Environment --
Host and Client Environments --
Development Environment Setup --
Downloading and Installing Android SDK --
Downloading and Installing the GNU Toolchain for ARM --
Integrated Development Environment --
Your First ARM Program --
Building the Binary --
Running in the Android Emulator --
makefile for the Example Projects --
Summary --
4. Linker Script and Memory Map --
Memory Map --
Linker --
Symbol Resolution --
Relocation --
Section Merging --
Section Placement --
Linker Script --
Linker Script Example --
Initializing Data in RAM --
Specifying Load Address --
Copying .data to RAM --
Summary --
5. Using the C Language --
C Startup in a Bare Metal Environment --
Stack --
Global Variables --
Read-Only Data --
Startup Code --
Calling Convention --
Calling C Functions from Assembly Language Code --
Calling Assembly Language Functions from C Code --
Goldfish Serial Port Support --
Check Data Buffer --
Data Input and Output --
Unit Test of Serial Functions --
Summary --
6. Using the C Library --
C Library Variants --
C Library Variants in an Operating System --
C Library Variants in Bare Metal Environment --
Newlib C Library --
Common Startup Code Sequence --
CS3 Linker Scripts --
Customized CS3 Startup Code for the Goldfish Platform --
System Call Implementations --
Running and Debugging the Library --
Using Newlib with QEMU ARM Semihosting --
Semihosting Support in Newlib C --
Semihosting Example Code --
Summary --
7. Exception Handling and Timer --
Goldfish Interrupt Controller --
Simplest Interrupt Handler --
Interrupt Support Functions --
Implementation of the Simplest Interrupt Handler --
Nested Interrupt Handler --
Implementation of the Nested Interrupt Handler --
Testing Nested Interrupts and Discovering the --
Processor Mode Switch --
Testing System Calls/Software Interrupts --
Timer --
Goldfish-Specific Timer Functions --
U-Boot API --
Real-Time Clock --
Unit Test of Timer and. RTC --
Summary --
8. NAND Flash Support in Goldfish --
Android File System --
NAND Flash Properties --
NAND Flash Programming Interface in the Goldfish Platform --
Memory Technology Device Support --
MTD API --
U-Boot API to Support NAND Flash --
Goldfish NAND Flash Driver Functions --
NAND Flash Programming Interface Test Program --
NAND Flash Information from the Linux Kernel --
NAND Flash Test Program --
Summary --
9. U-Boot Porting --
Introducing U-Boot --
Downloading and Compiling U-Boot --
Debugging U-Boot with GOB --
Porting U-Boot to the Goldfish Platform --
Creating a New Board --
Processor-Specific Changes --
Board-Specific Changes --
Device Driver Changes --
Summary --
10. Using U-Boot to Boot the Goldfish Kernel --
Building the Goldfish Kernel --
Prebuilt Toolchain and Kernel Source Code --
Running and Debugging the Kernel in the Emulator --
Booting Android from NOR Flash --
Creating the RAMDISK Image --
Creating the Flash Image --
Booting Up the Flash Image --
Source-Level Debugging of the Flash Image --
Booting Android from NAND Flash --
Preparing system.img --
Booting from NAND Flash --
Summary --
11. Building Your Own AOSP and CyanogenMod --
Introducing AOSP and CyanogenMod --
Setting Up an Android Virtual Device --
AOSP Android Emulator Build --
AOSP Build Environment --
Downloading the AOSP Source --
Building AOSP Android Emulator Images --
Testing AOSP Images --
CyanogenMod Android Emulator Build --
Downloading the CyanogenMod Source --
Building CyanogenMod Android Emulator Images --
Testing CyanogenMod Images --
Summary --
12. Customizing Android and Creating Your Own Android ROM --
Supporting New Hardware in AOSP --
Building the Kernel with AOSP --
Building U-Boot with AOSP --
Booting Android with U-Boot from NAND Flash --
Supporting New Hardware in CyanogenMod --
Building the Kernel with CyanogenMod --
Building U-Boot and Booting Up CyanogenMod --
Summary --
A. Building the Source Code for This Book --
Setting Up the Build Environment --
Setting Up a Virtual Machine --
Organization of Source Code --
Source Code for Part I --
Building and Testing from the Command Line --
Building and Testing in Eclipse --
Source Code for Part II --
Source Code for Part III --
Building AOSP --
Building CyanogenMod --
B. Using Repo in This Book --
Resources for Repo --
Syncing a New Source Tree In Minutes --
Downloading Git Repositories Using Local Manifest.
Excerpt
Loading Excerpt...
Author Notes
Loading Author Notes...
More Details
ISBN
9780134030005
Reviews from GoodReads
Loading GoodReads Reviews.
Staff View
Loading Staff View.