I keep wondering what Cortex-A chip I want to choose for MnemOS' next platform.
I'm currently considering:
* Atmel's SAMA5D family
* NXP's i.mx7 family
* NXP's i.mx8 family
* TI's AM335x family
Read on for my thoughts on each, or feel free to suggest others I missed!
Conversation
So for me (right now), I'm mostly focused on a few things in no order:
* Single core performance (MnemOS is/will be single threaded + async mostly for now)
* Availability (including SOMs)
* Price (as SOM)
* Ease of writing bare-metal code (e.g. docs, examples)
2
1
Atmel's SAMAD5 family is nice, because you can get variants with no external DDR memory needed (it's in-package).
It seems that realistically I could get 500MHz + 128M of RAM, and Atmel's docs are pretty good, from what I've seen.
tindie.com/products/c298f is also a nice format.
1
1
The NXP i.mx7 is also interesting for me, it comes in single/dual core, goes up to 1GHz, and has a Cortex-M 200MHz coprocessor for real-time stuff.
There's ram-stick SOMs like this one from Toradex, which is 65 EUR w/ 256MB RAM.
1
1
The NXP i.mx8 is also interesting, it's much faster and multicore, but it's also being used for products like the Librem One and MNT Reform, which makes me hopeful that there are decent docs or (Linux) code examples.
That being said: It's more muscle than I need, and more $$$.
2
1
My main worried about the imx family though is exactly this: These are widely used parts, particularly the 8 in automotive, and I worry about availability of these. Toradex lists their imx7 board as "limited stock" already, and I'm not doing a large buy.
twitter.com/lernerbot/stat
This Tweet is unavailable.
2
1
imx6 solo is also probably a reasonable option to consider!
It's a little older, though more powerful than the 7 (6 and 8 are perf units IIRC, the 7 is a bit more power efficient).
It's much more widely used (it's everywhere), so there might be stock?
Quote Tweet
Replying to @bitshiftmask
i.MX6 solo or one of the other cheaper variants?
1
1
The imx6 also loses the Cortex-M coprocessors from the 7/8, which would be nice to have for driver offloading, but isn't strictly needed. I can always stick an RP2040 next to it easily enough.
Pricing/perf seems similar to the 7 (1GHz ish, 256M RAM ish, range of SOMs)
1
1
The TI AM335X is particularly interesting, it's used in the BeagleBone Black, and I know of people writing bare metal/RTOS code for it. Definitely SOMs available.
It also has a Cortex-M coprocessor, plus two "32-bit PRUs", sort of like turbo PIOs.
2
3
Replying to
I think the Cortex-M is for power management, but I'm not sure. In Linux from my perspective it was pretty much a blob, but it might be possible to run your OS on the M and so gradually bring up the A. The newer TI cores have DSPs as well. A village on a chip.


