A good "second board" for learning

Paw Prints: Writings of the maddog
It is not often that I point to a specific product, slap my forehead and make a snap buying decision. It is even less common for me to pay for something I know I will not get for a couple of months, but last night a friend of mine, Lucas Teske wrote to me and pointed me towards the Adapteva board.
I had looked at this board when they had their kickstarter going, but as Lucas and I discussed it, and particularly in light of my work with both Linaro (on performance improvements) and Project Caua (on economic computing), I started to get more interested, then excited. By the end of the night I had purchased one of the Zynq 7000 units (there is a unit based on the Zynq-7010 and one on the Zynq-7020), complete with GPIO pins.
When you first read the description of the whole board you see the "dual-core ARM-9 architecture" then you see the "16 or 64 cores" and the low power utilization, and you think "cool".
But the (typically) top line in the description is deceiving (in a good way):
Zynq-7020 dual-core ARM A9 CPU
which includes NOT ONLY the “dual core ARM A9 CPU”, but also (in the configurations on the Adapteva board) a Field Programmable Gate Array (FPGA) and some Digital Signal Processing (DSP) “slices”. Then when you tie these together with the 16 or 64 core array, you start to see the computing power of this board that draws less than five watts. Then you tie it to the set of GPIO pins that could match up with an Arduino, and the world of interesting programming starts to come alive.
It is not just the computing power, however, but the learning potential that interests me. At a time when some universities are backing away from teaching assembly language or computer architecture, these types of machines are coming out at a price that any school could afford one, even if they are still out of the range of some students in developing nations.
The open source nature of this board and the development tools is also great.
With this board you can practice programming multi-threaded applications, applications that could utilize an FPGA, DSP applications, and a raft of other applications that given a “standard” CPU would be slower than molasses on a cold day. You could look at the tradeoffs of decomposing your application for running on a passively parallel system (later being able to “upgrade” to a 64-core system as they are available) or stay with a single-threaded application.
For those of you who are looking at buying a Raspberry Pi (or the Arduino or the BeagleBoneBlack, or any of the other fine “development” boards) please do not let this persuade you from that first step. This board may still be a little expensive for the things those other boards were designed to handle. Certainly there is a HUGE amount that a beginning programmer can learn from any of those boards using Free Software.
But just as I recently said that “shell” is good as a first language and assembly would be good as a third language, as a second board this is very interesting.
I will not be getting one of these until October, but when I do get it I will be incorporating it into my performance talks and work.
Carpe Diem!
comments powered by DisqusSubscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters
Support Our Work
Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.

News
-
Fedora 42 Available with Two New Spins
The latest release from the Fedora Project includes the usual updates, a new kernel, an official KDE Plasma spin, and a new System76 spin.
-
So Long, ArcoLinux
The ArcoLinux distribution is the latest Linux distribution to shut down.
-
What Open Source Pros Look for in a Job Role
Learn what professionals in technical and non-technical roles say is most important when seeking a new position.
-
Asahi Linux Runs into Issues with M4 Support
Due to Apple Silicon changes, the Asahi Linux project is at odds with adding support for the M4 chips.
-
Plasma 6.3.4 Now Available
Although not a major release, Plasma 6.3.4 does fix some bugs and offer a subtle change for the Plasma sidebar.
-
Linux Kernel 6.15 First Release Candidate Now Available
Linux Torvalds has announced that the release candidate for the final release of the Linux 6.15 series is now available.
-
Akamai Will Host kernel.org
The organization dedicated to cloud-based solutions has agreed to host kernel.org to deliver long-term stability for the development team.
-
Linux Kernel 6.14 Released
The latest Linux kernel has arrived with extra Rust support and more.
-
EndeavorOS Mercury Neo Available
A new release from the EndeavorOS team ships with Plasma 6.3 and other goodies.
-
Fedora 42 Beta Has Arrived
The Fedora Project has announced the availability of the first beta release for version 42 of the open-source distribution.