STDA032 June 2026 TDA54-Q1
Software is a crucial aspect of embedded devices, which are specialized computing systems designed to perform specific functions in a product or machine. Embedded software is the programming that runs on the embedded system's processor, controlling behavior and interacting with peripherals to achieve the desired functionality of a system. This software is organized as a software stack, with embedded software developers typically writing high-level applications at the top and leveraging lower-level middleware and firmware at the bottom. The lower-level software interfaces with hardware and is often called a Software Development Kit (SDK). An SDK includes reference code, documentation, tools and support provided by a processor supplier to facilitate application development.
Figure 1-1 Embedded software controls processor behavior and peripheral interaction for system functionalityAcross embedded system markets—from automotive safety systems to humanoid robots—engineers must invest considerable resources to innovate with high-quality embedded applications or risk falling behind competitors. A common observation among engineers is that software development represents the majority of project resources. Typically, 70–90% of the overall development effort and cost is allocated to software. Therefore, a successful product depends heavily on an embedded processor's software and tools. A robust SDK is a crucial factor in meeting the constraints and goals of embedded systems—often a complex mix of power, cost, safety, security, development timelines and scalability—to maintain a competitive edge.