
Except for some minor benchmarking at the end, once we get to a shell prompt, we’ll consider the job completed.Īs a departure from my microcontroller review, this time I’m focusing heavily on hardware design: unlike the microcontrollers I reviewed, these chips vary considerably in PCB design difficulty - a discussion I would be in error to omit. Getting a part booted is an entirely different ordeal altogether - that’s what we’ll be focused on.

Your I2C drivers, your GPIO calls - even your V4L-based image processing code - will all work seamlessly.Īt least, that’s the sales pitch. That makes chips running embedded Linux almost a commodity product: as long as your processor checks off the right boxes, your application code won’t know if it’s running on an ST or a Microchip part - even if one of those is a brand-new dual-core Cortex-A7 and the other is an old ARM9. If my mantra for the microcontroller article was that you should pick the right part for the job and not be afraid to learn new software ecosystems, my argument for this post is even simpler: once you’re booted into Linux on basically any of these parts, they become identical development environments. Just like my microcontroller article, the parts I picked range from the well-worn horses that have pulled along products for the better part of this decade, to fresh-faced ICs with intriguing capabilities that you can keep up your sleeve. This article is targeted at embedded engineers who are familiar with microcontrollers but not with microprocessors or Linux, so I wanted to put together something with a quick primer on why you’d want to run embedded Linux, a broad overview of what’s involved in designing around application processors, and then a dive into some specific parts you should check out - and others you should avoid - for entry-level embedded Linux systems.


There’s an occult consortium of engineering pros who drop these chips into designs with utter confidence, while the uninitiated cower for their Raspberry Pis and overpriced industrial SOMs. Massive shifts over the last few years have seen internet-connected devices become more featureful (and hopefully, more secure), and I’m finding myself putting Linux into more and more places.Īmong beginner engineers, application processors supplicate reverence: one minor PCB bug and your $10,000 prototype becomes a paperweight.

After I published my $1 MCU write-up, several readers suggested I look at application processors - the MMU-endowed chips necessary to run real operating systems like Linux.
