Reducing Power Consumption

There are many applications for embedded systems that require them to be battery powered. From small IoT (short for internet of things) devices collecting data from sensors, pushing it into the cloud for processing, to autonomous vehicles and robots—these systems should be as power efficient as possible so that they can operate for a long time without a steady external power supply.

Power efficiency means the smart control of the power consumption of all parts of a system, from the peripheral devices to the memory and the processor. The efficiency of power control depends significantly on the choice of hardware components and the system design. If a processor does not support dynamic voltage control or a peripheral device cannot enter power-saving mode when idle, then not much can be done on the software side. If, however, hardware components implement standard specifications, such as an advanced configuration and power interface (ACPI), then a lot of the burden of power management can be offloaded to the operating system kernel.

In this chapter, we will explore different power-saving modes of modern hardware platforms and how they can be utilized. We will learn how to manage the power state of external devices and reduce the power consumption of processors by writing more efficient software.

We will cover the following topics:

  • Exploring power-saving modes in Linux
  • Waking up using RTC (short for real-time clock)
  • Controlling the autosuspend of USB devices
  • Configuring CPU frequency
  • Using events for waiting
  • Profiling power consumption with PowerTOP

The recipes from this chapter will help you efficiently utilize the power-saving capabilities of modern operating systems and write code that is optimized for battery-powered devices.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.116.62.45