๐”– Scriptorium
โœฆ   LIBER   โœฆ

๐Ÿ“

Embedded Programming with Android

โœ Scribed by Roger Ye


Publisher
Pearson Education Limited (US titles)
Year
2015;2016
Tongue
English
Leaves
400
Category
Library

โฌ‡  Acquire This Volume

No coin nor oath required. For personal study only.

โœฆ Table of Contents


Preface xv Acknowledgments xxi About the Author xxiii Part I: Bare Metal Programming 1 Chapter 1: Introduction to Embedded System Programming 3 What Is an Embedded System? 3 Bare Metal Programming 3 Learning Embedded System Programming 5 Software Layers in an Embedded System 7 Tools and Hardware Platform 11 The Difference between Virtual Hardware and Real Hardware 11 Summary 12 Chapter 2: Inside Android Emulator 13 Overview of the Virtual Hardware 13 Configuring Android Virtual Devices 14 Hardware Interfaces 17 Serial 18 Timer 18 Summary 24 Chapter 3: Setting Up the Development Environment 25 The Host and Client Environments 25 Development Environment Setup 26 Downloading and Installing Android SDK 27 Downloading and Installing the GNU Toolchain for ARM 27 Integrated Development Environment 29 Your First ARM Program 29 Building the Binary 30 Running in the Android Emulator 32 makefile for the Example Projects 36 Summary 38 Chapter 4: Linker Script and Memory Map 39 Memory Map 39 Linker 41 Linker Script 51 Linker Script Example 53 Initializing Data in RAM 56 Summary 61 Chapter 5: Using the C Language 63 C Startup in a Bare Metal Environment 63 Calling Convention 78 Goldfish Serial Port Support 81 Summary 92 Chapter 6: Using the C Library 93 C Library Variants 93 Newlib C Library 96 Common Startup Code Sequence 97 CS3 Linker Scripts 97 Customized CS3 Startup Code for the Goldfish Platform 103 System Call Implementations 104 Running and Debugging the Library 112 Using Newlib with QEMU ARM Semihosting 116 Summary 122 Chapter 7: Exception Handling and Timer 125 Goldfish Interrupt Controller 125 The Simplest Interrupt Handler 128 Nested Interrupt Handler 140 Testing System Calls/Software Interrupts 163 Timer 164 Real-Time Clock 172 Summary 181 Chapter 8: NAND Flash Support in Goldfish 183 Android File System 183 NAND Flash Properties 185 NAND Flash Programming Interface in the Goldfish Platform 187 Memory Technology Device Support 188 MTD API 189 NAND Flash Programming Interface Test Program 206 Summary 216 Part II: U-Boot 217 Chapter 9: U-Boot Porting 219 Introducing U-Boot 219 Downloading and Compiling U-Boot 220 Debugging U-Boot with GDB 224 Porting U-Boot to the Goldfish Platform 227 Summary 246 Chapter 10: Using U-Boot to Boot the Goldfish Kernel 249 Building the Goldfish Kernel 249 Prebuilt Toolchain and Kernel Source Code 250 Running and Debugging the Kernel in the Emulator 252 Booting Android from NOR Flash 254 Booting Android from NAND Flash 270 Summary 280 Part III: Android System Integration 281 Chapter 11: Building Your Own AOSP and CyanogenMod 283 Introducing AOSP and CyanogenMod 283 Setting Up an Android Virtual Device 284 AOSP Android Emulator Build 288 CyanogenMod Android Emulator Build 297 Summary 307 Chapter 12: Customizing Android and Creating Your Own Android ROM 309 Supporting New Hardware in AOSP 309 Supporting New Hardware in CyanogenMod 332 Summary 338 Part IV: Appendixes 339 Appendix A: Building the Source Code for This Book 341 Setting Up the Build Environment 341 Setting Up a Virtual Machine 344 Organization of Source Code 344 Source Code for Part I 345 Source Code for Part II 350 Source Code for Part III 352 Appendix B: Using Repo in This Book 355 Resources for Repo 355 Syncing a New Source Tree In Minutes 355 Downloading Git Repositories Using Local Manifest 356 Index 359


๐Ÿ“œ SIMILAR VOLUMES


Embedded Programming with Android: Bring
โœ Roger Ye ๐Ÿ“‚ Library ๐Ÿ“… 2016 ๐Ÿ› Addison-Wesley ๐ŸŒ English

<div> <p style="font-weight: 600">The First Practical, Hands-On Guide to Embedded System Programming for Android</p> <p>Today, embedded systems programming is a more valuable discipline than ever, driven by fast-growing, new fields such as wearable technology and the Internet of Things. In this co

Beginning Android Programming with Andro
โœ Jerome DiMarzio ๐Ÿ“‚ Library ๐Ÿ“… 2016 ๐Ÿ› Wrox ๐ŸŒ English

<p><b>A hands-on introduction to the latest release of the Android OS and the easiest Android tools for developers</b></p> <p>As the dominant mobile platform today, the Android OS is a powerful and flexible platform for mobile device. The new Android 7 release (New York Cheesecake) boasts significan

Beginning Android Programming with Andro
โœ DiMarzio, Jerome ๐Ÿ“‚ Library ๐Ÿ“… 2016 ๐Ÿ› Wiley;Wrox ๐ŸŒ English

A hands-on introduction to the latest release of the Android OS and the easiest Android tools for developers As the dominant mobile platform today, the Android OS is a powerful and flexible platform for mobile device. The new Android 7 release (New York Cheesecake) boasts significant new features an