Advanced C For Embedded Systems Training
Introduction To Embedded Systems
- Basics of Embedded System Design
- Design methodology and various modules in the system
- Real-Time Embedded Systems
- Embedded System design challenges,embedded controllers etc.
- Development environment
- Current market trends & Applications,job opportunities.
Programming in C
- Introduction to C Programming – Evolution of language, Structure of a C program, The C compilation process, difference between compiler and cross-compiler.
- Data types and Operators – C built in data types and Modifiers, Precedence & Associativity – Arithmetic, logical, relational, bitwise, and ternary operator, Promotion & Typecasting, Qualifiers – const and volatile, Storage classes – auto, register, static, extern.
- Control Flow – Logical expressions and operations, Decision Making, nesting, branching statements, iterators.
Functions and pointers – declaration, definition, call by value and call by reference, static, extern, inline, recursive functions. Command line arguments. Pointers – Null, wild, dangling, generic.
- Library functions – malloc, calloc, realloc, free, issues.
- Array(integer) – declaration, initialization(sized and unsized), passing array to function using call by reference, 1D, 2D, 3D pointer to 1D, 2D, 3D array, array of pointers.
- Array(char) – declaration, initialization, passing array to function using call by reference, 1D, 2D array of pointers to 2D chars. Stings – standard library functions – strlen, strcpy, strcmp, strrev etc.
- Preprocessor – preprocessor directives – file inclusion, macros, conditional compilation, and miscellaneous directives. Compilation steps – preprocessor, compiler, assembler, linker and loader.
- Structure, union, enum – structure variable, pointers to structures, nesting of structures using structure variable and structure pointers, self- referential structure, applications. Unions – memory map, uses. Enum – uses. Typedef – for data type, arrays, structs, union, enum, function pointers.
- Input and Output – console io – formatted and unformatted. File io – txt files and binary files.
- Miscellaneous topics – function pointes, difference between #define and Typedef, function returning pointers.
Advanced C Programming
- Stacks – Concepts, issues like over flow and under flow and uses.
- Queues – Concepts, types – ordinary, circular, double ended, priority. Issues and uses.
- Linked list – Concepts, types – linear, circular, doubly, circular doubly and uses.
- Trees – Concepts, types – trees, binary trees, binary search tree and uses.
- Searching – binary, linear , linear search for ordered table,
- Sorting – bubble, selection, insertion, simple merge, modified simple merge, merge sort, quick sort, and tree sort.
Embedded System Design and Programming using 8051 MCS-51 family: – 6 days
- Introduction to Embedded system (Microcontroller/ Microprocessors)
- Working with 8051 clones (AT89s8252, AT89s52etc) and their special features.
- The MCS-51 architecture and PIN detail
- Tools and techniques for Required embedded system designing.
- Basics of C language & Programming in embedded c language.
- Software programming and Hardware interfacing of following External and on chip devices:
- LED(using PORTS as Output)
- Matrix keyboard
- Relay (To control Switching of AC devices e. g. Bulb, Fan, Heater etc.)
- Stepper Motor (Speed and Direction Control)
- DC motor (Speed and Direction Control)
- LCD Display System
- Single Chanel Analog to Digital Convertor(ADC0804)
- Multichannel Analog to Digital Convertor (ADC809)
- Digital to Analog converters
- I2C based Serial RTC (DS1307)
- I2C based Serial EEPROM
- Serial communication b/ w micro-controller and PC & b/ w Two micro-controller
Embedded System Design and Programming using ARM (32 bit) Microcontroller-10 days.
- Introduction to ARM
- ARM7-TDMI Architecture & Programmer’s model
- ARM & THUMB Instruction Set Architecture’s
- ARM7 Assembly programming using Keil MDK tool-chain
- LPC2128/2129 – ARM7 based MCU Architecture & Programming using Embedded C
- Interfacing and Programming with LPC2378(GPIO – L.E.D., Switches, Matrix Keypad & LCD, Timer, RTC, ADC, UART)
- In-Circuit debugging using Keil Ulink2 JTAG debugger
- Boot sequence & System initialization
- Exception handling
- Advanced simulation , Code profiling & Optimization techniques
- Protocols (Serial,SPI, I2C and CAN) .
- Overview of ARM Cortex Cores
- Projects on ARM controllers,case studies.
RTOS-Course Outline: 2 days.
Part 1: Real-Time Operating
Systems – an Introduction.
– Basic features of real-time operating systems
– Tasks and tasking
– Scheduling – concepts and implementation
– Control of shared resources – mutual exclusion
– Resource contention and deadlocks
– Intertask communication
– Memory management
Part 2: Practical aspects of realtime
– OS structures from Nanokernels through Microkernels to full RTOSs
– Process, Memory, Filesystem, Device and Memory management aspects
– Performance and safety features
– Real-Time Posix issues
– Development support
– Real-Time benchmarking
Vx-works or Ucos-C
Embedded Linux on ARM9/Raspberry pi 12 days.
- Operating System Fundamentals: Objective, Functionality, Services, Components, H/W interaction, CPU Scheduling, Multitasking, Context Switching
- Linux Kernel Architecture: Kernel Subsystem, System Call Interface, Scheduler, Virtual Memory Management, File-System Management
- Linux System Programming: File I/O, Signals, Timer and Sleeping, Memory Allocation
- Process Management: Process, Process Descriptor, Process States, Threads, Process Creation, Execution, Termination
- Inter-Process Communication: Kernel IPC Facilities, Pipes, POSIX Message Queue, POSIX Semaphore, Shared Memory, File Locking
- Building Linux Kernel: Getting Kernel Sources, Kernel Configuration, Kernel Compilation, Booting Kernel
- Linux RootFS Creation: Storage Devices and File-system, System V RootFS Structure, BusyBox Configuration, RootFS Creation, InitRamFS Creation
We at CITL-tech varsity training institute in Bangalore India offers training on ARM Cortex-M3/M4 software development and it is designed for engineers who are developing software for platforms based on ARM M3 ,ARM 4 processors.
We at CITL-tech varsity training institute in Bangalore India offers training on RTOS on ARM Cortex-M3/M4 and it is designed for engineers who are developing software for platforms based on ARM M3 ,ARM 4 processors.