Device Tree: Supporting Similar Boards – The BeagleBone Example

Most of the BeagleBone boards from BeagleBoard.org share the same form factor, have the same headers and therefore can accept the same extension boards, also known as capes in the BeagleBoard world. Of course, a careful PCB design was necessary to make this possible. This must have been relatively easy with the early models (BeagleBone Black, Black Wireless, Green, Green Wireless, Black Industrial and Enhanced) which are based on the same Sitara AM3358 System on Chip (SoC) from Texas Instruments. However, the more recent creation (2019) of the BeagleBone AI board and keeping compatibility with existing capes must have been … Continue reading Device Tree: Supporting Similar Boards – The BeagleBone Example

Using Device Tree Overlays, example on BeagleBone Cape add-on boards

The concept of Device Tree overlays The Device Tree language is a way to describe hardware that is present in a system and cannot be automatically detected. That’s the case of devices directly implemented on a System on a Chip, such as serial ports, Ethernet or Nand flash controllers. That’s also the case of devices connected to a number of buses, such as I2C and SPI, that do not provide mechanisms for dynamic enumeration and identification of devices. For a given CPU architecture (ARM, PowerPC, etc), such a description allows to have a unique kernel supporting many different systems with … Continue reading Using Device Tree Overlays, example on BeagleBone Cape add-on boards

Improving usage of device trees

Using device trees is one of the most complicated and important, and sometimes risky, elements of using a Beagle to make use of add-on hardware. With the addition of the AM5729-based BeagleBone AI to the family of boards sporting BeagleBone headers, the complications have increased, requiring additional considerations with dependencies on different processor pins connected to different header pins and a different peripheral mix. Further, AM5729 won’t be the last processor where Beagle uses on a board with BeagleBone headers! Further, in community efforts to add dynamic support for device tree overlays into the upstream Linux, much has changed for … Continue reading Improving usage of device trees

Call for topics for open-source embedded systems education projects

It’s that time again, time to start gathering project ideas and possible mentors for Google Summer of Code. This year, you can be a student even if you aren’t enrolled in school! That’s got me thinking about the key areas we need to help advance education around open source embedded systems. One of the early Beagle community development focuses was software defined radio (SDR). With updates to available CBRS bands, enabling personally unlicensed 5G small cell creation, and unlicensed radio frequency (sub-GHz) low-power wireless networks like IEEE 802.15.4, LoRa, and Wi-SUN, and many new silicon solutions, there are many opportunities … Continue reading Call for topics for open-source embedded systems education projects

BeagleBoard.org® Community Kicks off GSoC 2019 with Four Projects

This summer, four student projects in the Google Summer of Code 2019 (GSoC) will be mentored by BeagleBoard.org®. GSoC, sponsored by Google, is a global program in it’s fourteenth year, focused on bringing more student developers into open source software development during a 3 month programming project.

After going through a detailed and thorough application process the following four projects will be developed this summer. Check out the intro videos from each student:

Continue reading “BeagleBoard.org® Community Kicks off GSoC 2019 with Four Projects”

BeagleBone® AI Makes a Sneak Preview

