You are on page 1of 8

A certificate Course in Embedded Firmware Design

About Eilabz Eilabz is an embedded design, development and training company headquartered in Bangalore. Eilabz gives consultancy services to many companies working on a wide range of micro-controllers and real time operating systems. Eilabz is partnered with Wind River, an Intel company, to promote VxWorks. Eilabz is also an ARM connected company which makes it unique and different from others. Eilabz also designs and manufacturers of a wide range of development boards Course Contents: Introduction to embedded systems 8 bit micro-controllers Architecture and programming Embedded C Embedded Communication Protocols

Duration of the course: 125 hours ( May slightly vary based on students' learning rate ) Course Fee Please speak to your local representative of Eilabz Related courses:

ARM micro-controllers Embedded linux with device driver RTOS with VxWorks Course Benefits: The 'Certificate in Embedded Firmware Design' exposes the engineers to the world of embedded systems. The course begins with a gentle introduction to embedded systems. The particpants will be taught the architecture, memory organisation, instruction set and programming of an 8 bit micro-controller. Micro-controller programming using assembly as well as high level language like C is discussed. The student will learn the Integrated Development Environments like Keil and issues like memory management, resource management and cross compiling are neatly discussed. The participants will get complete practical knowledge as they work on micro-controller development boards designed and developed by Eilabz. The students will also become expert C programmers at the end. Prerequisites: 1. Should have pursuing/passed out engineering degree either in Electronics and communications or Instrumentation or related stream 2. Should have sound knowledge of Digital Circuits 3. Should have exposure to basics of any programming language

Course Outline: Module 1


Session 1 History and evolution of Linux Environment The importance of Linux in embedded systems Frequently used Linux Commands Session 2 Scripting with Bash shell Working with Linux File system Session 3 Getting to know GNU Tool Chain The importance of GNU Tool Chain in Embedded Systems C programming on Linux Systems Session 4 Data types and variables in C int,char,float etc., size of variables and their internal representation

Overview of Linux Environment

Session 5 Conditional Statements Iterative Statements Effective use of while and for loops working with switch case Session 6 Learning to use functions in C Making a function call Declaring a function Building your own function Understanding function call stack Calling functions recursively Session 7 Pointers and arrays Session 8 Pointers and strings Session 9 Pointers and Structures Session 10 Introduction to Data Structures

Module 2 Embedded C and Micro-controller programming


Session 1 Embedded C Cross compilers Micro vision complier Keywords Why use C? Session 2 The 8051 micro-controller The super loop software architecture Strengths and weaknesses of super loops Example: Central-heating controller Reading from (and writing to) port pins

Session 3 SFRs and ports SFRs and ports Creating and using sbit variables Example: Reading and writing bytes Session 4 Creating software delays Using the performance analyzer to test software delays Strengths and weaknesses of software-only delays Session 5 Oscillator Hardware How to connect a crystal to a micro-controller Oscillator frequency and machine cycle period Keep the clock frequency as low as possible Session 6 Stability issues Improving the stability of a crystal oscillator Overall strengths and weaknesses Reset Hardware More robust reset circuits Session 7 Review: Basic techniques for reading from port pins Example: Reading and writing bytes (review) Example: Reading and writing bits (simple version) Example: Reading and writing bits (generic version) Session 8 The need for pull-up resistors Dealing with switch bounce Example: Reading switch inputs (basic code) Q&A assessment test Session 9 The Project Header (Main.H) The Port Header (Port.H) Re-structuring a Hello World example Example: Re-structuring the Goat-Counting Example Session 10 Preparation for the next seminar Creating hardware delays

The TCON SFR The TMOD SFR Two further registers Session 11 Example: Generating a precise 50 ms delay Example: Creating a portable hardware delay The need for timeout mechanisms - example Creating loop timeouts Session 12 Example: Testing loop timeouts Example: A more reliable switch interface Creating hardware timeouts Conclusions Q&A assessment test Session 13 Timer-based interrupts (the core of an embedded OS) The interrupt service routine (ISR) Automatic timer reloads Introducing AVX51 Session 14 Introducing AVXi Tasks, functions and scheduling Setting the tick interval Session 15 Saving power Using AVXi in your own projects Session 16 Is this approach portable? Sequential execution and schedulable execution Q&A assessment test Session 17 Implementing a Multi-State (Timed) system Example: Traffic light sequencing Session 18 Rentrant functions Intrinsic function

Session 19 creating library functions Case Study: Modbus Library implementation Session 20 Case Study: Intruder Alarm Case Study: Traffic Light implementation Session 21 using Volatile Keyword writing program for memory mapped hardware Case study: Modbus continued Session 22 Techniques: Implementing Speed, Space constraint programs Techniques: writing Portable Codes. working with monitor programs Session 23 Debugging Techniques. programming multi processor target boards communication protocol stack developments assessment test Q&A Post Training Assessment

Module 3
Session 1

Networking and communication

Introduction network communication What is protocol, packets, datagram, frames, messages Session 2 Types of communication protocols I2C communication Session 3 Start of packet, Acknowledgement, End of communication, Bus arbitration Interfacing display with MCS51 controller with I2C communication SPI communication, 1 wire protocol Q&A assessment test

Module 4
Session 1

Embedded Software Testing

Need for Testing the Software How different is Embedded Software Testing Static Analysis of code Session 2 The creation of black box test harnesses The creation of white box tests An understanding of software metrics How to create tests from use cases

Frequently Asked Questions


1. Will this course fetch me a job? Getting a job will depend on many a factors like the marks you have obtained in your semesters, your communication skills, your aptitude and attitude etc., Speak to us in person for more details. Any way, this course is designed keeping in mind what Industry expects from a fresher. Any fresh engineer taking this course seriously could easily land up in job. If you are facing a campus interview in the near future, then this course is a must for you. To sum it up, this course will give you the necessary technical skills required by the Industry. 2. I do not find RTOS in this course? That is not true. You can find Avxi, a Real Time Operating System developed by Eilabz. You will learn about that in module 2. In fact many a small and medium sized companies works on firmware development, and that is the reason this course is named so. And most of the times freshers work on 8 bit controllers where RTOS porting is not feasible. What the Industry expects from a fresher is good knowledge of any micro-controller, sound knowledge of C programming, practical aspects of communication protocols and a desire to excel. 3. I do not find any mention of Embedded Linux here? Lets remember that this course is for freshers. And for the same reason as above we do not have embedded Linux here. Industry will not generally put freshers into embedded Linux projects. Porting an operating system like Linux, developing BSP and device drivers are skill sets which can be acquired only through experience, not just by undergoing a couple of days of training. However this course exposes you to Linux programming environment and GNU Tool Chain which is what a fresher is expected to know 4. I see Software Testing, is it required for me?

At one point of time, every developer is required to test the code written by him. Though this course will not make you an expert test engineer, it will equip you with basic skill required to test a software and this skill will be highly appreciated by the industry. 5. What if I know Embedded Linux and RTOS? Thats always better. Knowing something always rewards you. But these skills are not really required by a fresher. A fresher should instead concentrate more on fundamentals like Digital Circuits, micro-controllers, C programming, communication protocols 6. Where can I learn RTOS and Embedded Linux? In fact Eilabz offer such modules also. As a matter of fact, we have been partnered with WindRiver, only to promote VxWorks - a proven tested Real Time Operating System. And WindRiver is an Intel Company. In fact, Eilabz has WindRiver certified VxWorks trainers. Moreover as a partner of WindRiver, we own licensed copies of VxWorks. And coming to Linux, we have demonstrable expertise as we have trained corporates like Accenture, L&T etc., And as a feather in the cap, we have developed our own RTOS by name Avx. SO we are experts when it comes to RTOS or Embedded Linux. I am not a fresher, still will this course help me? This course will help you. But if you are not a fresher you are strongly advised to undergo our Advanced Certificate Course in Embedded Systems Design. That will really create an edge for you. For more details speak to us in person.

Our India address: Everest Infocom Pvt Ltd,. 738/33, 12th Main, 3rd Blk, Rajajinagar, Bangalore 560010 India www.eilabz.com training@eilabz.com Phone: 90 80 23140344, 90 80 23146229 Mobile: 09449104615, 09035669088
2011 Everest Infocom Pvt ltd. The ei labz is a trademark of Everest Infocom Pvt ltd, and Wind River and VxWorks are registered trademarks of Wind River Systems, Inc. The Everest Infocom Pvt ltd is Authorized Training center for Wind River Systems, Inc.