Embedded System Programme Training Course
An embedded system is a computer system with a dedicated function within a larger mechanical or electrical system, often with real-time computing constraints.
Course Outline
Embedded C programming
- Overview Fundamental of C programming
- Memory Allocation
- Interrupt
- Multitasking and multithreading
- Syncronization and intertask comm
- Peripheral comm
- Compiler
### Real time Linux, RTOS and embedded Linux
- Linux introduction - Architecture, files, directories - POSIX - Multi thread and task - Tolchain, Bootloader, Kernel, rootfs - start with Raspbian then explain how to build - a dedicated (and smaller image) with - Buildroot or Yocto - PREEMPT\_RT, Xenomai - RTEMS - Cross Compile, shared library - Networking
### Developing embedded linux driver
- Kernel, modules - Device haracteristic - USB, GPIO, I2C, SPI, Network, Block devices ### HW interfacing
- serial, SPI, I2C - TCP/IP, UDP - Zigbee, Wi-Fi - ADC, Arduino
- Display - GSM modem - Network ### Embedded C++, Qt
### Robust and fail-safe embedded software
- Effective and efficient programming - Debugging and troubleshooting - Inspection and analysis - Defensive, self test codes - Watchdog
### ARM technology and programming
Open Training Courses require 5+ participants.
Embedded System Programme Training Course - Booking
Embedded System Programme Training Course - Enquiry
Embedded System Programme - Consultancy Enquiry
Consultancy Enquiry
Testimonials (5)
He answers my questions very well explained.
Khaled Almarzooqi - Beamtrail
Course - Circuits and Electronics Fundamentals
Sean was a dynamic speaker and the hands-on exercises were very interesting and I can see how they will be really applicable.
Temira Koenig - Yeshiva University
Course - Raspberry Pi for Beginners
Trainer was really kind and knowledgeable, going the extra mile to explain things that I didn't know
Felix - Microchip Technology Inc
Course - Embedded C Application Design Principles for Automotive Professionals
The aquisition of useful knowlwdge and clarification of some things I was not sure of peviously.
Kenneth Mahoney - University of Glasgow
Course - Arduino: Programming a Microcontroller for Beginners
I genuinely enjoyed the trainer knowledge.
Aaron Swift - ITW Hobart
Course - FreeRTOS: Programming for Real Time Operating Systems
Upcoming Courses
Related Courses
Advanced Embedded Systems Development
35 HoursThis instructor-led, live training in Kazakhstan (online or onsite) is aimed at engineers who wish to learn how to use embedded C to program various types of microcontrollers based on different processor architectures (8051, ARM CORTEX M-3, and ARM9).
Arduino Programming for Beginners
21 HoursIn this instructor-led, live training in Kazakhstan, participants will learn how to program the Arduino for real-world usage, such as to control lights, motors and motion detection sensors. This course assumes the use of real hardware components in a live lab environment (not software-simulated hardware).
By the end of this training, participants will be able to:
- Program Arduino to control lights, motors, and other devices.
- Understand Arduino's architecture, including inputs and connectors for add-on devices.
- Add third-party components such as LCDs, accelerometers, gyroscopes, and GPS trackers to extend Arduino's functionality.
- Understand the various options in programming languages, from C to drag-and-drop languages.
- Test, debug, and deploy the Arduino to solve real world problems.
Circuits and Electronics Fundamentals
14 HoursThis instructor-led, live training in Kazakhstan (online or onsite) is aimed at engineers and computer scientists who wish to apply the fundamentals of circuits and electronics to design devices and systems that utilize properties of electrical components for the development of hardware functionalities.
By the end of this training, participants will be able to:
- Set-up and configure the necessary tools and programs for circuits and circuit board development.
- Understand the basic principles behind circuits and electronics engineering.
- Utilize the primary electronic components in constructing efficient computer hardware technologies.
- Optimize electronic devices by implementing circuit analysis methods.
- Apply the fundamentals of electronics and circuits to the development of enterprise applications.
Digital Signal Processing (DSP) Fundamentals
21 HoursThis instructor-led, live training in Kazakhstan (online or onsite) is aimed at engineers and scientists who wish to learn and apply DSP implementations to efficiently handle different signal types and gain better control over multi-channel electronic systems.
By the end of this training, participants will be able to:
- Setup and configure the necessary software platform and tools for Digital Signal Processing.
- Understand the concepts and principles that are foundational to DSP and its applications.
- Familiarize themselves with DSP components and employ them in electronics systems.
- Generate algorithms and operational functions using the results from DSP.
- Utilize the basic features of DSP software platforms and design signal filters.
- Synthesize DSP simulations and implement various types of filters for DSP.
Embedded C Application Design Principles for Automotive Professionals
14 HoursA two day course covering all design principles with code examples coupled with recent industrial technology; very useful for automotive software developers
Embedded C Application Design Principles
14 HoursThis instructor-led, live training (online or onsite) is aimed at C developers wishing to learn embedded C design principles.
By the end of this training, participants will be able to:
- Understand the design considerations that make embedded C programs reliable
- Define the functionality of an embedded system
- Define the program logic and structure to obtain the desired result
- Design a reliable, error-free embedded application
- Obtain optimal performance from target hardware
Format of the Course:
- Interactive lecture and discussion
- Exercises and practice
- Hands-on implementation in a live-lab environment
Course Customization Options:
- To request a customized training for this course, please contact us to arrange.
Electronic Control Unit (ECU) - Practical Vector
28 HoursThis instructor-led, live training in Kazakhstan (online or onsite) is aimed at intermediate-level automotive engineers and technicians who wish to gain hands-on experience in testing, simulating, and diagnosing ECUs using Vector tools like CANoe and CANape.
By the end of this training, participants will be able to:
- Understand the role and function of ECUs in automotive systems.
- Set up and configure Vector tools such as CANoe and CANape.
- Simulate and test ECU communication on CAN and LIN networks.
- Analyze data and perform diagnostics on ECUs.
- Create test cases and automate testing workflows.
- Calibrate and optimize ECUs using practical approaches.
Electronic Control Unit (ECU) - Theoretical Vector
21 HoursThis instructor-led, live training in Kazakhstan (online or onsite) is aimed at intermediate-level automotive engineers and embedded systems developers who wish to understand the theoretical aspects of ECUs, focusing on Vector-based tools and methodologies used in automotive design and development.
By the end of this training, participants will be able to:
- Understand the architecture and functions of ECUs in modern vehicles.
- Analyze communication protocols used in ECU development.
- Explore Vector-based tools and their theoretical applications.
- Apply model-based development principles to ECU design.
FreeRTOS: Programming for Real Time Operating Systems
14 HoursIn this instructor-led, live training in Kazakhstan, participants will learn how to code using FreeRTOS as they step through the development of a simple RTOS project using a microcontroller.
By the end of this training, participants will be able to:
- Understand the basic concepts of real-time operating systems.
- Learn the environment of FreeRTOS.
- Learn how to code with FreeRTOS.
- Interface a FreeRTOS application to hardware peripherals.
Learning Vivado
14 HoursThis instructor-led, live training in Kazakhstan (online or onsite) is aimed at FPGA developers who wish to use Vivado to design, debug, and implement hardware solutions.
By the end of this training, participants will be able to:
- Develop HDL systems with C code and Vivado tools.
- Generate and implement soft processors in Vivado.
- Test and simulate C code using Vivado.
Deploying AI on Microcontrollers with TinyML
21 HoursThis instructor-led, live training in Kazakhstan (online or onsite) is aimed at intermediate-level embedded systems engineers and AI developers who wish to deploy machine learning models on microcontrollers using TensorFlow Lite and Edge Impulse.
By the end of this training, participants will be able to:
- Understand the fundamentals of TinyML and its benefits for edge AI applications.
- Set up a development environment for TinyML projects.
- Train, optimize, and deploy AI models on low-power microcontrollers.
- Use TensorFlow Lite and Edge Impulse to implement real-world TinyML applications.
- Optimize AI models for power efficiency and memory constraints.
Microcontroller Design
35 HoursThis instructor-led, live training in Kazakhstan (online or onsite) is aimed at engineers who wish to learn the design principles of microcontroller design.
Raspberry Pi for Beginners
14 HoursRaspberry Pi is a very small, single-board computer.
In this instructor-led, live training, participants will learn how to set up and program the Raspberry Pi to serve as an interactive and powerful embedded system.
By the end of this training, participants will be able to:
- Set up an IDE (integrated development environment) for maximum development productivity
- Program Raspberry Pi to control devices such as motion sensor, alarms, web servers and printers.
- Understand Raspberry Pi's architecture, including inputs and connectors for add-on devices.
- Understand the various options in programming languages and operating systems
- Test, debug, and deploy the Raspberry Pi to solve real world problems
Audience
- Developers
- Hardware/software technicians
- Technical persons in all industries
- Hobbyists
Format of the course
- Part lecture, part discussion, exercises and heavy hands-on practice
Note
- Raspberry Pi supports various operating systems and programming languages. This course will use Linux-based Raspbian as the operating system and Python as the programming language. To request a specific setup, please contact us to arrange.
- Participants are responsible for purchasing the Raspberry Pi hardware and components.
Tensorflow Lite for Microcontrollers
21 HoursThis instructor-led, live training in Kazakhstan (online or onsite) is aimed at engineers who wish to write, load and run machine learning models on very small embedded devices.
By the end of this training, participants will be able to:
- Install TensorFlow Lite.
- Load machine learning models onto an embedded device to enable it to detect speech, classify images, etc.
- Add AI to hardware devices without relying on network connectivity.