Embedded C and Linux BSP

Embedded C and  Linux BSP

This course will cover different module in embedded c, Boot loader, Board bring up procedure, Linux kernel, Raspberry pi, DTS creation, Beagle Bone Black and integrating hardware peripherals like temperature sensor, motor driver etc..


Career Opportunity



low level c programming

  • C programming
  • C and inline assembly
  • Basic introduction processor architecture ARM/x86
  • Assembly with ARM and x86_64 Architecture
  • Accessing processor registers
  • Examples with c and processor level code optimization

BSP concepts

  • SBC boards
  • Building block of modern computer and ARM board
  • XT/AT PC vs ARM boards differ
  • SOC, SOM and boards
  • RPI, BBB and Wandboard
  • UEFI and BIOS
  • Boot loader
  • U-Boot and Boot loader Development
  • Linux kernel and history
  • Embedded Linux distribution and file system
  • Yocto,ubantu and Buildroot
  • Root file system
  • Building a Linux image
  • Booting a Linux image
  • Different boot mechanism
  • RAM disk and initrd
  • Booting from network

BSP Hands on

  • Build environment setup
  • Tool chain and Glipsi
  • Setting up of BSP and HDK
  • U-boot and pinmux configuration
  • DTS configuration
  • secure boot
  • Boot environment variables
  • Kernel arguments
  • Building the Kernel Source Code
  • Booting Linux kernel from boot loader
  • Linux kernel boot flow
  • DTS modification
  • BSP Requirements
  • Embedded Linux BSP Development Basics
  • Linux kernel features and LWN.net
  • kernel configuration and driver integration
  • Files and File system Support
  • Linux I/O and device drivers
  • driver porting
  • customization of different drivers like SPI,I2C, Ethernet etc.
  • Memory Management and Paging
  • Error Handling in Embedded Linux BSPs
  • Timing and Timers
  • Interrupts and Exception Handling in BSPs
  • BSP Deployment
  • Library Support, Glibc and Alternatives
  • SDK Deployment and Support
  • Embedded Linux distro compilation
  • Working with different versions of distro
  • Yocto based HDK Development
  • Yocto and meta layers
  • yocto and recipe
  • Building yocto for a given board
  • example project with yocto

Board bring up and debugging

  • Kernel debugging and hacking
  • GDB, GDB Server and the GDB Server Debugger
  • System-Level Debug
  • System-Level Debug Tools
  • The /proc and sys File systems
  • Debugging with printk and dmesg
  • KGDB and KDB and crash dump
  • Perf


Scroll to Top