0% found this document useful (0 votes)
37 views

Embedded Training Course Contents

This document contains a training program outline covering various topics related to C programming language, embedded systems using STM32 microcontrollers, and Linux. The program consists of multiple sessions spanning fundamentals of C, data types, variables, program control structures, pointers, structures and more. It also includes sessions on basic electronics, ARM architecture, embedded C, and interfacing with components like GPIOs, UART, I2C, SPI. Finally, it outlines Linux training covering the file system, commands, shell programming, toolchain, process management and signals. The sessions are scheduled over 11 days with both classroom and hands-on lab sessions of varying durations.

Uploaded by

Chiru Naidu
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
37 views

Embedded Training Course Contents

This document contains a training program outline covering various topics related to C programming language, embedded systems using STM32 microcontrollers, and Linux. The program consists of multiple sessions spanning fundamentals of C, data types, variables, program control structures, pointers, structures and more. It also includes sessions on basic electronics, ARM architecture, embedded C, and interfacing with components like GPIOs, UART, I2C, SPI. Finally, it outlines Linux training covering the file system, commands, shell programming, toolchain, process management and signals. The sessions are scheduled over 11 days with both classroom and hands-on lab sessions of varying durations.

Uploaded by

Chiru Naidu
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 11

S.

NO TOPIC Session Type Duration Time ( Hrs)


Status Remarks S.NO
1 Fundamentals of C Language 2
Important Points about C
Why Use C
Applications C
C Language and English Language
Features of C Offline Session 2hr

2 Overview of C langauge 3
History of C
First Program in C Hello world
Basic Stuctrue of C Programming
Tockens in C
Keywords in C
Identefiers in C
Format Specifiers in C
Format Specifiers Examples Offline Session 2hr

3 Data Types in C Language 4


Introduction to Data Types
int Data Type in C
float Data Type in C
Double Data Type in C
Char Data Type in C Offline Session 2hr

4 Variables in C langauage 5
Variables introduction in C
Variable Declaration and initialization
Variable types and scope in C
Local Variables in C
Static Variable in C
Global variables in C
Storage Class in C Offline Session
5 C- Program Topics 6
Introduction Storage Classes 3hr
Scope and Linkage of C variables 2hr
Introduction Data types in c 2hr
Format specifiers in c 1hr
Introduction literals in c 1hr
Keywards and identifiers 2hr
Preprocessor directives 2hr
Type casting in c 2hr
Sequence points in c 1hr
Operators in C 2hr
Sizeof(),Comma,Logical etc... 2hr
Bit wise operators and bit masking 1hr
Decision making statements in c 2hr
Switch statement,Jump statements 2hr
Loop statements(for,while and do-while) 2hr
Functions in c 2hr
Function pointers 1hr
Variable length arguments 1hr
Call back functions 1hr
Arrays and its types 3 hr
Pointers and its types 3 hr
Structure in c 2 hr
Union in c 2 hr
Structure packing and padding
i c with example 2 hr
DMA memory functions 2 hr
Byte and word
Typedef 1 hr
Enumeration 1 hr
Bit field 1 hr
Qualifiers in c 2 hr
Macro vs inline function 1 hr
stringzing and token pasting operators
Little Endian And Big Endian in a Machine Offline Session 1 hr
Command line arguments Offline Session 1 hr
S No Embedded Topics of STM32 bit microcontroller Session Type Duration Time(Hrs) Status Remarks
1 Basic Electronics
2 Resistors
3 Voltages
4 Current Class 2
5 Digital Electronics
6 Number systems
7 Logic gates
8 Combinational ckt's
9 Sequential ckt's
10 Applications of digital ckt's Class 4
11 Embedded system technology
12 Microprocessor Vs Microcontroller 2
13 Types of Architectures 2
14 Embedded systems Development Envernment 4
15 Simple Embedded Vs Complex Embedded systems
Class 4
16 Computer Organization
17 Introduction to Computer Organization 2
18 Memory organization 2
19 Memory mapping 4
20 I/O organization Class
21 ARM Cortx-M4 Architecture
22 Introduction to ARM 4
23 ARM Processor modes 2
24 ARM Registers 2
25 NVIC 2
26 System Tick Timer Class 2
27 Embedded software
28 General C vs Embedded C 2
29 Bitwise operators 2
30 Embedded C- programming 4
31 Keil IDE 2
32 Code composer studio 4
33 STM32 CUBE IDE Class 4
34 Microcontroller interfacings
35 GPIO's:- LED's,Switches,seven segments and LCD 8
36 UART: Zibee,Bluetooth,GSM and any sensor. 4
37 I2C: RTC,EEPROM and ADL345 accelerometer. 4
38 SPI: SD card and A/D converter. 4
39 PWM,WDT and Timers/counters 4
40 ADC and DAC 4
41 Interrupts programming. Class and Lab 4
Total working hours 88
Total working days 11 days
S No Embedded Topics Session Type Duration Time(Hrs) Status Remarks
1 Embedded software
2 General C vs Embedded C 1
3 Bitwise operators 1
4 Embedded C- programming 1
5 Keil IDE Class 1
6 Microcontroller interfacings
7 GPIO's:- LED's 2
8 Relay with LED's 2
9 LCD 4
10 Timers / Counters 4
11 UART 4
12 ADC 4
13 Interrupts programming. Class and Lab 4

