Book Description
Key Features
- Create efficient and secure embedded devices using Linux
- Minimize project costs by using open source tools and programs
- Explore each component technology in depth, using sample implementations as a guide
Book Description
Mastering Embedded Linux Programming takes you through the product cycle and gives you an in-depth description of the components and options that are available at each stage. You will begin by learning about toolchains, bootloaders, the Linux kernel, and how to configure a root filesystem to create a basic working device. You will then learn how to use the two most commonly used build systems, Buildroot and Yocto, to speed up and simplify the development process. Building on this solid base, the next section considers how to make best use of raw NAND/NOR flash memory and managed flash eMMC chips, including mechanisms for increasing the lifetime of the devices and to perform reliable in-field updates. Next, you need to consider what techniques are best suited to writing applications for your device. We will then see how functions are split between processes and the usage of POSIX threads, which have a big impact on the responsiveness and performance of the final device The closing sections look at the techniques available to developers for profiling and tracing applications and kernel code using perf and ftrace.
What you will learn
- Understand the role of the Linux kernel and select an appropriate role for your application
- Use Buildroot and Yocto to create embedded Linux systems quickly and efficiently
- Create customized bootloaders using U-Boot
- Employ perf and ftrace to identify performance bottlenecks
- Understand device trees and make changes to accommodate new hardware on your device
- Write applications that interact with Linux device drivers
- Design and write multi-threaded applications using POSIX threads
- Measure real-time latencies and tune the Linux kernel to minimize them
About the Author
Chris Simmonds is a software consultant and trainer who lives in southern England. He has been using Linux in embedded systems since the late 1990s, during which he has worked on many interesting projects, including a stereoscopic camera, intelligent weighing scales, various set-top boxes and home routers, and even a large walking robot.
He is a frequent presenter at open source and embedded conferences, including the Embedded Linux Conference, Embedded World, and the Android Builders’ Summit. He has been conducting training courses and workshops in embedded Linux since 2002 and in embedded Android since 2010. He has delivered hundreds of sessions to many well-known companies. You can see some of his work on the “Inner Penguin” blog at www.2net.co.uk.
Table of Contents
Chapter 1: Starting Out
Chapter 2: Learning About Toolchains
Chapter 3: All About Bootloaders
Chapter 4: Porting and Configuring the Kernel
Chapter 5: Building a Root Filesystem
Chapter 6: Selecting a Build System
Chapter 7: Creating a Storage Strategy
Chapter 8: Introducing Device Drivers
Chapter 9: Starting up – The init Program
Chapter 10: Learning About Processes and Threads
Chapter 11: Managing Memory
Chapter 12: Debugging with GDB
Chapter 13: Profiling and Tracing
Chapter 14: Real-time Programming
中文:
书名:Mastering Embedded Linux Programming
Key Features
- Create efficient and secure embedded devices using Linux
- Minimize project costs by using open source tools and programs
- 使用样例实现作为指南,深入探讨每种组件技术
图书描述
掌握嵌入式Linux编程将带您完成整个产品周期,并对每个阶段可用的组件和选项进行深入描述。您将首先学习工具链、引导加载器、Linux内核,以及如何配置根文件系统来创建基本的工作设备。然后,您将学习如何使用两个最常用的构建系统Buildroot和Yocto来加快和简化开发过程。在此坚实基础上,下一节将讨论如何充分利用原始NAND/NOR闪存和托管闪存eMMC芯片,包括延长设备寿命和执行可靠的现场更新的机制。接下来,您需要考虑哪些技术最适合为您的设备编写应用程序。然后,我们将看到如何在进程和POSIX线程之间拆分函数,这对最终设备的响应性和性能有很大影响。最后几节介绍了开发人员可以使用perf和ftrace分析和跟踪应用程序和内核代码的技术。
你将学到什么
- 了解Linux内核的角色并为您的应用程序选择合适的角色
- 使用Buildroot和Yocto快速高效地创建嵌入式Linux系统
- 使用U-Boot创建自定义引导加载程序
- Employ perf and ftrace to identify performance bottlenecks
- 了解设备树并进行更改以适应设备上的新硬件
- Write applications that interact with Linux device drivers
- 使用POSIX线程设计和编写多线程应用程序
- 测量实时延迟并调优Linux内核以将其最小化
关于作者
♪克里斯·西蒙兹♪ 是一名软件顾问和培训师,住在英格兰南部。自20世纪90年代末以来,他一直在嵌入式系统中使用Linux,在此期间,他参与了许多有趣的项目,包括立体摄像头、智能称重秤、各种机顶盒和家庭路由器,甚至还有一个大型行走机器人。
他经常在开源和嵌入式会议上发表演讲,包括嵌入式Linux大会、嵌入式世界和Android Builders峰会。自2002年以来,他一直在主持嵌入式Linux的培训课程和研讨会,自2010年以来,他一直在主持嵌入式Android的培训课程和研讨会。他曾为许多知名公司举办过数百场讲座。你可以在www.2net.co.uk上看到他在《内企鹅》博客上的一些作品。
目录表
Chapter 1: Starting Out
Chapter 2: Learning About Toolchains
第3章:所有关于引导加载器
第4章:移植和配置内核
Chapter 5: Building a Root Filesystem
Chapter 6: Selecting a Build System
第7章:制定存储战略
Chapter 8: Introducing Device Drivers
第9章:启动init程序
第10章:了解进程和线程
第11章:管理内存
第12章:使用gdb进行调试
第13章:性能分析和跟踪
第14章:实时编程
评论前必须登录!
注册