Embedded Linux Step by Step Using Beaglebone Black

Embedded Linux Step by Step Using Beaglebone Black

English | MP4 | AVC 1920×1080 | AAC 44KHz 2ch | 131 lectures (15h 48m) | 10.94 GB

Learn ARM Linux systems, Embedded Linux building blocks ,Busybox, Beaglebone interfacing Projects and much more

Update: English closed captions have been added, transcript available

Update # 1: MPU6050 interfacing and tilt sensing tutorials added

Update # 2: LCD interfacing tutorials added

The course is designed for Beginners to Advanced audience.

A comprehensive and practical course on learning Embedded Linux systems on Beaglebone hardware

100% hands-on and step by step explanation using hardware

Brief Description:

This Course Demystifies learning Embedded Linux Systems and running embedded Linux and its various components on the Beaglebone hardware. See above “what will I learn?? ” section to understand what this course promises!

What you’ll learn

  • Understanding ROM –Uboot-Kernel boot process on Linux-ARM systems and Testing
  • Kernel, Bootloaders compilations Step-by-Step and testing on Beaglebone Hardware
  • U-Boot, MLO, SPL, explanation and Testing
  • Understanding various sub systems of AM335x SOC such as GPIOs, I2C, MMC, boot modes ,etc
  • Understanding platform devices and how it works
  • Understanding ARM-board configuration files
  • Linux device Tree
  • Understating various boot modes of AM335x
  • eMMC OS updating and booting new Debian OS
  • Serial booting (UART)
  • TFTP booting
  • NFS booting
  • Beaglebone Networking
  • Busybox compilations and Testing
  • Configuring and using Buildroot on Beablebone
  • Writing uEnv dot txt from scratch and Testing
  • Using I2C tools on BBB
  • Hardware interfacing projects and ‘C’ application development using Eclipse IDE
  • GPIO programming
  • Interfacing external LEDs, 7 segment displays and code development
  • Interfacing LCD and related projects
  • Interfacing MPU6050 sensor and tilt sensing
  • EEPROM programming
Table of Contents

Introduction BBB board and SOC:
1 – About the instructor
2 – Important Note
3 – overview
4 – FAQ
5 – Additional components list
6 – Download Course materials
7 – BeagleBone BlackBBB Board Introduction
8 – BeagleBone BlackBBB Board Introduction contd
9 – Connecting BBB to PC using external USB TO UART Converter
10 – Using Minicom
11 – Using Teraterm and Putty
12 – Getting started with BBB and initial Setup
13 – BBB Web interface

Installing Ubuntu-16 on virtual box:
14 – Using virtual machine
15 – Installing Ubuntu-16 on virtual box -Part 1
16 – Installing Ubuntu-16 on virtual box -Part 2
17 – communicating with BBB

AM335x Functional block Overview:
18 – AM335x Functional block Overview Part 1
19 – AM335x Functional block Overview Part 2

Beaglebone Linux booting Process:
20 – What do we need to successfully boot linux on BBB
21 – BBB boot options
22 – BBB Linux boot sequence discussion ROM and SPL
23 – BBB Linux boot sequence discussion-MLO – SPL job
24 – Why AM335x RBL cannot load the Uboot directly to DDR
25 – Booting RBL and MLO on BBB
25 – Booting RBL and MLO on BBB
26 – Testing MLO image on BBB
27 – Testing U-boot image on BBB
28 – BBB Linux boot sequence discussion-uboot
29 – Decoding U-boot Header of uImage Manually
30 – Linux boot sequence discussion-Boot strap loader part 1
31 – linux boot sequence discussion-Boot strap loader-part 2
32 – linux boot sequence discussion – Kernel Entry
33 – Linux boot sequence discussion – launch of INIT

BBB eMMC update:
34 – eMMC booting- Big picture
35 – eMMC update-Downloading latest OS image

Booting BBB from SD card:
36 – Enabling Internet on BBB
37 – Booting the BBB via SD card with the latest images
38 – Login in to the BBB

Linux Device Tree:
39 – Why Linux device tree is introduced

uEnv txt and Initramfs:
40 – Writing uEnv txt file from scratch part 1
41 – Writing uEnv txt file from scratch part 2
42 – Writing uEnv txt file from scratch part 3
43 – Writing uEnv txt file from scratch part 4
44 – Writing uEnv txt file from scratch part 5
45 – Challenge
46 – About RFS
47 – Generating initramfs using RFS – am335x_tiny_filesystem.zip

