CENG 452
Building Software for Embedded Systems
Design and implementation of software for programmable embedded systems; software tools such as compilers, schedulers, code generators, and system-level design tools; data-flow and control models of computation and software synthesis for uniprocessor and multiprocessor architectures; synchronous/reactive languages and their mathematical properties; implementation of signal processing, communication and control algorithms using variety of technologies such as digital signal processors, microcontrollers, FPGAs, ASICs and real-time operating systems; real-time kernel design; software implemented fault-tolerance techniques.
Topics |
Introduction to Embedded Software Design |
Compilers, Code Generators, System-Level Design Tools
|
Data-flow and Control Models of Computation |
Software Synthesis for Uniprocessor and Multiprocessor Systems
|
Synchronous/Reactive Programming Languages |
Overview of Real-Time Operating Systems |
Summary (Examination) |
Real-Time Scheduling Techniques |
Various Algorithms in Digital Signal Processing, Communication and Control
|
Implementation of Algorithms on Microcontrollers, DSPs, FPGAs and ASICs
|
Software Development Tools |
Testing, Design for Reuse |
Software-Implemented Fault-Tolerance Techniques
|
Term Project |
Other Fourth Year Courses
- CENG 400
- CENG 411
- CENG 415
- CENG 416
- CENG 418
- CENG 421
- CENG 422
- CENG 424
- CENG 431
- CENG 432
- CENG 433
- CENG 434
- CENG 435
- CENG 436
- CENG 437
- CENG 441
- CENG 442
- CENG 443
- CENG 444
- CENG 451
- CENG 461
- CENG 462
- CENG 463
- CENG 464
- CENG 465
- CENG 471
- CENG 472
- CENG 473
- CENG 481
- CENG 482
- CENG 483
- CENG 484
- CENG 485
- CENG 486
- CENG 487
- CENG 488