Abstract
Optimization metrics for compiled code are not always measured in execution clock cycles on the target architecture. Modern cellular telephone or wireless devices, which may download executables over a wireless network connection or backhaul infrastructure, it is often advantageous for the compiler to reduce the size of the compiled code that must be downloaded to the wireless device. By reducing the size of the code, savings are achieved in terms of bandwidth required for each wireless point of download. These are metrics correlated to the dynamic run-time behaviour of not only the compiled code on the target processor, but also the underlying memory system, caches, DRAM, and buses, etc. Despite new generation of embedded systems are getting innovative and computationally powerful with upcoming embedded processors, the market demands more computational-intensive embedded software to be developed on embedded systems. It is very essential to implement efficient embedded software to meet the market demand of embedded systems. These embedded systems are special-purpose computing systems and built to perform very specific embedded applications. And, these embedded applications mainly use three key resources of embedded systems: (1) CPU (2) Run-time memory (3) Persistent memory i.e. NAND/NOR flash memory. This paper summarizes several effective embedded software optimization techniques to optimize CPU usage, Run-time memory, and Persistent memory.
Highlights
The embedded systems do not have much freedom to choose most powerful processors to develop applications flexibly and they often have very limited resources are available
We propose variety of optimization techniques to utilize CPU, Run-time memory, and Persistent memory
The loops should be focused more because they are usually the most critical parts to be optimized in digital signal processing (DSP) or any computation-intensive applications
Summary
The embedded systems do not have much freedom to choose most powerful processors to develop applications flexibly and they often have very limited resources are available. These embedded software optimization techniques bring multiple advantages: (1) Use the embedded systems’ resources efficiently (2) Allow to improvise existing functionalities (3) Add functionalities to upgrade the systems (4) Lower the power consumption of embedded systems Including these techniques in design and implementation of embedded software from very beginning is important to meet the requirements and allow flexibilities to improvise and add more functionalities later. Image processing on a Digital Signal Processor (DSP) often requires image data to be stored in external memory, because the amount of fast on-chip memory is usually very limited. The idea of ROS-DMA is to transfer image slices into small intermediate buffers of fast internal memory, where the processing can be completed utilizing the full processing power. This paper discusses how to optimize the CPU, run-time memory and persistent memory in some detail
Published Version (
Free)
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have