EMBEDDED LINUX BSP

Training for Linux Programmers to become Embedded Linux BSP Bootcamp Programming. Learn the A-Z of Embedded Linux BSP Bootcamp Programming with a full blend of theory & practicals.

Who Should Attend :

 Good C Programmers seeking carrer in world of Linux.
Working Professionals from Microcontroller background, middleware C/C++.
Students seeking career in Embedded Linux BSP Bootcamp Programming.

What will Be Outcome Of Training :

 Learn Linux BSP Development from scratch and get ready for the next
  the project engaged in Board Bring-up and BSP Development.
 Deep dive into the Boot-loader & Kernel code to become familiar for
 BSP modifications.
 Make your hands dirty with Board file writing, modifying pin Muxing &
 device driver code.

Syllabus

To make your drive of learning Linux device drivers easy, a well-organized syllabus from Basics to advance Linux Programming is here. Get to know user space, kernel space, Driver architecture, and much much more

Hardware

This course enables the students to work on Wegaboard. Other single-board computers are available by special request. Each participant is also encouraged to bring their own hardware, to use with lab exercises as time permits.

RuggedBoard-i.MX 6UL

imx6ul
imx6ul

Class Notes:

BSP Boot-Camp Class Notes

Embedded Linux Class Notes

1. Get Comfort with ARM Target Board

  • PhyBoard-WEGA System Arch

  • Boot Process from PowerOn

    • Primary Boot Loader

    • Main Boot Loader ( U-Boot / Barebox )

    • Kernel & Root File System

  • Flashing Images using TFTP

    • ( BootLoader, Kernel, RFS )

  • Cross compile C app and Execute on Target

2. Linux Introduction & Installation

  •  Basic Commands

  •  Dir & File Command

3. [Kernel Deep Dive Cont… HANDS-ON

  • Walkthrough MMC domain in AM335x & its implementation

  • Lab Add SD-CARD support to Board file and enable root file system to be mounted from SD-Card partition.

  • Walkthrough GPIO’s and its driver implementation

  • Lab Modify Board file to configure any pin of WEGA Board and test it using Linux user application.

  • Understanding UARTs in AM335x and its driver components

  • Lab Modify Board file to configure UART-2 & UART-3 on WEGA Board and test it using Linux user application.

2. Bootloader & Kernel Deep Dive HANDS-ON

  • Bootloader Code Walk through

  • Basic Hardware Configuration in Bootloader

    • RAM / FLASH ( NAND )

    • Communication Ports ( Serial, Ethernet )

  • Lab Modify/Add GPIO Driver to power LED status in Bootloader code and test it on Target

  • Kernel Code Walk through

  • Kernel Modifications for basic Board Booting

    • Board File Structure & Components

    • Understanding Pin Muxing

    • Adding devices inits in Board File

      • Understanding Platform data

      • Adding PMIC configuration for power domains

      • Modifying Voltage Regulator for different devices

      • Adding NAND support

      • Adding Serial Port

  • Make file modifications & Board Config file creation

Embedded Linux Porting

4. Kernel Deep Dive Cont… HANDS-ON

  • Intput Subsytem in Linux

  • Lab: Modify Board file to Configure Switches on WEGA board to generate input events & test it from user app.

  • I2C Subsytem in Linux

  • Lab: Modify Board file to add support of i2c based EEPROM or RTC and test it using user app.

  • SPI Subsytem in Linux

  • Lab: Modify Board file to add SPI based External ADC device to WEGA Board and test it from user app.

  • Display Sub-System in Linux

  • Lab: Configure the 7” LCD Display and test it using fbtest utils in linux.

Training Objective

  • Learn Linux BSP Development from scratch and get ready for the next project engaged in Board Bring-up and BSP Development.

  • Deep dive in to the Boot-loader & Kernel code to become familiar for BSP modifications.

  • Make your hands dirty with Board file writing, modifying pin Muxing & device driver code.