Embedded Software Development Tools and Processes n n
Embedded Software Development Tools and Processes n n 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 1
Software Development n n n Native Compiler – Host and Target same u. P Cross Compiler – Host develops code for a different target u. P 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 2
Programming Target system n n 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 3
Testing & Debugging n n n 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 u. P is not directly accessable. 4
Testing & Debugging features n n n n n Run program Step single instruction or single HLL statement Trace execution Monitor u. P 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. 5
- Slides: 5