Placement-oriented Embedded Systems Design Course - ARM, Embedded C, Embedded Networking and RTOS | |
Total duration - 150 hours of lectures and
practicals/hands-on. This will be completed in approximately 3 months.
Several mini-project will be undertaken by the trainee based on the learnings
of this course. The trainee would be encouraged to design the projects before
implementing. This training will make you eligible for placement in Embedded System domain companies as Software/Firmware Developer. Placement opportunities will be provided for those who complete this course successfully. |
|
Course Instructor - Rupam Das. Ex-IITian and having total
professional experience of over 16 years in Software Development and
Training. For more details on trainer, visit http://www.rupamdas.com
and
http://www.linkedin.com/in/rupamdas Contact: Email: info@nxnvision.com, info@rupamdas.com Mobile: +91 98407 84107, Landline: + 91-44-4204-5217 |
|
Introduction This training program has been designed to provide a thorough understanding of Embedded Systems basics and principles using 8051 based 8-bit microcontrollers and then teach advanced Embedded Systems using ARM Microcontrollers. This course also covers Embedded Networking protocols (like SPI, CAN, I2C and USB) and RTOS. It tackles all the basic components of Embedded Systems in isolation and also creates an understanding on how to integrate these components, to design, program and develop a complete system. The knowledge imparted in this training will help you in getting a job in Embedded Systems domain. This training contains coverage of technical knowledge that would provide a definite edge in core sector job interviews. The level of C programming taught in this course is at par with what fresh engineers work on, after joining their first job. All the modules have ample hands-on and lab sessions, with more tutorials provided for further study. Each topic in this course will be matched with real-time experiments on the hardware kits. The course will end with a project that would be conceptualized, designed, implemented and tested by the trainees, with full guidance and support from the faculty. |
|
Target audience for the program This program is targeted at BE/ME/MCA freshers who have finished in 2015 or earlier and interested in making a career in Embedded Systems domain, a very in-demand and well paying domain. |
|
Prerequisites/Knowledge required to
attend this program - Exposure to programming, in any language - C programming - basic level - Basics of Digital Electronics - Excellent analytical skils |
|
Areas to be covered in this program Stage I - C Foundations - Refresher - Introduction to Embedded Systems - 8051 Architecture and C51 Assembly Language Programming - NXP P89V51RD2 microcontroller and its advanced features w.r.t. normal 8051 microcontroller - Embedded C for 8051 - Design of Embedded Systems using 8051 Stage 2 - C Programming - Advance level - ARM Cortex M3 - Architecture and Assembly Language Introduction - NXP LPC1768 microcontroller based on ARM Cortex M3 - Embedded C for NXP LPC1768 - Design of Embedded Systems using NXP LPC1768 - Embedded Communication and Networking protocols - I2C, SPI, CAN, USB - Operating Systems & Real-Time Operating Systems - Linux, FreeRTOS |
|
Stage 1 - Content | |
C Foundations - Refresher | |
Foundations of C programming - Header files, Libraries, Compilers | |
Types, declarations and expressions | |
Control Flow, Functions and program structure | |
Arrays, pointers, structures and unions | |
Input and output handling | |
Introduction to Embedded Systems | |
What is Embedded System? | |
Standard component of Embedded Systems - Processor, Memory, I/O, Peripherals, Software, Algorithms | |
Processor types - Microcontrollers, Microprocessors, DSP, FPGA | |
Memory types - RAM, SRAM, DRAM, DDRAM, EPROM, EEPROM, OTP | |
Peripherals - Parallel and Serial Ports, UART, Timers, Real time clocks, I2C bus, DMA controllers | |
Analogue Interfaces - A-D and D-A conversion, CODECs | |
Interrupts and Interrupt handling | |
Real-Time Operating Systems (RTOS) - Introduction and basics | |
8051 Architecture and C51 Assembly Language Programming | |
8051 Architecture - Oscillator, Clock, Internal memory and RAM, SFRs, Internal ROM, I/O pins and ports | |
External memory, Counters and Timers, Serial Data I/O, Interrupts | |
Assembly language instructions | |
Data operations, logical operations, arithemetic operations, Program control | |
Configuration and programming of 8051 Ports, Timers and Interrupts | |
Interfacing 8051 with LEDs and 7-Segment Display and programming | |
Interfacing with LCD and programming | |
Serial Data Communication programming | |
Embedded C | |
Embedded Software development using C | |
Porting 8051 Assembly code to C | |
Cross compilation, Downloading, Testing, Debugging | |
Design of Embedded Systems | |
Problem definition, requirements and specifications | |
Software planning - Hardware design and software design | |
Design of sensor-based robots, PWM control of motors, Digital Thermometer | |
Project ideas and discussion | |
Stage 2 - Content | |
Advanced C (GCC C Compiler on Windows) | |
Pointers refresher | |
Dynamic memory management | |
Pointers to structures and unions | |
Design of data structures | |
Function pointers and arrays | |
Look-up tables, Hash tables | |
Stack, queue, list | |
ARM Cortex M3/M4 microcontroller (Architecture, Assembly and Embedded C) | |
ARM Architecture - 16-bit (Thumb mode) and 32-bit (ARM mode), core registers | |
ARM Assembly Instructions | |
Keil MDK - IDE, features, | |
NXP LPC1768 - System initialization, booting, internal peripherals | |
Developing device drivers for NXP LPC1768 peripherals and also external peripherals | |
Writing Embedded applications for NXP LPC1768 | |
JTAG and debugging applications using JTAG | |
Embedded Communication & Networking Protocols/Standards | |
Requirement of communication and communication protocols | |
Serial and parallel communication | |
Introduction to RS-232, SPI, I2C and USB protocols, including packet/frame formats & message protocols | |
Design and Implementation of I2C and SPI driver and applications | |
Design and Implementation of USB Device. Ex. Mouse, Keyboard, Mass storage | |
Operating Systems and Real-Time Operating Systems | |
Operating Systems - Basics and concepts | |
Linux Systems Programming - An introduction | |
Introduction to Real-Time Operating Systems | |
FreeRTOS - Basics, features, writing Real-Time applications using FreeRTOS | |
Porting FreeRTOS to NXP LPC1768 | |