System architecture / Hardware coordination / Firmware development / Validation
Once the Technical Design Requirement Specification (TDRS) is complete, our software development engineers move on to the detailed design phase. At this stage, each block in the system is analyzed to select appropriate components and finalize the application circuits.
Our software developers and engineers make key decisions such as determining the type of power supply to use, whether it should be a linear regulator, a DC-DC switching converter, or another solution. Based on these decisions, the specific power management ICs (PMICs) are selected and their application circuits are carefully designed & validated. This process is repeated for every functional block in the system to ensure optimal performance, reliability and efficiency.
Here is a systematic breakdown of this process:
█ 1. Requirements & System Architecture
● The Embedded Engineers collaborate with System Architects and Hardware Engineers to define software requirements based on the product’s intended functionality.
● They contribute to shaping the system architecture by advising on microcontroller/microprocessor selection, memory requirements, interface compatibility and real-time constraints.
█ 2. Hardware Design Phase
● The Embedded Engineers work closely with the Hardware Design Team.
● They review schematics, assist in component selection (e.g., MCUs, sensors, communication modules) and ensure that the hardware supports the intended software features.
● Initial board bring-up code and bootloader frameworks are also developed during this phase.
█ 3. Software Design & Development
● At this stage in the process the Embedded Engineers operate fully on the software development.
● This includes writing low-level drivers, middleware, application logic, communication stacks, integrating real-time operating systems (RTOS), and implementing power management features.
● Emdedded Engineers involvement in iterative development and testing on evaluation boards.
█ 4. Integration & Testing
● The Embedded Engineers test software on actual hardware (prototypes).
● The engineers perform unit testing, integration testing and hardware-in-the-loop (HIL) testing.
● They identify and resolve issues related to hardware-software interactions through in-depth debugging and analysis.
█ 5. Validation, Certification & Production Support
● The Embedded Engineers help with the System Engineers to validate software against the original TDRS, ensure compliance with standards and prepare production-ready firmware.
● Post-production, the Embedded Engineers support the System Design Engineers with firmware updates, bug fixes and feature enhancements (e.g., OTA updates).