60 likes | 300 Views
Embedded Software Development Tools and Processes. Hardware & Software Hardware – Host development system Software – Compilers, simulators etc. Target systems PC or similar with I/O cards PC or similar with custom I/O COTS(Commercial of the Shelf) boards
E N D
Embedded Software Development Tools and Processes • Hardware & Software • Hardware – Host development system • Software – Compilers, simulators etc. • Target systems • PC or similar with I/O cards • PC or similar with custom I/O • COTS(Commercial of the Shelf) boards • Custom designed boards, interfaces etc
Software Development • Native Compiler – Host and Target same uP • Cross Compiler – Host develops code for a different target uP • Process • Edit source files – code versioning systems • compile to relocateable object code (*.obj files) • link & locate – link obj files with library code to produce absolute object code file. • convert object code to Intel hex format or other formats for programming memory device • Program target
Programming Target system • Most programs stored in Flash memory • On-Chip flash – in-circuit serial programming • External memory devices – Separate programmer device required • External programmer – parallel and gang programmers
Testing & Debugging • Simulator – limited usage • Monitor program – linked with application program, • In- circuit emulator – less used nowadays • Logic analyzer – more a hardware tool • JTAG (Joint Test Action Group) emulation and debugging – used for microcontrollers and SOC's (system on chip) where uP is not directly accessable.
Testing & Debugging features • Run program • Step single instruction or single HLL statement • Trace execution • Monitor uP registers and memory contents • Disassemble machine code to assembly language • Watch variables (i.e. memory contents) • Breakpoints – stop execution • Advance breakpoints – conditional • Code coverage and performance analysis • Execute in realtime and capture information.