Embedded programming with Android : bringing up an Android system from scratch / Roger Ye.
Material type:
Item type | Current library | Call number | Copy number | Status | Notes | Date due | Barcode |
---|---|---|---|---|---|---|---|
![]() |
Female Library | QA76.76.A65 .Y438 2016 (Browse shelf (Opens below)) | 1 | Available | STACKS | 51952000237013 | |
![]() |
Main Library | QA76.76.A65 .Y438 2016 (Browse shelf (Opens below)) | 1 | Available | STACKS | 51952000237020 |
Browsing Female Library shelves Close shelf browser
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
||
QA76.76 .T48 M87 2007 Software testing concepts and practices / | QA76.76 .T48 P495 2008 Software testing and analysis : process, principles, and techniques / | QA76.76 .T49 R617 1999 vi editor : pocket reference / | QA76.76.A65 .Y438 2016 Embedded programming with Android : bringing up an Android system from scratch / | QA76.76.C672 .A58 2014 A game design vocabulary : exploring the foundational principles behind good game design / | QA76.76.C672 .G53 2016 Multiplayer game programming : architecting networked games / | QA76.76.C68 .S534 2012 Practical malware analysis : the hands-on guide to dissecting malicious software / |
Includes index.
Step by step, the book guides you through building a system with all the key components Android hardware developers must deliver to manufacturing. By the time you?re done, you?ll have the key programming, compiler, and debugging skills you?ll need for real-world projects.
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.
1 2
There are no comments on this title.