product description page
Embedded Programming With Android : Bringing Up an Android System from Scratch (Paperback) (Roger Ye)
about this item
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 concise guide, Roger Ye teaches all the skills you’ll need to write the efficient embedded code necessary to make tomorrow’s Android devices work.
The first title in Addison-Wesley’s new Android™ Deep Dive series for intermediate and expert Android developers,Embedded Programming with Android™draws on Roger Ye’s extensive experience with advanced projects in telecommunications and mobile devices. Step by step, he 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.
First, Ye introduces the essentials of bare-metal programming: creating assembly language code that runs directly on hardware. Then, building on this knowledge, he shows how to use C to create hardware interfaces for booting a Linux kernel with the popular U-Boot bootloader. Finally, he walks you through using filesystem images to boot Android and learning to build customized ROMs to support any new Android device. Throughout, Ye provides extensive downloadable code you can run, explore, and adapt.
- Build a complete virtualized environment for embedded development
- Understand the workflow of a modern embedded systems project
- Develop assembly programs, create binary images, and load and run them in the Android emulator
- Learn what it takes to bring up a bootloader and operating system
- Move from assembler to C, and explore Android’s goldfish hardware interfaces
- Program serial ports, interrupt controllers, real time clocks, and NAND flash controllers
- Integrate C runtime libraries
- Support exception handling and timing
- Use U-Boot to boot the kernel via NOR or NAND flash processes
- Gain in-depth knowledge for porting U-Boot to new environments
- Integrate U-Boot and a Linux kernel into an AOSP and CyanogenMod source tree
- Create your own Android ROM on a virtual Android device
Today, embedded systems programming is a more valuable discipline than ever, driven by entirely new fields such as wearable technology and the "Internet of Things." Now, for the first time, there's a complete guide to bare-metal embedded system programming using the Android Emulator virtual environment. Embedded systems expert Roger Ye teaches all the skills you need to program directly to hardware: gaining performance and efficiency benefits you can't achieve any other way.
Since this hands-on guide utilizes the widely accessible Android Emulator, you can now learn bare-metal programming without access to the hardware itself. Ye guides you through setting up your complete development environment, and then builds your skills through several realistic projects.
First, you'll construct a complete bootloader: one of the most common and useful embedded systems programming projects. Ye covers implementing U-Boot from start to finish: loading the first instruction on your target hardware platform, programming in assembly language for the ARM processor, programming in the higher level C language, adding C library support, adding hardware support, and more.
As you master the workflow of an embedded systems project, you'll gain essential skills for diverse tasks ranging from error handling to integrating hardware interfaces. Then, you'll deepen your knowledge through additional real-world projects: serial ports, NAND flash devices, real time clocks, interrupt controllers, and more. These projects show how to decouple hardware interface handling tasks from other tasks associated with the software framework or OS support. They also give you deep insights into the internals of the Android emulator: insights that can help you use it far more effectively in embedded development.