Booting BBB over Serial Port:
48 – Serial booting Required Setup 50 – Important Note
49 – Serial boot – big picture
51 – Testing Serial boot part 1
52 – Testing Serial boot part 2

Booting BBB Over TFTP protocol:
53 – TFTP booting Required Setup
54 – TFTP boot – big picture
55 – Preparing TFTP host – tftpd-hpa
56 – Testing TFTP boot on BBB
57 – Challenge-1
58 – Challenge-2

U-boot:
59 – Understanding U-boot Source Tree
60 – Cross tool-chain installation
61 – Configuring and generating SPLMLOU-boot images-part1
62 – Configuring and generating SPLMLOU-boot images-part-2
63 – Challenge

Understanding Linux Source Tree:
64 – Note to Students Important Update on Linux Kernel Version
65 – ARM architecture related code organization
66 – ARM Board configuration files organization
67 – Soc specific driver code organization
68 – Configuring and generating linux image

Busybox minimalist Root file system:
69 – Busybox introduction
70 – Busybox compilation
71 – Kernel Modules installation
72 – Testing boot images and busybox on BBB-Part-1
73 – Testing boot images and busybox on BBB-Part-2
74 – Understanding busybox init and rcS Script
75 – integrating rcSStartup scripts
76 – Enabling ehternt over usb by driver integration
77 – Auto loading of drivers during system startup
78 – Challenge-1
79 – Challenge-2

Buildroot:
80 – Buildroot Intro
81 – Exploring buildroot directories and Build commands
82 – Configuring and building Buildroot-Part1
83 – Configuring and building Buildroot-Part2
84 – Testing buildroot RFS and ssh support on BBB
85 – Buildroot Linux and U-boot configurations
86 – Buildroot linux-uboot image generation and testing on BBB

Eclipse setup for BBB:
87 – Eclipse installation Note
88 – Installing JAVA JDK – Installing+Java+JDK+for+Windows.pdf
89 – Installing EclipseCross Tool chainbuild tools
90 – Eclipse project creation and build settings
91 – Installing Remote System Explorer and Testing Application
92 – Importing Eclipse Projects

AM335X pin details gpios and SYSFS control:
93 – AM335x GPIO subsystem and expansion header details part 1
94 – AM335x GPIO Subsystem and expansion header details part 2
95 – BBB GPIOs and Mode configuration registers
96 – Exploring Pin details using SYSFS entries -Part-1
97 – Exploring Pin details using SYSFS entries-Part-2
98 – Controlling USER LEDs using SYSFS entries-Part 1
99 – Controlling USER LEDs using SYSFS entries-Part 2
100 – Controlling user LEDs using C Application Part 1
101 – Controlling user LEDs using C Application-part2

External LED interfacing:
102 – Interfacing external LED-Part-1
103 – Interfacing external LED-part2

7 Segment LED interfacing:
104 – 7-Segment Display basics and Interfacing
105 – 7-Segment Display basics and Interfacing contd
106 – 7segment display up-down counter implementation-1
107 – 7segment display up-down counter implementation-2
108 – Challenge

4 digit 7 segment LED interfacing:
109 – 4 digit 7 segment LED Counter implementation
110 – Challenge

MPU6050 Interfacing and Tilt sensing application:
111 – Why Accelerometers are used
112 – Why Gyroscope sensors are used
113 – MPU6050 Introduction
114 – Understanding MPU6050 ACC full scale range
115 – converting raw Acc value in to g values
116 – Understanding MPU6050 Gyro Full Scale range
117 – MPU6050 breakout board details
118 – Deciding BBB I2C pins for sensor interfacing
119 – MPU6050 Raw read Source code explanation-Part1
120 – MPU6050 Raw read Source code explanation-Part2
121 – Testing MPU6050 Raw read application on BBB
122 – Measuring Tilt Angle of the object part 1
123 – Measuring Tilt angle of the object Part 2

16×2 LCD interfacing:
124 – LCD Introduction
125 – 16×2 LCD pin details
126 – HD44780 LCD controller Internal Details
127 – Understanding DDRAM CGRAMCGROM
128 – Understanding LCD command sets -Part1
129 – Understanding LCD command sets -Part2
130 – Connecting BBB and LCD

BONUS LECTURE:
131 – BONUS LECTURE

Homepage