33 Courses
Embedded Linux Development
HRDC Reg. No: 10001706775
Duration: 28 hours (4 days)
Linux Kernel Programming: Driver Development in Practice is a project-driven, hands-on course that teaches engineers how to design, develop, and debug Linux device drivers for real hardware.
Participants will progressively build a complete event-driven driver while learning kernel modules, character drivers, user-kernel communication, synchronization, wait queues, interrupt handling, deferred work mechanisms, and GPIO-based hardware interaction.
The course emphasizes practical implementation, debugging, and production-quality driver design, enabling engineers to confidently develop and maintain Linux kernel drivers in Embedded Linux environments.
By the end of this course, participants will be able to:
Participants should have:
Embedded Linux Development
HRDC Reg. No: 10001705904
Duration: 35 hours (5 days)
Linux I2C & SPI Drivers Development: From Controller to Framework provides a deep, hands-on understanding of Linux bus driver development, covering I2C and SPI from low-level controller implementation to full Linux framework integration.
Participants will learn how to interact with hardware registers, develop controller drivers, integrate with the Linux device model, configure drivers using Device Tree, implement interrupt-driven communication, and optimize transfers using DMA.
The course prepares engineers to confidently design, develop, debug, and integrate production-quality I2C and SPI drivers for Embedded Linux platforms.
By the end of this course, participants will be able to:
Participants should have:
Embedded Linux Development
HRDC Reg. No: 10001704643
Duration: 21 hours (3 days)
FreeRTOS helps embedded engineers move from bare-metal programming to structured real-time firmware development. Participants will learn task scheduling, memory management, synchronization, inter-task communication, interrupt handling, and debugging techniques needed to build responsive, scalable, deterministic, and maintainable embedded systems.
Many embedded engineers understand microcontrollers and bare-metal programming. But when systems become more complex, they struggle with:
As a result, many developers:
This program is designed to solve these challenges through a practical and implementation-driven approach using FreeRTOS. Instead of learning RTOS concepts in isolation, participants will progressively build and analyze real-time firmware systems while understanding how FreeRTOS manages:
The course focuses heavily on:
Through guided exercises and real-world case studies, participants will gain the ability to design firmware that is:
By the end of the program, participants will move from “I know FreeRTOS APIs” to “I can design and build reliable real-time embedded systems using FreeRTOS.”
By the end of this course, participants will be able to:
Participants should have:
Embedded Linux Development
HRDC Reg. No: 10001706250
Duration: 21 hours (3 days)
Embedded Linux System – Build, Boot & Recover provides engineers with a complete understanding of the Embedded Linux boot process, from power-on through bootloader, kernel, and root filesystem. Participants will learn how to configure and build Linux systems, control boot behavior using U-Boot, debug boot failures, recover bricked devices, and develop a structured approach to troubleshooting Embedded Linux platforms.
The course emphasizes practical recovery, debugging, and system-level understanding required for real-world embedded product development.
You will learn how to:
By the end of the program, participants will move from trial-and-error debugging to structured problem-solving, enabling them to bring up, debug, and recover Embedded Linux systems with confidence.
By the end of this course, participants will be able to:
Participants should have:
Embedded Linux Development
HRDC Reg. No: 10001705903
Duration: 21 hours (3 days)
Embedded Linux BSP & Porting helps engineers move beyond using pre-built Linux systems and start modifying bootloader, BSP, kernel, Device Tree, and platform driver source code for custom hardware. The course focuses on real-world board bring-up, Linux porting workflow, U-Boot customization, kernel adaptation, and boot-time optimization.
You will learn how:
This program focuses on giving participants the confidence to read, modify, and extend Embedded Linux source code, which is essential for real-world porting. By the end of the course, participants will not just run Linux on a board but understand how to make it run on new hardware platforms.
By the end of this course, participants will be able to:
Completion of Embedded Linux System Control: Boot, Debug & Recovery or equivalent knowledge of:
Embedded Linux Development
HRDC Reg. No: 10001702890
Duration: 35 hours (5 days)
Embedded Linux with Yocto: Deep Foundation & Customization provides deep insights into Embedded Linux by giving participants an in-depth understanding of key Embedded Linux components such as bootloaders, kernel, and root filesystem with extensive hands-on practice.
All components are built, configured, and patched using the Yocto Build System. The course covers Yocto Build System concepts through practical examples, including recipes, layers, classes, BSP layers, BitBake metadata, kernel customization, bootloader customization, and root filesystem customization.
By the end of the course, participants will understand the Embedded Linux boot flow and gain the practical foundation required to customize Embedded Linux images for target platforms using Yocto.
By the end of this course, participants will be able to:
Participants should have:
Embedded Linux Development
HRDC Reg. No: 10001704667
Duration: 28 hours (4 days)
Embedded Linux Build Systems: Buildroot & Yocto in Practice helps engineers move from using pre-built images to building, customizing, debugging, and controlling complete Embedded Linux systems from source to final deployable image.
The course covers Buildroot, Yocto, BitBake, recipes, layers, BSP, kernel, U-Boot, root filesystem customization, and reproducible production build workflows.
Completion of Embedded Linux System Control or equivalent knowledge of:
Embedded Linux Development
HRDC Reg. No: 10001703013
Duration: 28 hours (4 days)
Embedded Linux with Yocto - Essential Foundation and Customization provides deep insights into Embedded Linux by giving participants an in-depth understanding of key Embedded Linux components such as bootloaders, kernel, and root filesystem with extensive hands-on practice.
All components are built, configured, and patched using the Yocto Build System. The course covers Yocto concepts such as recipes, layers, classes, BSP layers, BitBake metadata, kernel customization, bootloader customization, and root filesystem customization through practical examples.
By the end of the course, participants will understand the Embedded Linux boot flow and gain the practical foundation required to customize Embedded Linux images for target platforms using Yocto.
By the end of this course, participants will be able to:
Participants should have:
Embedded Linux Development
HRDC Reg. No: 10001684856
Duration: 7 hours (1 day)
This course provides a structured introduction to Embedded Linux, focusing on essential Linux fundamentals, system programming concepts, and basic driver development. Participants will gain a solid understanding of how Linux operates at both user space and kernel space levels, enabling them to build a strong foundation for advanced embedded Linux development.
Through a combination of theory and hands-on exercises, the course covers Linux file systems, command-line operations, system calls, process management, and kernel module basics. By the end of the program, participants will be able to interact confidently with Linux systems and understand the core building blocks required for embedded system development.
By the end of this course, participants will be able to:
Embedded Linux Development
HRDC Registration No.: 10001690636
Duration: 21 hours (3 days)
Embedded Linux Debugging and Performance Optimization provides engineers with practical, hands-on skills to debug, analyze, and optimize Embedded Linux systems in real-world environments. While many engineers understand system internals, diagnosing failures and performance issues in production remains a major challenge.
Through structured troubleshooting methodologies and real-world lab scenarios, participants will learn how to identify root causes of system failures across the boot process, kernel, and user space. The course also covers performance optimization techniques for CPU, memory, and system responsiveness.
Participants will work on intentionally faulty systems to simulate real engineering problems such as boot failures, kernel panics, memory leaks, high CPU usage, and hardware communication issues. By the end of the course, engineers will be able to confidently troubleshoot and optimize Embedded Linux systems in production environments.
By the end of this course, participants will be able to:
Participants should have:
Embedded Linux Development
HRDC Reg. No: 10001681659
Duration: 21 hours (3 days)
Linux Inter-Integrated Circuit (I2C) Drivers provides a comprehensive introduction to Linux I2C driver development. Participants will learn how to develop and integrate I2C drivers into the Linux kernel, focusing on driver registration, communication, and interfacing with I2C devices.
The course covers the I2C protocol, Linux I2C subsystem, I2C driver model, client drivers, adapter and controller drivers, Device Tree configuration, debugging, testing, and optimization. Hands-on labs and real-world examples help participants gain practical experience in writing and debugging I2C drivers in embedded Linux environments.
By the end of this course, participants will be able to:
Participants should have:
Embedded Linux Development
HRDC Reg. No: 10001513419
Duration: 14 hours (2 days)
Embedded Systems Development: C, C++, Linux, and Device Driver Programming provides participants with an in-depth understanding of essential programming and embedded systems topics. Participants will explore advanced C and C++ programming concepts, Linux system programming, kernel programming, device drivers, debugging, and testing methodologies.
The course uses a hands-on approach, including code demonstrations, live debugging sessions, practical labs, and a mini-project to reinforce learning and prepare participants for real-world embedded development challenges.
By the end of this course, participants will be able to:
Participants should have:
Embedded Linux Development
HRDC Reg. No: 10001706614
Duration: 28 hours (4 days)
Application Development with Linux is a 4-day hands-on course that provides participants with practical understanding of Linux user-space application development. The course focuses on processes, threads, synchronization, signals, inter-process communication, and socket programming.
Participants will learn how to design and develop multi-process and multi-threaded Linux applications that can manage system resources, communicate between processes, handle signals, and operate over networks.
The course includes staged project development to strengthen practical skills in building advanced Linux-based applications using real Linux programming concepts and system-level APIs.
By the end of this course, participants will be able to:
Participants should have:
Embedded Linux Development
HRDC Reg. No: 10001709213
Duration: 35 hours (5 days)
This 5-day hands-on course provides a comprehensive and practical introduction to Zephyr RTOS firmware development on STM32 platforms. Participants will learn how to set up the Zephyr development environment, understand the RTOS architecture, configure projects using Kconfig and CMake, and build firmware using the west meta-tool.
The course progresses from basic firmware setup to multi-threaded application design, interrupt handling, Device Tree configuration, driver development, debugging, profiling, and complete system integration. Participants will work with STM32-based labs involving GPIO, UART, I2C, SPI, synchronization mechanisms, and real-time firmware behavior.
By combining technical explanation with practical implementation, participants will gain the confidence to design, debug, optimize, and integrate scalable Zephyr-based embedded applications suitable for real-world firmware development.
By the end of this course, participants will be able to:
Participants should have:
Note: Client may choose any supported Zephyr platform, subject to compatibility and lab preparation.
Embedded Linux Development
HRDC Reg. No: 10001697764
Duration: 14 hours (2 days)
This 2-day hands-on course provides a practical introduction to Linux Kernel Programming with a focus on kernel modules, character device drivers, user–kernel communication, interrupt handling, and deferred work mechanisms.
Participants will learn how Linux drivers operate inside the kernel, how kernel modules are built and loaded, and how character drivers communicate with user-space applications. The course also introduces interrupt-driven driver behavior and safe deferred execution using tasklets and work queues.
Through step-by-step implementation and testing exercises, participants will gain the foundation required to develop, debug, and extend basic Linux kernel drivers for embedded Linux platforms.
HRDC claimable training (HRDC Reg. No: 10001697764)
Hands-on Linux kernel module development
Build and test character drivers from scratch
Learn user–kernel communication techniques
Covers interrupt handling and deferred work
Suitable for embedded Linux driver development foundations
By the end of this course, participants will be able to:
Prerequisites
Participants should have:
Embedded Linux Development
HRDC Reg. No: 10001657747
Duration: 21 hours (3 days)
This intensive 3-day course provides a comprehensive and hands-on exploration of Linux Block Device and Filesystem Driver Development. Participants will learn how storage systems operate at a low level, from disk structures and partitioning to block I/O handling within the Linux kernel.
The course progresses from implementing a RAM-based block driver to designing and developing a fully functional custom filesystem integrated with the Linux Virtual Filesystem (VFS). By combining theory with real-world implementation, participants gain deep insight into Linux storage architecture and driver development.
By the end of this course, participants will be able to:
Participants should have:
Embedded Linux Development
HRDC Reg. No: 10001657810
Duration: 3 Days (21 Hours)
This intensive 3-day course provides a deep, hands-on understanding of Linux Network Driver Development, covering everything from the Linux networking subsystem to building a real SPI-based Ethernet driver from scratch.
Participants will explore how packets flow through the Linux kernel, understand socket buffers (sk_buff), and learn how network drivers interact with the networking stack. Through progressive hands-on labs, participants will build a basic network driver, develop a dummy network interface, and implement a fully functional SPI-based Ethernet driver using real hardware (WZ5500).
By the end of this course, participants will be able to:
sk_buff) and kernel APIsParticipants should have:
Professionals seeking deep expertise in Linux network driver development for hardware integration.
Embedded Linux Development
This 2-day intensive course provides an in-depth understanding of embedded systems development using C, C++, Linux system programming, kernel programming, and device driver development. Participants will engage in hands-on exercises covering multithreading, interprocess communication (IPC), debugging, and real-world device driver implementation.
This HRDC-claimable course (HRDC Reg. No: 10001513392) offers hands-on experience in real-world embedded programming, system debugging, and device driver development, essential for automotive, consumer electronics, IoT, and industrial automation applications.
By the end of this course, participants will be able to:
Master pointers, data structures, and function pointers for efficient programming
Develop object-oriented C++ applications using modern standards (C++11, C++14)
Build expertise in Linux system programming (file systems, IPC, threading)
Implement Linux kernel modules & device drivers
Utilize GIT, Jenkins, GDB, and Valgrind for debugging and configuration management
Gain knowledge of communication protocols (GPIO, SPI, I2C, UART, CAN)
Apply concepts through hands-on labs & a mini-project
Instructor-led Lectures – Core concepts explained with real-world examples
Hands-on Lab Exercises – Step-by-step programming & debugging tasks
Live Code Demonstrations – Practical debugging and troubleshooting sessions
Collaborative Learning – Mini-project development & peer discussions
Assessments & Feedback – Real-time problem-solving & exit tests
Embedded Linux Development
This 4-day intensive course provides an in-depth understanding of security in Embedded Linux systems. The training focuses on secure booting, kernel hardening, root filesystem security, data encryption, Trusted Execution Environments (TEE), and SELinux (Security-Enhanced Linux). Participants will implement security features through hands-on exercises, ensuring practical application of key security mechanisms.
This HRDC-claimable course (HRDC Reg. No: 10001509705) offers real-world training on securing bootloaders, kernels, root filesystems, and applications in Embedded Linux, ensuring compliance with modern security standards.
By the end of this course, participants will be able to:
Implement Secure Boot and verify the authenticity of system components
Ensure bootloader and kernel integrity
Configure Trusted Boot and Trusted Execution Environments (TEE)
Harden the Linux kernel & root filesystem against security threats
Implement data encryption techniques (Full Disk Encryption, File-based Encryption)
Deploy SELinux security policies for system protection
Instructor-led Lectures – Explanation of security principles in Embedded Linux
Hands-on Lab Exercises – Practical implementation of secure boot, encryption, and SELinux
Case Studies & Problem Solving – Real-world security threats & mitigation strategies
Assessments & Feedback – Evaluating understanding through projects and quizzes
Embedded Linux Development
This 5-day intensive course provides a deep insight into operating system (OS) concepts, covering key topics such as process management, multithreading, synchronization, interprocess communication (IPC), and memory management. Participants will gain hands-on experience in designing and developing multitasking applications while efficiently managing system resources.
This HRDC-claimable course (HRDC Reg. No: 10001406976) provides real-world hands-on training on OS fundamentals, process management, task scheduling, memory management, concurrency control, and IPC mechanisms essential for modern computing.
By the end of this course, participants will be able to:
Understand fundamental OS concepts and their applications
Work with multi-threaded and multi-process environments
Implement task scheduling and synchronization mechanisms
Manage memory efficiently in Linux & FreeRTOS
Design inter-process communication (IPC) mechanisms for data exchange
Apply concurrency management techniques to avoid deadlocks and race conditions
Instructor-led Theoretical Sessions – In-depth OS concepts explained with real-world examples
Hands-on Lab Exercises – Practical implementation of OS functionalities
Case Studies & Problem Solving – Application of OS techniques in different scenarios
Assessments & Feedback – Evaluating participant understanding through projects and quizzes