The lifecycle of an embedded design life has 4 major zones:
Mechanical Design – Includes industrial design, 3D modelling, and prototyping
Firmware Design – Includes creating board support packages, device drivers, protocol stack, porting and bootloader
Software Design – Includes GUI, application software and middleware creation
Hardware Design – Includes PCB and FPGA designing. PCB design
includes creating the schematics, layout design and BOM. FPGA design
includes RTL coding and simulation