Embedded Systems, IT 593
About this Course:
This course introduces embedded systems concepts and technology, illustrates the trade-offs which occur as part of embedded systems design, as well as providing practical applications of embedded systems technology. Particular emphasis is given to embedded systems hardware, software and development tools. The course labs include hands-on development of several stand-alone embedded applications using development tools such as compilers, simulators and evaluation boards.
Prerequisite: ITM 301 or equivalent computer architecture course; C/C++ programming experience.
IT 301 - A+ Certification training or equivalent computer architecture course; C/C++ programming experience.
Processor Architectures and Related Embedded Topics
Basic architecture, CISC vs. RISC Registers, memory, byte ordering, bus widths Interrupts, exceptions, traps, DSP, vector/SIMD Programmable logic and related: PLDs, FPGAs, ASICs, cores HDLs, hardware/software partitioning, power consumption, performance, trade-offs
Development Tools, Techniques and Issues
Assemblers, compilers, project build facilities, debuggers, simulators, static/dynamic analysis tools, performance analysis tools, initialization/configuration, code RAM/ROM, overlay memory traditional and contemporary ICEs, intrusiveness, debugger technologies, standards, simulation technology, target debugging, breakpoints/watchpoints, execution trace.
Programming Language Issues for Embedded Development
Assembly programming (introduction),C, C++, Embedded C++, Java efficiency issues, benchmarks/benchmarking
Embedded Systems I/O, Peripherals
Communications Links and Related Topics
Embedded bus architectures, fabrics, board form-factors, industry standards, markets
Embedded and Real-time Operating Systems
Real-time, analysis techniques/tools, scheduling, services