What is Industrial Embedded Systems?
Most of the institutes, who claim to be Embedded Training institutes, provide training on Educational boards like Arduino and Raspberry Pi.
Whereas the actual Industry never uses these educational boards for real product development.
Because of this difference, there will be a huge GAP between the candidate’s knowledge and the Industry requirement.
KERNEL MASTERS fills this GAP by providing the Industrial Embedded AI hardware boards (STM32, ARM Cortex M4) for training, where the student gets to learn everything from scratch, which helps the companies to deploy the students to the core parts of their projects without any extra training.
Hardware Details:
Kernel Masters has designed and developed Industrial Hardware boards in collaboration with Embedded Core Companies.
These Hardware boards will be used as part of the course for real-time project.
Students need to purchase the board at the time of project. Hardware Cost not included in course fees.
- Total estimated cost of hardware kit for Embedded C project will be 4800/- + GST + Shipping.
- The kit comes with below components:
- STMicroelectronics based RaayanMini Board (For Embedded C and RTOS)
- ST Link V2 Debugger
- ESP32 Wi-Fi Module
- USB TO UART TTL 5V 3.3V CH340G module
Course Layout
- This training consists of 30% Theory and 70% practicals.
- This course will be delivered in a Blended mode.
- Regular Assignments will be assigned and verified through customised gitlab Learning Management system
- Assessments & LAB Vivas are conducted for each topic, on weekends.
- Online LAB Support is provided through Learning Management System & through one-one online meetings where issues can be verified and resolved.
- Embedded C project will be conducted using STM32 based Raayanmini Hardware kit. We do not use Simulators for project.
- Hardware boards will be sent to the candidate’s house before project commencement.
- The quality of online training will be maintained similar to Offline training with the same amount of practical handson.
- We have limited seats to facilitate individual focus to maintain quality of content.
Industrial Oriented Training [with Embedded latest trends AI/ML/IoT]:
- The course is classified into 2 parts: 1st three months of conceptual training & 2nd three months of Internship.
- First half of the course will focus on Programming concepts & Embedded Basics.
- Second half of the course will focus on applying the skillset obtained in first half, in real-time Industry.
- Second half of the course(Internship) will include Placement Assistance program.
- Students will be given projects in one of the below areas during the Industrial Training:
– Artificial Intelligence
– Machine Learning
– Internet of Things
Placements:
- There will be guaranteed placement opportunities from our campus, once after completion of 5 months of course.
- Placement support will be provided till placement or upto one year after course completion whichever is earlier.
- No limit on number of companies.
Part 1: Programming Concepts
PART 1
Programming Concepts
Module 1 : Linux Basics
How Linux built | Command Documentation |
Linux History | Text Editors |
Linux Kernel Features | Types of Shells, bash |
Linux Commands | Users and Permissions |
Linux Licence | Standard IO |
Linux Root Filesystem Hierarchy | Redirections and Pipes |
Module 2 : Programming
Basic 'C'
Elements in ‘C’ | Stack Frame |
Variables and Data Types | Functions |
Operators & expressions | Arrays |
Conditional Statements | Strings |
Loops | Pointers |
Memory Layout of C program | Pre-processor Directives |
Storage classes | ERROR handling |
Advanced 'C'
Pointer arithmetic | Dynamic Memory Allocation |
Advanced pointers | Structures |
Strings and arrays with pointers | Unions |
Function pointers | Enumerations |
Array pointers | Bit fields |
Command Line Arguments | File Handling |
Recursive Functions | Mixing Assembly and C |
GNU ToolChain
GNU C Compiler stages |
GNU Debugger |
GNU Makefile |
GNU binutils |
GNU Build system |
Data Structures
Introduction to DS |
Types of Data Structures |
Stacks, Queues |
Single Linked Lists |
Double Linked Lists |
Searching and sorting algorithms |
Binary Trees |
Scripting Languages
Shell Programming
Shell Scripts |
Variables, Parameters |
Substitution |
Conditions |
Loops |
Functions |
Shell debugging |
Shell Error handling |
Python Programming
Python overview |
Basic syntax |
Basic operators |
Control Statements |
ERROR handling in python |
Python Modules |
Strings, File IO |
Pytest |
GPIO, Serial, socket test cases |
Part 2: Embedded AI & IoT
PART 2
Embedded AI & IOT
Module 3 : Embedded Systems Essentials
Digital Electronics
Number Systems |
Logic Gates |
Combinational Circuits |
Sequential Circuits |
Applications of Digital circuits |
Computer Organization
Introduction to CO |
Memory Organization |
I/O Organization |
x86 Architecture |
x86 Assembly Language |
8085/8086 Microprocessor
8085 Specifications |
8085 Block diagram |
8085 Instruction set |
Memory segmentation |
8085 Simulator |
Module 4: Embedded AI
Embedded C
ARM Cortex M4 Architecture
ARM Cortex M4 Features |
ARM Processor modes |
ARM Registers |
ARM Instruction set |
SytemTick Timer |
NVIC |
Embedded Hardware / Software
Hardware | Software |
STM32F401RBT6 SoC | General ‘C ‘ vs Embedded ‘C’ |
RaayanMini board | Bitwise Operators |
ST Link V2 Debugger | Embedded C Programming |
USB to TTL Converter. | Keil IDE, Cube IDE |
Microcontroller Interfacings
GPIO | LED, Switches, LCD, DHT11, Matrix Keypad |
UART | Wi-Fi, BT, GSM, GPS,Codec, Biometric sensor |
I2C | RTC, EEPROM & ADXL345, Bit Banging |
SPI | TFT LCD |
CAN | IoT Nodes, OBD – II |
ADC | LM35, Potentiometer |
DMA | Using UART, I2C, SPI |
Others | PWM, WDT,Timers/Counter |
Embedded AI
AI Frameworks
TFLM |
TinyML |
TensorFlow Lite |
PyTorch Mobile |
Edge AI |
Edge Impulse |
Embedded AI Tools
STM32Cube.AI |
STM32CubeMX |
STM32AI model zoo |
Embedded AI Projects
Industrial IoT Gateway |
Smart Tracking system |
Hand Held Terminal |
Smart Attendance System |
Smart Data Logger |
Smart home automation |
Smart Grid |
SWMS |
Firmware Over-the-Air |
Free RTOS
GPOS vs RTOS | Synchronization |
FREE RTOS Libraries | Inter task communication |
CMSIS RTOS Libraries | Memory Management |
Real time Scheduling | Interrupt Handling in RTOS |
RTOS porting on STM32 | Time management |
IoT
IoT Architecture
IoT Gateway, Node |
End user, physical |
IoT Protocols
MQTT, CoAP |
BLE, Zigbee, Wi-Fi |
CAN, Modbus, Ethernet |
IoT Applications |
Part 3: Embedded Linux Device Driver Development
PART 3
Embedded Linux
Module 5: Linux System Programming (LSP)
Operating Systems Concepts
Types of Kernel |
OS Operations |
Linux Kernel Architecture |
Scheduler Algorithms |
File Management
File Tree & Types |
File Systems |
Super Block & inode |
System vs Function Calls |
File descriptor table |
File Control Operations |
File Locking |
Process Management
Process Structure & States |
Scheduling & Priority |
Process Creation & Exec |
fork()/exec() calls |
Signals, Threads |
Synchronization
Producer Consumer Problem |
Thread Synchronization |
Process Synchronization |
Inter-Process communication
Pipes, Semaphores |
Shared Memory |
Message Queues |
Sockets |
Memory Management
Virtual Memory |
Paging & Swapping |
Memory Mapping |
Module 6: Linux Device Drivers (LDD)
Introduction to Linux Kernel
Two Roles of Kernel. |
Kernel Programming |
Linux Source tree Overview |
Introduction to Device Drivers
What is Device Driver? |
Types of Device Drivers |
The Role of the Device Driver |
Configuring, Compiling and Booting the Linux Kernel |
/proc and /sys virtual file system. |
Module Programming
What is a Kernel Module? |
User mode vs Kernel mode |
Module Dependency |
Module parameters |
Character Device Drivers
The Complete connection. |
Major and Minor numbers. |
Implementation of Character Driver. |
Module 7: Embedded Linux Projects
Introduction to embedded Linux.
Embedded Hardware and Software. |
C libraries. Building a cross-compiling tool chain. |
Setting Up a Target Development Board. |
X86 vs Embedded Boot Sequence. |
Boot loaders
Board Support Packages |
U-boot commands |
U-boot Customization |
Device Trees |
Linux Kernel
KBuild System |
Configuring, (cross) compiling and booting a Linux kernel
|
Embedded Linux Troubleshooting
Self-Diagnostic Tool. |
Developing Linux Device Drivers Test Cases using Shell & Python Scripting
|
Module 8: Debugging Techniques
User space tools
GDB, strace |
/proc & /sys, valgrind |
Android Debugging
adb, logcat, avd |
Remote Debugging |
gdb server, ssh |
Kernel Space tools
Printk , Kernel Panic |
Kernel OOPS |
KDB, KGDB |
Kprobes & Jprobes |
Crash dump Analysis |
Hardware Debugging
SWD, JTAG
Module 9: Open Source Development Environment (SDLC)
Source Code Version Control
Introduction to GIT |
Git and Revision Control Systems |
Git Concepts and Architecture |
Useful git commands. |
Contributing patches. |
Commits, diffs |
Branches, tag, Merges |
Managing Local and Remote Repositories.
|
GIT lab
Gitlab repository
source Code Browsing Tools
cscope |
ctag |
Part 4: Kernel Masters Placement Assistance (KMPAP)
PART 4
Kernel Masters Placement Assistance (KMPAP)
Module 10: Enter into Semiconductor Industry
Enter into Semiconductor Industry
Regular Assessments |
Written Test, Lab Test |
Profile Preparation |
Interview oriented Course revision |
Individual interview guidance |
On Campus / Off-Campus Interview support |
C-Vital (C language practice) |
Presentation Skills
Project Presentation |
Seminars |
How to present the project in an interview |
Team Interactions and motivational sessions |
Technical mock interviews |