top of page

5 Key Steps to Firmware Architecture and Design in 2019

The ultimate success of an embedded system project depends both on its software and hardware.

Image source: http://www.loudon-engineering.com/firmware-design

Let's see software, more specifically firmware architecture and design steps we follows at Inditronics :

Before we can begin to architect an embedded system or its firmware, we must have clear requirements. Properly written requirements define the WHAT of a product.

Select below elements according to identified product requirements.

  • Processor platforms - ARM Cores, Microchip PIC series, Atmel AVR series, Intel 8051, STM8/32 series etc

  • Language - C, C++, Java, Python etc

  • Algorithm selection

  • OS - Linux, Android, Windows etc

  • Hardware device drivers and communication protocols - Serial NOR Flash and Flash File Systems, GPS processing, Bluetooth, GSM / CDMA / LTE cellular communications, I2C, SPI, USART, USB etc.

  • Development tools - Keil C Compiler, Rowley Crossworks, IAR Workbench, Microchip MPLAB, ST Visual Developer etc

  • In-circuit emulation tools - JTAG, ST-Link, Microchip MPLAB ICD etc

  • Coding finite length firmware

  • Analyze and expose memory cost

  • Coding FW with memory costs

  • Run time budget

  • Coding cycle accurate FW

  • Relocatable assembly coding

Source: https://www.researchgate.net/figure/Detailed-firmware-design-flow_fig18_309638227

  • Design the Datapath

  • Create ISA

  • Instruction set design

  • Build Control Logic

  • Design the Address Path

  • System tests

  • Integration tests

  • Unit tests

5. Porting and Testing

Do the interfaces and connections. Generate and verify the machine code. Port the programs into device and test the embedded system.

Do you find this blog useful? Let us know.

To know more get in touch with us at Inditronics.

Get your project develop from experts. Contact Keshav Shinde at email

bottom of page