Embedded and Real Time Systems Programming (Basic)
Free Seminar on Career Opportunities in Embedded Systems.to register Click Here>>
To get scholarship for this course Click Here>>
ThinkLABS comes up with a long term course on Embedded and real time system programming to get you kick started in the field of embedded systems. The Indian semiconductor and embedded design industry is projected to grow from $3.3 billion in 2005 to $43 billion in 2015. This tremendous rate of growth will require a large number of skilled professionals. Expansion plans by MNCs and NASSCOM suggest embedded systems to be the next sunrise sector. To enable you to bask in this sunshine, TRI comes up with 250 hours of practical training accompanied with projects to give you a glimpse of different areas in the embedded system industry.
Batches starting every month . Typical duration 3 months.
Highlights of the Course:
- 250 hours of certified practical training accompanied with industrial projects to give you a glimpse of different areas in the embedded system industry.
- Candidates will have to clear a screening test to get inducted for the course. The screening test will be based on basic electronics, microprocessors, microcontrollers, C programming and aptitude. Scholarship for merit list students of enrollment exam.
- Placement Assistance in Leading Embedded Companies
Course benefits:
- In-depth knowledge of embedded software and RTOS programming
- Opportunity to get into top notch embedded companies (R&D)
- First hand prospect of working on high end projects
- Chance to become a potential embedded geek
Pre-requisites:
- Knowledge of C programming
- Exposure to microcontrollers and basic electronics
- Knowledge of Operating system concepts would be an added advantage
Interested candidates will have to clear a screening test to get inducted for the course. The screening test will be based on basic electronics, microprocessors, microcontrollers, C programming and aptitude.
Target Audience:
- Final/pre-final year students of B.E/B.Tech/ME/B.Sc/M.Sc
- Embedded system enthusiasts (undergrads, pass-outs)
Course Details
Elaborate and module wise description of the course can be found below:
- Fundamentals of Embedded system
- Embedded C Programming
- Exploring controller specific features under Embedded C
- RTOS porting and application development
- Industry defined project work
The course begins with an Embedded C programming module to empower you with sound programming skills which would go on and form the basis of various communication protocols and RTOS based applications. which would be developed during the phase of the course.
The emphasis laid on implementation in an embedded environment in lieu of desktop (cross-platform) environment makes the course an ideal means to appreciate the complexities and challenges involved in an embedded project life cycle.
- Fundamentals of Embedded system
- Introduction to Embedded systems
- Exposure to different architectures (RISC vs. CISC)
- Why AVR? (Advantages, philosophy, architecture)
- Board details and specifications (ATMega128 based development board)
- Understanding system clock and fuse bits
- Introduction to Linux and various distributions
- GNU Project and Free Software Foundation (FSF) philosophy
- Using various utilities like avr-gcc, avrdude, avr-binutils under Linux
- Using linux terminal
- Embedded C Programming
- Using Gedit as a programmers editor
- Working with Make files
- Configuring Gtkterm for serial data handling (UART)
- Understanding AVR instruction set
- Assembly vs. C
- C programming for AVR
- Introduction to C, Flow control statements, functions
- Data Types, operators and expressions
- Variable scope, Qualifiers (Volatile) and modifiers
- Program structures
- Initialization
- Recursion
- Pre-processor directives (#define (macros), enum, #include, conditional compilation)
- Inline assembly and why it is required
- Macros vs. functions
- Pointers, Arrays, Structures
- Determining Endianess of processors and why it matters
- Implementing basic data structures like stacks, queues using above concepts
- Exploring controller specific features under Embedded C
- Exploring microcontroller board features
- Configuring ports and controlling their status
- Interrupts and timers
- Polling vs. Interrupt driven approaches
- Memory and device Interfacing
- PWM & ADC based applications
- Interfacing motors and implementing speed control
- Sensor interfacing and sampling
- Supported communication protocols
- UART (RS-232)
- I2C
- SPI
- Reading and writing EEPROM
- Boot-loader and its advantages
- RTOS porting and application development
- Real time system concepts (OS vs. RTOS)
- Need for an RTOS/scheduler
- Identifying RTOS components
- Target RTOS (uC/OS-II) kernel architecture
- Porting RTOS to our target board (Atmega 128)
- Running demo applications
- Understanding firmware and device drivers
- Developing libraries and applications
- Multi-tasking
- Using IPC (Inter-process communication) mechanisms like mail boxes
- Using semaphores and mutexes
- Using priority inheritance under mutexes to avoid priority inversion
- UART and LCD library
- Encapsulating shared resources
- Industry Defined Project work

