ESD - Embeddd Software Developer
ESD - Embeddd Software Developer
EROTECH Solutions (E S)
Level 1 Level 2
• Linux Basics • OS basics
• C & DS under Linux • RTOS introduction
• Embedded C • Scheduling methods
• Protocols (UART, I2C, SPI, CAN BUS) • Free RTOS and STM32fx with debugging
• Applications • Projects
Detailed Syllabus
Module1: Linux Basics & Editor
Introduction to Unix/Linux Vi Ediotr Linux documentation
• Unix and its history • Command line- mode(vi, vim)
• Introduction to Linux • Modes(Editor, command and Ex • Command help
• Login session mode) • Manual pages/sections path
• Working with the Unix file system (Linux • Info documents
Directories) • Editor mode, Command mode
• Linux Basic Commands (ls, pwd, touch, • Commands in command mode
mkdir, rmdir, cp, mv, cat, rm) • Commands Ex mode
• Text Search and replacement
EROTECH Solutions (E S) 2
• input and output, • Why do we need pointers? • Bit fields
• Constants (Numeric, Character and • What are pointers? File I/O
String) • Using pointers • What is File I/O?
• Variables, Expression and Statement • Dereferencing pointer variables • Types of file handling - Low
• NULL pointers, Void pointers Level and High Level
• Data types (char, int, float and double)
• Call by value and Call by • Types of files
• Sign and Size Qualifiers reference Pointer arithmetic • File operations (Opening
• Numeric conversions (Binary, Octal, • Precedence of dereferencing and files, Closing a file, Writing
Decimal and Hexa Decimal) increment/decrement operators and Reading files)
Operators • Pointer to pointer • File I/O types (Character
• Arithmetic operators • Array of pointers I/O, String I/O, formatted
• Assignment operators • Pointer to an Array I/O and block I/O)
• Function pointers Traversing within the file
• Relational operators • Error handling.
• Array of function pointers
• Logical or boolean, • Passing Pointers to functions Preprocessors
• Increment/Decrement, • Return array/pointer from • Header files
• Conditional, Comma, size of () operators function • Macro Substitution
• Bitwise and Implicit/Explicit Operators • Passing pointers as parameters • Nested Macros
• Operators Precedence and associativity. • Command line arguments • Issues with Macros
Functions Memory Management • Parameterized Macros
• Dynamic memory allocation • Macros vs functions
• Defining a function
• Resizing and releasing memory. • Overloading functions in
• Function declarations
“C” way
• Calling a function
• String zing and token
• Function arguments along with input and
pasting operators
output types
• Conditional compilation
• Returning from function
• Debugging purposes
• Predefined macros.
Data Structures
Introduction to Data Structures • Stacks using Linked Lists • count number of nodes
• Why data structures? • Queues using Linked Lists reversing list etc
• Efficient memory utilization and • Infix to postfix conversion of • Single Linked List
faster access expression • Doubly Linked List
• Searching Techniques (Linear and • Solving Arithmetic expression using • Circular Linked List
Binary Search) stacks.
• Sorting Techniques (Bubble Sort) Linked Lists
Stacks and Queues • Operations on Linked Lists
• Stacks using Arrays • Creation, insertion, deletion, search,
• Queues using Arrays, Circular Queue display
EROTECH Solutions (E S) 3
Module 3: Embedded C Module 4: I2C &SPI Module5: Projects
Embedded C programming Communication protocols Target board- Arduino
• Software development life • UART protocol, USART protocol • Arduino IDE,
cycle(SDLC) • I2c protocol, Master- Slave concept • ATMEGA328p Target board
• cross development, IDE • Slave address, I2C modes, • LCD, keys, buttons, keypad
• data types, bit, macros, Arribitaration, acknowledgement • Keyboard, sensors, modules
• features, Microcontroller and its • port expander PCF8574-Interfacing • Protocols implementation,
SFR’s • I2c protocol implementation between applications.
• GPIO programming 8051 and port expander PCF8574 ARM- Advanced RISC
• Timer programming • AT24c02 EEPROM I2C Machine
• Interrupts programming implementation, ADC PCF891 I2C • ARM versions, ARM7
• Serial port programming. implementation processor operating modes
Applications • RTC DS1307 I2C implementation • Thumb mode, ARM registers
• 8051 Target board, programming • SPI communication, Master In Slave • pipe line stages
tool program loaders Out(MISO), Master Out Slave • AMBA bus , ARM Bus
• LCD interfacing, In(MOSI), ADC MOC 3010 architecture, cache memory,
• Keys/buttons/ switches interfacing implementation ARM9 & ARM 11 versions,
• Matrix keypad (4x3) interfacing • Controller Area Network (CAN). • LPC2148 target board.
• DC motor interfacing, Data frame of CAN protocol. • ADC on chip implementation
• Stepper motor interfacing, Modules Programming
• UART implementation,
• Servo motor interfacing, • GSM, GPS module, • I2c protocol implementation,
• Digital sensors, IR, ultrasonic, reed • Bluetooth module XBEE module • SPI implementation,
switch, magnetic sensor, LDR , • Wi-Fi Module, RF module • PWM implementation,
proximity sensor, Gas sensor, fire • RFID card reader, MEMS module • sensors,
sensor analog sensors, • Modules interfacing with
• Analog to digital conversion (ADC), target board.
temperature sensor, flow sensor
applications.
EROTECH Solutions (E S) 4
Level 2
OS basics:
• Structure of Operating System Free RTOS and STM32fx with Free RTOS and Scheduler
• Types of OS Debugging • Free RTOS scheduler
• Process Management • IDE installation and • Understanding
• CPU Scheduling in OS development board implementation of xport start
• Threads in OS • About the IDE & IDE installation scheduler of port c
• Process Synchronization (Windows)
Free RTOS and ARM Cortex Mx
• IDE installation (Linux)
• Critical Section Problem Solution Arch Specific
• Development board Information
• Deadlocks & Deadlock Handling Document Navigation
Methods Downloading and installing free • Free RTOS kernel interrupts
• Memory Management RTOS kernel source and Navigation • RTOS Tick and Sys Tick timer
• Page Replacement Algorithms explanation
• Storage Management Creating free RTOS based project • Timer configuration
• OS Interview Questions for STM32 MCU
RTOS Introduction
• Creating new STM32 project
• What is Real Time Application? • Adding FreeRTOS kernel source
• What is Real Time Operating to project
System? • Include path settings
• RTOS vs GPOS: Task Scheduling • FreeRTOSConfig.h and other
• RTOS vs GPOS : Latency settings
RTOS vs GPOS: Priority inversion • Time base selection for
• What is Multitasking? STM32+FreeRTOS project
Free RTOS task creation
Main Concepts • What is task?
• FreeRTOS task creation API
• Types of schedulers • Task priorities in FreeRTOS
(Time /Event/Hybrid) • Coding Problems
Event based priority • Scheduling policies
(Fixed/Dynamic) • Coding Exercises /Performance
Lehockzy’s Theorem Test
• Scheduler Problem solving Trace Tool Integration
Scheduler Algorithms based • Tool Support and Analyzing
problem solving cooperative scheduling trace
• Context Switch/Impact latency IDLE task and Timer svc task of
Free RTOS
• Semaphores
• TCB & Critical section • Idle and timer services task
• Deadlock ReEntrant function
• Address Translation
EROTECH Solutions (E S) 5
Linux system Programming
Training Structure:
H.O.: Address: #103, Rajamma Towers, jaya nagar, near Kphb Metro station, KPHB, Kukatapally, Hyd-72.
For more information: Email: [email protected], www.erotechsolutions.in.
Contact: +91- 9676327118,+91-9701190819.
EROTECH Solutions (E S) 6