Embedded System Development using BBB
BBB is a SBC (Single Board Computer)
- When a single piece of circuit board, comprises most of the personal
Computer hardware/software components, then it is called as a SBC. Am335x has a Cortex-A8 (A 32 bit MPU) where we run Linux & other HLOSes.
Beagle Bone Black Initial Boot up Video
Objective of the Project
- Understanding various sub systems of AM335x (1GHz ARM® Cortex-A8) SOC such as GPIOs, I2C, SPI, MMC, etc...
- Understanding ROM–Uboot-Kernel boot process on Linux-ARM systems and testing.
- U-Boot, MLO, SPL explanation and testing.
- Linux device tree
- Understanding platform devices and how it works.
- eMMC OS updating and booting new Debian OS.
- Interfacing external LEDs, temperature sensor, Acceleration/Gyroscope such as MPU 6050 or ADXL345 and code development.
- Using HTTP, the sensors can push numeric or alphanumeric data to the server, where it can be processed and visualized.
- Beaglebone networking
- Serial log (UART) used minicom tool
BBB uses TI’s AM355x SOC
- SOC stands for System on Chip. As the name indicates, a single chip contains most of the essential computing /communication /storage engine of the computing world, like Flash memory, Graphics processing engine, the image processing engine, the USB communication engine, RS232, SPI, I2C engine and much more. The heart of the SOC is a processor.
- For example AM355x SOC is powered by ARM cortex A8 processor.
Prepare
How to connecting BBB to PC using external USB TO UART converter
Instruction list
- CGI using C++ on the BeagleBone
- Introduction to the BeagleBone Black Device Tree
- The Beaglebone Black and Device Tree Overlays
- Sharing internet using Network-Over-USB in BeagleBone Black
Why use BeagleBone Black ?
- Because it's an Open Source Platform (i.e open hardware board), taht makes a big difference if you need to redesign a complete board with only your needed functionnality. The number of GPIO pins available makes it amazing for extending the boards capability.
- For interacting with the physical world, the BB has 7 analog input channels, while the RPi has none. The BBB has a Programmable Realtime Unit (PRU) Subsystem that allows for much faster GPIO usage.
- You can also install Android relatively easy onto here so if that’s a deal breaker then Beaglebone is for you. However, I did find Android a little slow on the Beaglebone. I would personally pick the Beaglebone Black if I were looking into more device or circuitry based projects.
- Most of the companies ,what they do is , they take the BBB hardware design, like part numbers, schematics , BOM etc and they add customer specific
add-ons or features then release the product to the market.
Use Case of Board Bring Up Activity
- When the hardware team is working on the new hardware, the software team will not sit idle, they test their software, drivers, and applications on
reference ( such as Beaglebone-Black ) board, which greatly reduces the time to release the final product in the market.
We will focus on upstream components:
1. U-Boot: this is the most often used bootloader in embedded systems and it’s recommended for BBB.
We will use upstream U-Boot, as it supports BBB.
2. Linux Kernel: it’s a main part of Linux OS. We will use upstream kernel, as it supports BBB.
3. BusyBox rootfs: it’s minimal, so it’s the best choice for understanding the crucial OS parts.
It can be useful in real work for testing, debugging and isolating the bugs, due to its minimalistic
nature. It also often can be found in networking devices (routers, etc), and is used as initramfs
in desktop GNU/Linux distributions.
- Beagle Black comes with a 1GHz AM3359 ARM Cortex A8 processor which uses ARMv7 instruction set
- Raspberry Pi 3 has a 1.2GHz 64-bit quad-core ARMv8 CPU.
4 elements of BBB board End-to-End Bring Up with Upstream Components