"... and no one shall work for money, and no one shall work for fame; But each for the joy of the working, and each, in his separate star, shall draw the thing as he sees it, for the god of things as they are"

-Kipling

 

Disabling The eMMC Memory On The Beaglebone Black

Summary

By default, the Beaglebone Black boots from an operating system contained within its onboard internal eMMC memory. It is possible to download one of the latest images from the BeagleBoard.org download page and install it on a microSD card. In that event, the Beaglebone Black can be booted from the microSD card and the eMMC memory is redundant. It should be noted that the eMMC memory can also be flashed with with the latest operating system and the Beaglebone Black booted from that.

If the eMMC memory is not used on the Beaglebone Black, then the I/O lines dedicated to it within the AM335x CPU can be used for other purposes. As is explained here and here, the CPU shares many of the available I/O lines out between the eMMC memory, the HDMI video and internal OCP Devices such as SPI, I2C, A2D and the serial ports. If the any of these OCP Devices use I/O lines which conflict with the I/O lines used by the eMMC memory, then those OCP Devices can only be used once the eMMC memory is disabled.

Disabling the eMMC Memory

WARNING: Before you proceed ensure you have booted your Beaglebone Black off of the operating system on the microSD card. If you make the changes below (which disable the eMMC memory) to an operating system that is actually using the eMMC memory as its boot source, then very odd things will happen and the Beaglebone Black will eventually lock-up and become unbootable.

The process of disabling the eMMC memory is quite simple on later versions of the Beaglebone Black operating systems. All you need to do is edit the uEnv.txt file (use the command nano /boot/uEnv.txt as root). In this file you will see a line which states ...

#disable_uboot_overlay_emmc=1
... just uncomment this line ...
disable_uboot_overlay_emmc=1
... and reboot the Beaglebone Black.

After the Beaglebone Black reboots (off the microSD card) the I/O lines used by the eMMC memory will be unused and you can then configure them to interface with OCP Devices.

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.