|Module Name||Embedded Systems|
|Module Short Title||N/a|
|Semester Taught||Michaelmas Term|
|Contact Hours||Lecture hours: 21|
Lab hours: 12
Tutorial hours: 0
Total hours: 33
|Module Personnel||Lecturing staff: Jonathan Dukes|
On successful completion of the module, students will be able to:
- Describe the structure and operation of embedded systems, with particular emphasis on embedded system software, including embedded operating systems.
- Evaluate and describe the requirements of an embedded system for a specific application.
- Design, develop, test and evaluate small-scale embedded systems for a specific application using real-world hardware platforms (LPC2468 development board), programming tools (Keil ARM MDK) and systems software (FreeRTOS).
- Describe the operation and make use of peripheral modules and devices, including, for example, interrupt controllers, serial communication devices, LCD and touchscreen controllers and analogue-to-digital converters.
- Use appropriate literature, documentation and other resources to expand the knowledge that they can apply to the design, development and evaluation of embedded systems.
The module will give students the opportunity to gain the knowledge and skills necessary to begin developing embedded systems software. Students taking the module will study a real embedded hardware platform in depth (based on the widely used ARM7TDMI microcontroller) and will use this platform in conjunction with industry-standard software tools to develop embedded systems of moderate complexity. Topics covered will be in the broad areas of computer architecture, systems software and I/O. Throughout the module, students will be given opportunities to consider issues of particular relevance in embedded systems design (e.g. development cost, power, performance and reliability).
The final four weeks of the module are devoted to practical project work, which is a core component of the module. Each stduent will engage in the design, development, testing and evaluation of a small-scale embedded system, putting into practice the knowledge gained in the module.
The module assumes that students have substantial prior programming experience and a basic knowledge of microprocessor systems and computer architecture.
- Microcontroller basics review
- Memory mapped I/O
- Exceptions and interrupts
- Interrupt-driven application development
- C Programming review; tools and techniques for embedded systems development
- Operating systems for embedded systems
- Task scheduling
- Inter-process communication
- Device interconnects (e.g. I2C)
- A/D, D/A conversion
- Reliability models
|Recommended Reading List|
Details of recommended texts, literature, documentation and other resources will be made available on the module website. (See mymodule.tcd.ie)
Assessment is by written examination (contributing 50% towards the overall mark) and practical project work (contributing 50% towards the overall mark).
Supplemental assessment is by examination only (100%).
|Academic Year of Data||N/a|