Skip to content

Embedded Linux Training

BBTECH Lab edited this page Mar 3, 2021 · 1 revision

Propose an Embedded Linux Training Course

Embedded C Programming

  • Datatype
  • Structure & Linked List, Dynamic Memory
  • Function pointer, Overflow Buffer, Debugging
  • Object instance and Singleton
  • State machine, Poll and Interrupt

Unix Programming

  • POSIX Threads and IPC
  • Synchronization: Mutex, Semaphores
  • Shared Memory
  • Signal

Unix Network Programming

  • Application Layer: HTTP, FTP, DNS
  • Network Layer: IPv4, ICMP, IPv6, Routing Protocols
  • Transport Layer: Socket programming UDP, TCP, SCTP
  • Link Layer: ARP, MAC, VLAN

What is Linux Operating System ?

  • What do you want to be ?
  • History of GNU Linux
  • Linux Structure and Installation
  • Command Line Interface
  • Shells Programming
  • GNU Makefile, automake & autoconfig

Embedded Linux System Development - Part 1/ Understanding of Embedded Linux Development

  • Embedded Linux Introduction
  • Cross Compile toolchains ?
  • Prepare software development environment in Linux ?
  • Linux kernel/ Linux Driver
  • Loader booting sequence
  • Kernel booting
  • Root file system
  • Building an Embedded Linux OS for QEMU-ARM emulator
  • Understanding of SW production line.

Embedded Linux System Development - Part 2 / Device Driver(Kernel Module) Programming

  • About Kernel modules: Kernel Modules vs Applications
  • Building & understanding a hello world
  • Debugging Technique
  • Character Device Driver
  • Synchronization in Device Driver
  • Interrupts
  • Virtual Memory
  • GPIO controller driver
  • Watchdog Driver
  • Timer - Delay

Embedded Linux System Development - Part 3 / Uboot và booting flow

  • Booting in Embedded System.
  • Loader Booting Sequence
  • Kernel Booting Sequence.
  • Rootfs booting Sequence (init process)
  • Kernel Parameter ( Example)
  • Linux Device Tree ( Example )

Yocto Project Development

  • About Yocto Project
  • Yocto Project Components: Bitbake/Recipes/Classes/Cofigurations/Layers
  • Yocto emulator setup and build environment ** Setting up the host environment ** Downloading and building Yocto image for QEMU emulator ** Bring up Yocto in QEMU emulator
  • Bring up your own recipes for Yocto project ** Create and build a new recipes to the build system ** Bring up an example on an Emulator

Building a Yocto Project for Raspberry PI

  • HW Block diagram/ HW Schematic
  • Building a Yocto project for Raspberry PI
  • Practice with Yocto project on Raspberry PI

Android Project Development

  • About Android Project - Understanding of Android OS
  • Android SW Stack ** Google AOSP ** Vendor ** OEM
  • Android emulator setup and build environment
  • Android Application Development: How to become an Android Application Developer
  • Android Platform Development: How to become an Android Platform Developer

Buiding an Android Project for Raspberry PI

  • Building & Running Android project on the Raspberry PI