Notes on the Beaglebone Black
Summary
While working on the Beagle and BBCSIO projects
I gathered a variety of information on various useful Beaglebone Black concepts and implementation details. These techniques which, although interesting,
were really not suitable for inclusion in either project. However, since I had to figure them out, I thought I might as well write them down in the form of web pages or technical notes
in order to collect the information together and save someone else the trouble of doing all the digging around.
Hence this page - it provides links to a variety of various Beaglebone Black topics and will hopefully make such information more readily findable via Internet searches.
Beaglebone Black Notes
-
- The Linux Device Tree can appear to be very complex and hard to understand. This technical note attempts to provide an explanation set at the novice level of how the Device Tree
works, why it does what it does and how to compile and de-compile it.
-
- The PocketBeagle has no ethernet connection and it's entire access to the world is via an USB cable connected to a PC. This page is a step-by-step
guide on how to configure the PocketBeagle and a Windows 10 PC to get Internet connectivity. Although this page is dedicated to the PocketBeagle, the information
is relevant to any Beaglebone board connecting via USB to a Windows PC.
-
- One of the most useful things you can do is set up your Beaglebone Black so that it boots off of an SD card. As this page explains, it is quite a straight
forward process to create a backup copy of your Beaglebone Black configuration if it is located on an SD card.
-
- If your Beaglebone Black boots off of an SD card.
Then you can, if you wish, disable the onboard eMMC memory which normally contains the operating system. This makes it possible
to re-use the I/O lines normally dedicated to the eMMC memory for other things such as SPI, A2D, I2C and Serial Ports.
-
- If your Beaglebone Black does not need to a GUI or console interface then
you can, if you wish, disable the entire video subsystem. This makes it possible
to re-use the I/O lines normally dedicated to the display of HDMI video for other things such
as SPI, A2D, I2C and Serial Ports.
-
- Newer versions of the Beaglebone Black operating system do not enable the UIO system used to load some types of executables
into the Programmable Realtime Units (PRU's). The default is now RProc which takes ELF binaries. This page discusses
how to re-enable the UIO subsystem if you need to do this.
-
- The Beaglebone Black contains many more devices (SPI, I2C, USB, UART, PWM &etc.) than are possible to support using the available
physical pads on the bottom of the CPU chip. This
conflict is resolved by making multiple devices share a CPU pad and the component that controls which device has access is called the PinMux. This page
is a discussion of the PinMux and it also provides a listing of the PinMux modes which affect the Beaglebone Black P8 and P9 headers.
-
- This note describes how to use the Device Tree, the
uEnv.txt
file and the config-pin
tool to set the PinMux Mode
for various OCP Devices and hence determine which I/O lines are available on the P8 and P9
headers of the Beaglebone Black.
-
- The Programmable Real Time Units (PRUs) on the Beaglebone Black are capable of very fast and Input and Output via certain pins
on the P8 and P9 Headers. This page provides useful background information and a discussion of how to configure those pins so the PRU's can access them.
-
- A one page printable pdf summary of the usage of the various PinMux settings related to the Beaglebone Black P8 header.
-
- A one page printable pdf summary of the usage of the various PinMux settings related to the Beaglebone Black P9 header.
-
- A one page printable pdf summary of the usage of the various PinMux settings related to the PocketBeagle P1 header.
-
- A one page printable pdf summary of the usage of the various PinMux settings related to the PocketBeagle P2 header.
-
- A one page printable pdf summary of all possible PRU Inputs and their relationship to the Beaglebone Black P8 and P9 header pins.
-
- A one page printable pdf summary of all possible PRU Outputs and their relationship to the Beaglebone Black P8 and P9 header pins.
-
- A one page printable pdf summary of all possible PRU Inputs and their relationship to the PocketBeagle P1 and P2 header pins.
-
- A one page printable pdf summary of all possible PRU Outputs and their relationship to the PocketBeagle P1 and P2 header pins.
Older, Out-of-Date Pages
-
- The default installation of Linux on the Beaglebone Black is designed to be able to use an USB cable to connect to a PC. This page is a step-by-step
guide on how to
configure a Windows 7 PC so that the Beaglebone Black can connect to the Internet through it. Also provided is a discussion of how to connect to the
Beaglebone Black via SSH (PuTTY) and
some background information on using the LXDE terminal progam.
License
The contents of this web page are provided "as is" without any warranty of any kind and without any claim to accuracy. Please be aware that the information provided
may be out-of-date, incomplete, erroneous or simply unsuitable for your purposes. Any use you make of the information is entirely at your
discretion and any consequences of that use are entirely your responsibility.
All source code is provided under the terms of the MIT License.