Just seems like taking a good product and trying to use it in an odd/unintended way.
Just seems like taking a good product and trying to use it in an odd/unintended way.
It's a very cool and impressive project, but I wouldn't use it to write an application. Besides cost, the biggest reasons to use these instead of Cortex-A chips are power efficiency and simplicity, and implementing things like process isolation in software seems like throwing all that out the window.
But on the other hand, if your device will be plugged in and power consumption isn't a huge concern, I could definitely see the appeal to having things like a Ruby interpreter or an X server running on your MCU. You could compile and deploy existing code, ideally. But I bet it would take more time to get all of that working well than it would to just write your application with an SDK and an RTOS.
Also, I'm guessing this project predates the STM32MP1: https://www.st.com/en/microcontrollers-microprocessors/stm32...
But they might have an MPU.
http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc....
http://embedded-computing.com/articles/security-and-the-cort...
Like I said, this is a very impressive project and I admire the people who were able to make it happen, but in the context of writing an application it sort of seems like a solution looking for a problem.
It reminds me of running Linux on the Nintendo DS. You can, and it's a fascinating toy, but the games are written bare-metal for a reason.
But yeah, if I needed to run Linux, I'd quickly pick something like Cortex A53, Cortex R52... etc. But hey, there might be a niche for Linux running on STM32.
Doing embedded (and drivers) at dayjob.
The cost for a full fledged ARM board is quite close to a STM32 with some addons, making me think one would be better off with something like an OrangePi Zero: https://www.aliexpress.com/item/32760774493.html
Designs considerations included cost, of course. A comparable A series part would usually be double the price.
RAM is also built into the part or attached via a low speed or parallel interface. Once you get into higher speed A parts, you'll need DDR and all the multi-layer PCB design work that goes with it. More cost.
There was also development speed. I could use drivers and filesystems from the Linux tree without much extra work. I also recommend the EmCraft ports, they do great work.
For example here is how to get Ubuntu linux to boot on an 8-bit AVR ATmega1284p, by emulating ARMv5: http://dmitry.gr/index.php?proj=07.+Linux+on+8bit&r=05.Proje....
Here is linux on a hard drive microcontroller http://spritesmods.com/?art=hddhack&page=1
There is even a port of linux, uClinux, that doesn't require an mmu. http://www.uclinux.org/ports/
No, that isn't Linux on a HDD microtroller. It's bare metal on an HDD MCU sort of fooling the Linux box that is accessing it. True that you can run uCLinux on some MCU devices, but this thread isn't necessarily showing the best one for that. Dancing bears are amusing, but not common or recommended.
These are seem to be mostly evaluation boards to check the chip against your requirements. After that, it might be just a few dollars to add the SoC, some DRAM and the passives on your product board.
And who cares about whether these are intended to run Linux or anything else. If it fits the requirements, just use it.