Linux Training Program


S.No Linux Topic Session Type Duration Time(Hrs) Status Remarks
1 Linux Introduction & Root File system Structure Offline Class 4
2 Hands-On Linux Commands Offline Class and Lab 4
3 Linux Users & Permissions; Command Documentation Offline Class 4
4 STDIO, Redirections, Pipes Offline Class 4
5 Shell Programming Offline Class 4
6 Shell Programming Lab 4
7 LSP - Basic File Operations Offline Class 8
8 GNU Toolchain - GCC Offline Class 4
9 Linker, GNU Binutils Offline Class 4
10 GNU Toolchain - GNU Makefile Offline Class and Lab 4
11 User define libraries Offline Class and Lab 4
12 Mlni Project on GNU Toolchain Lab 4
13 Introduction to LSP & Basic File Operations Offline Class 4
14 Basic File Operations Offline Class 4
15 Advanced File Operations Offline Class 2
16 Lab Exercieses on Advanced File Operations Lab 4
17 Mini Project on File Mangement Assignment 8
18 Advanced File Operations - select(), mmap() Offline Class 4
19 Lab Exercieses on Advanced File Operations Lab 4
20 Introduction to Process Management Offline Class 8
21 Lab experiments on Process Management Lab 4
22 Signals Offline Class and Assignment 4
23 POSIX Threads Offline Class 8
24 Mini Project on Process Management Assignment 4
25 Synchronization Mechanisums Offline Class 4
26 Lab Exp on Thread Synchronization Lab 4
27 IPC: Pipes Offline Class 2
28 IPC: Message Queues, Shared Memory Offline Class 2
29 IPC differences; Process Synchronization Offline Class 2
30 Socket Programming Offline Class 8
31 Mini Project on Socket Programming Assignment 4
32 Linux Device Drivers
33 LDD Introduction Offline Class 4
34 Ownbuilt Kernel Offline Class and Lab 4
35 Module Programming Offline Class 8
36 Module Programming - How to build a module Offline Class 8
37 Offline Class
Module Programming - Module Dependency, Module Parameter 4
38 How to impletement system call Offline Class and Assignment 4
39 Module Programming & System call Implementation Assignment & Lab 4
40 CDD Framework Offline Class 8
41 CDD Template Driver Offline Class 4
42 Basic CDD operations: read(), write() Offline Class and Assignment 4
43 Static CDD vs Dynamic CDD Offline Class 4
44 Concurrency ; Advanced CDD operations: ioctl() ; Offline Class 4
45 Blocking I/O: How to handle blocking system calls Offline Class 4
46 Blocking I/O lab experiments Lab 4
47 Advanced CDD - ioctl() Offline Class 2
48 How to Communicating With Hardware? Device vs DeviceOffline Class
Controller 8
49 Offline
Communicating With Hardware: Demonstartion with Paralle portClass and Lab 4
50 How Interrupts Works? Types of interrupts? Offline Class 4
51 Linux Interrupt Handling Offline Class and Assignment 4
52 Kernel syncronization Mechanisums Offline Class 8
53 Kernel syncronization Mechanisums Assignment & Lab 4
Embedded Linux Training Program
S No Linux Topic Session Type Duration Time(Hrs)
1 Introduction to Embedded Linux
2 Embedded Hardware and Software Class sssion 8 hours
3 C libraries. Building a cross-compiling tool chain class and lab 8 hours
4 BBB Specifications and Block Diagram class and lab 8 hours
5 AM3358 Specifications, Block Diagram and Memory Mapping class and lab 4 hours
6 X86 vs Embedded Boot Sequence. (AM3358 Boot Sequence) class and lab 4 hours
7
8 Setup Embedded Linux Development Environment (Own Built Images)
9 Topic 1: Boot Loaders and U-boot
10 Board Support Packages
11 U-boot commands and Environment variables.
12 U-boot Source code flow
13 U-boot Customization class and lab 16 hours
14 Topic 2: Linux Kernel
15 KBuild System
16 Configuring, (cross) compiling and booting a Linux kernel
17 Kernel boot-up flow class and lab 12 hours
18 Topic 3: Device Tree
19 What are Device Trees?
20 What Device Trees Do and What They Do Not Do
21 Device Tree Syntax
22 Device Tree Walk Through
23 Device Tree Bindings
24 Device Tree support in Boot Loaders
25 Using Device Tree Data in Drivers
26 Coexistence and Conversion of Old Drivers class and lab 16 hours
27 Topic 4: Root File System

