COURSE SUMMARY
Course Title: 
Embedded Programming
Course Code: 
15CSE346
Year Taught: 
2015
2016
2017
2018
Type: 
Elective
Degree: 
Undergraduate (UG)
School: 
School of Engineering
Campus: 
Bengaluru
Chennai
Coimbatore
Amritapuri

'Embedded Programming' is a course offered in the B. Tech. in Computer Science and Engineering program at School of Engineering, Amrita Vishwa Vidyapeetham.

Unit 1

Basics of Embedded Systems – Definition, Characteristics, Challenges, Embedded Programming Concepts: Role of Infinite loop – Compiling, Linking and locating, Efficient compilation examples – downloading and debugging – Emulator and simulator processors – External peripherals – Memory testing – Flash Memory

Unit 2

Operating System: Embedded operating systems – Real time characteristics – Selection process – Flashing the LED – serial ports – code efficiency – Code size – Reducing memory usage – Impact of object oriented programming. Hardware Fundamentals: Buses – DMA – interrupts – Built-ins on the microprocessor – Conventions used on schematics – Microprocessor Architectures – Software Architectures – RTOS Architectures – Selection of Architecture. RTOS Tasks and Task states – System V IPC mechanisms – Memory management – Interrupt routines – Encapsulating semaphore and queues – Hard Real-time scheduling – Power saving.

Unit 3

Embedded Software Development Tools: Host and target machines – Linkers / Locators for Embedded Software – Debugging techniques – Instruction set simulators Laboratory tools – Practical example – Source code. Case study on Portable computing platforms.

  • Michael Barr, Anthony Massa “Programming Embedded Systems, Second edition With C and GNU Development Tools”, O’reilly Media Oct, 2006.
  • David E. Simon, “An Embedded Software Primer”, Pearson Education, 2003
  • Michael Barr, “Programming Embedded Systems in C and C++”, O’Reilly, 2003.
  • SriramIyer and Pankaj Gupta, “Embedded Real time Systems Programming”, Tata McGraw Hill Publications, First Edition, 2011.
  • Raj Kamal, "Embedded Systems: Architecture, Programming and Design", Tata McGraw Hill, 2008.
  • Lewis Daniel W., “Fundamentals of Embedded Software: Where C and Assembly Meet”, Prentice Hall, 2003.