A new BeagleBone® made a sneak preview at Embedded World in Germany. Filling the gap between small single board computers (SBCs) and large powerful industrial computers, BeagleBone® AI  (https://old.beagleboard.org/ai) brings the open source Linux approach to Artificial Intelligence applications development. … Continue reading BeagleBone® AI Makes a Sneak Preview

Device Tree Overlay Support Lands Upstream

Pantelis Antoniou originated device tree overlay support for the purpose of enabling dynamic hardware configuration under Linux on devices like BeagleBone that use device tree for hardware configuration. Device tree was introduced to Linux for the purpose of putting the description of hardware into data structures, rather than building it up programmatically, greatly reducing the amount of code required to be maintained within the Linux kernel sources. Until now, the device tree data structure was only processed at boot time and that simply can’t work for devices that might change hardware configurations after boot. While many BeagleBone capes can be … Continue reading Device Tree Overlay Support Lands Upstream

Debian Beta images have been released

As posted earlier today on the BeagleBoard.org mailing list, the latest BeagleBone Debian beta images are now posted for broader testing at: http://old.beagleboard.org/latest-images/ If you’ve upgraded the firmware on your BeagleBone or BeagleBone Black in the past, the experience will be quite similar, but you might find the eMMC flashing times a bit faster (~15 minutes rather than ~45 minutes) due to less post-installation processing. Using the 2GB uSD card image also flashes a bit faster and can be resized to whatever your uSD card size is using some scripts under /opt/scripts/tools. Many, many thanks to Robert Nelson, Rob Rittman, … Continue reading Debian Beta images have been released

Using Perl to read Linux events

For a simple demo that played a movie on a BeagleBoard, I wanted to add a simple mechanism to start the movie over again if the USER button was pressed. To read a Linux input event, it is as simple as just performing a read. The only trick to this for me, however, is that I wanted the read to timeout. This was resolved by using the Perl alarm() function can catching the signal within an eval(). I’ve uploaded a gist of my example play_movie.pl script: #!/usr/bin/perl$ENV{‘DISPLAY’} = “:0.0”;system(“xhost +”);#system(“totem –quit”);#system(“nice -n -5 totem –fullscreen /home/root/playlist.xml &”);$cmdline_start = “nice -n … Continue reading Using Perl to read Linux events

Several OMAP/Beagle patches land upstream for Linux 2.6.33

I’m feeling pretty happy and excited today looking at the patches Linus Torvalds has recently merged into the Linux kernel mainline, such as a huge patch set from Tony Lindgren[1]. I’m particularly happy to see that DSS2 is there[2], so there shouldn’t be any more confusion about what display driver to use on OMAP. The USB EHCI (host port) driver also finally got merged[5]. I also see a large number of power management patches being included. Baseline support for several OMAP3 systems has also been included, including the Always Innovating Touch Book[3], AM3517 EVM[6], IGEPv2[7], CM-T35[8], OMAP3630 Zoom-3[9] and some … Continue reading Several OMAP/Beagle patches land upstream for Linux 2.6.33

Trade Show News

The Beagle Board will making a number of appearances over the next few weeks. Our very own Khasim Syed Mohammed will be at OSScamp July 19th in Bengaluru, India. In the UK, Koen Kooi and Måns Rullgård are looking to show off FFmpeg and Ångström at LugRadio Live on July 19-20. A BeagleBoard fan group has shown up on Facebook. Currently, only the upcoming LinuxWorld Expo event in San Francisco August 4-7 is listed, but it is possible to RSVP to express interest in the BeagleBoard meet-up. I’m expecting for details on the meet-up to be provided shortly. I look … Continue reading Trade Show News

The little things

It is the little things that make me happy sometimes, like Koen adding support for the Linux LED driver. Several triggers are possible, such as accessing the NAND, MMC/SD, or just a regular heartbeat, as Koen has demonstrated. To list off the possible triggers for the LED driver: root@beagleboard:~# cat /sys/class/leds/beagleboard::led0/triggernone nand-disk [mmc0] heartbeat timer The above shows the MMC/SD access trigger enabled. Koen selected that by issuing the following command: root@beagleboard:/sys/class/leds/beagleboard::led0# echo mmc0 > trigger Get started adding your own drivers today by starting with the existing code and the kernel git tree. See http://elinux.org/BeagleBoard#Code (Thanks Dirk!) for references. … Continue reading The little things

Beagle Board at LinuxTag!

Texas Instruments is hosting the BeagleBoard.org booth at LinuxTag 2008 on May 28-31. You will see Beagle board live demos and discuss open source topics at the booth – Hall 7.2a Stand 122. On Friday, May 30th, there is a two hour workshop about the open source project in workshop room 2 at noon. More information on the event can be found at http://www.linuxtag.org/2008/en/home/welcome.html. Continue reading Beagle Board at LinuxTag!

Beagle patches integrated in upstream OMAP community Linux kernel

Thanks to Khasim Syed Mohammed, the recent OMAP community Linux kernel now contains basic patches for the Beagle board! For initial boot of Linux on Beagle you don’t have to apply any additional patches, just download the community OMAP Linux kernel using git, do “make omap3_beagle_defconfig”, and enjoy booting your new kernel on Beagle. Khasim is just getting us started. Expect to see other community members contributing patches to provide additional functionality on the Beagle board soon. Continue reading Beagle patches integrated in upstream OMAP community Linux kernel