class and lab 16 hours


28 Creating a simple, Busybox based root file system from scratch
29 Flash file systems – Manipulating flash partitions
30 mmc vs emmc class and lab 16 hours
31 Developing Embedded Linux Device Drivers
32 GPIO Driver Framework:
33 Step 1: Study GPIO Basics and AM335x GPIO controller:
34 What is GPIO? GPIO Applications? class and lab 16 hours
35 AM335x GPIO Controller
36 Step 2: GPIO @ U-boot Space:
37 Control Mux Configuration from U-Boot Command prompt
38 Control LED and Switches from U-boot Command prompt
Customize u-boot source code and verify Mux Configuration and
39 LED/Switches
40 Understand GPIO Framework in U-boot class and lab 8 hours
41 Step 3: GPIO @ Kernel Space [GPIO user space driver]:
42 Control GPIO functionalities from sys file system entry.
43 Monitoring Mux Configuration and GPIO using debug file system.
44 Control Mux Configuration using device tree source
45 GPIO Test Modules class and lab 8 hours
46 Step 4: GPIO @ User Space:
47 GPIO System Programming
48 --> Cross compilation of hello world system program
49 --> Implement GPIO API’s using system calls
50 GPIO Application Programming
51 --> C Program using GPIO API’s class and lab 8 hours
52 Linux I2C Drivers Detailed Syllabus: Master, Slave & User Space Drivers
53 Session 1: I2C High Level Analysis
- I2C communication protocol basics/terminology
- I2C Modes
- I2C Communication Protocol Format
- Bus arbitration loss
- Clock Stretching
- AM3358 Controller (master) I2C specifications & Block Diagram
54 - ADXL345 & DS1307 (Slave) specifications class and lab 4 hours
Session 2: I2C Low Level Analysis
-Understanding I2C Registers for AM3358 Controller.
- Understanding Accelerometer Sensor [ADXl345] & RTC [DS1307] Specifications, comm.
Protocol format and register programming model.
- Master Slave interface Block Diagram
55 class and lab 4 hours
S.No Development Boards
1 Development board supported Linux [Begale bone Block]
2 Rospberry Pi4
3 Matrix Keypad
4 SD Cards
5 Pen drives
6 Sensor Module Kit

Source and Testing Measuring Equipments:


1 Digital Storage Oscilloscope’s
2 Programmable & Multiple Channel DC Power Supplies
3 Handheld Digital Multimeters
4 Logic analizer (8 channel)
5 Bread boards
6 Connecting wires

You might also like