|Can be completed in||2 Week|
|Course Validity||7 Week|
EP51 introduces you to the exciting world of embedded systems. These systems can be as simple as control panel of a washing machine or as complex as a smart phone. These systems are highly constrained in nature as power, computing resources and memory are not so high at programmer's disposal. Further, in these systems, software is very tightly coupled with hardware. Hence to design such a system and write good applications for them, sound knowledge of the underlying hardware and architecture is essential. We also suggest you to go through our blog on Careers in Embedded Systems Design and Programming to gain more insight into career options and skills needed.
We take the first step to learn more about embedded computing by working with the 8bit micro-controllers which can be found in more than 40% of world's embedded systems. After discussing the micro-controller basics, this course will introduce you to the world of embedded programming with 8051 micro-controllers. There will be lab exercises after every major concept and towards the end of the course, we will take up a couple of projects.
This course is taught by Basant Dwivedi. He will also be moderating the course forums.
Background in basic digital design is needed to understand various architecture concepts. Further, all the lab exercises in this course are in the UNIX environment. Hence, familiarity with UNIX from user point of view is needed. If you are not familiar with UNIX, we recommend you to go through User Level Linux course first.
EP51 course is a beginners course. This can be taken as the first course to learn computer architecture and low level programming concepts. Further, it is a programming course, hence micro-controller architecture has been discussed from programmer's point of view. Micro-architecture concepts are only touched upon.
This course is divided into three parts.
In this part, various embedded programming concepts and tools are introduced with the help of 8051 micro-controller family. 8bit micro-controllers are extensively used in a variety of applications such as home appliances, displays, computer peripherals, cars etc. 8051 family is quite popular among 8bit micro-controllers. Specifically, we will learn the following.
In part III, we will take a couple of projects. Further, we will go through a few important software engineering aspects such as writing modular and maintainable code, performance considerations etc. At the end, an overview of higher end embedded processors will be provided as motivation for more advanced topics.
EP51 course as outlined above will give you hands-on-experience on various components of embedded systems programming in short span of time. At the same time, you will also get an insight into micro-controller architectures. Experience gained with assembly level programming will also come very handy while writing device drivers and firmware.