A Road Map For Embedded Systems

This roadmap was created for the Embedded Systems committee in IEEE Mansoura Computer Society Chapter by Mahmoud Essam Mahfouz, head of the committee. I hope you get the most benefit from it.

Objectives:

The main goal for this road map is to prepare committee members to be able to work as Embedded Software Engineer either in a company or as a freelancer

Levels:

  • Beginner : Introduction to Embedded Systems & C Language
  • Intermediate: Data Structure & Embedded C
  • Advanced: Interfacing

Beginner : Introduction to Embedded Systems & C Language

Objectives:

  • Learning concepts related to basics of embedded systems
  • Learning concepts related to basics of programming, such as: compiler, IDE, packages, libraries
  • Learning about the compilation process
  • Learning C programming language Syntax
  • Solving many programming problems using C language

Weeks

Final Project

Intermediate : Data Structure & Embedded C

Objectives:

  • Having a good background about Data structures
  • Learning about Stack, Queue and Linked list
  • Being able to customize and implement a new data structure
  • Learning how to use C in Embedded (Embedded C)

Weeks:

Advanced : Interfacing

Objectives:

  • Studying Atmega32(AVR) and PIC microcontrollers and writing drivers for them
  • Learning about Interrupts and how do they work ?
  • Writing Driver for GPIO and LCD
  • Learning communication protocols (USART, SPI, I2C)

Weeks:

Final Project