Nov 23, 2024  
2014-2015 Undergraduate Academic Catalog 
    
2014-2015 Undergraduate Academic Catalog [ARCHIVED CATALOG]

Add to Portfolio (opens a new window)

CE 2811 - Embedded Systems II

3 lecture hours 3 lab hours 4 credits
Course Description
This course builds on CE 2800  and introduces C as a portable high-level language for embedded systems programming. Topics include C language syntax, variables, and pointers. C functions are covered with special attention to passing by value versus passing by reference. Specialized embedded topics include using pointers to interact with microcontroller subsystems, creating interrupts in C, and the C/assembly interface. Designing modular applications by use of multiple files is emphasized throughout the course. Laboratory exercises employ peripheral subsystems as well as reinforce other key topics. (prereq: CE 2800 , SE 1011 )
Course Learning Outcomes
Upon successful completion of this course, the student will be able to:
• combine assembly and a high-level language to complete basic embedded system programming tasks
• employ embedded systems development tools
• link multiple files to create a larger application
• design and write C functions
• use interrupts in C to perform I/O
• use the various subsystems of the processor in practical applications
Prerequisites by Topic
• High-level programming fundamentals including control structures and subroutines
• Structured assembly language programming
• Good program documentation and design techniques including flowcharting and pseudocode
Course Topics
• Introduction to C as a portable language
• Review control structures typical of high-level languages
• Pointer basics, null pointers, addressing, indirection, arrays and pointers, character string processing
• C arithmetic and bitwise operators
• Traditional C and C99 types and custom types with typedef
• Interaction with registers via C pointers
• C structures
• Function pointers
• The C standard library
• Dynamic memory with malloc and free
• C functions and parameter passing (by value and by reference)
• Interrupts in C
• Using multiple files in an application, header files, conditional compilation
• Serial communications and the USART subsystem
• Design of a buffered serial API
• Basic console I/O
• Basic round-robin context switching
• Midterm and review
Laboratory Topics
• Debugging a simple C program on the embedded system
• Using C to interact with microcontroller peripherals
• Mixed C/assembly program
• Console I/O
• Round-robin context switcher
Coordinator
Darrin Rothe



Add to Portfolio (opens a new window)