Ask Slashdot: Best Dedicated Low Power Embedded Dev System Choice?
An anonymous reader writes "I'm a Solaris user which is not well supported by the OSS toolchains. I'd like to have a dedicated Linux based dev system which has good support for ARM, MSP430 and other MCU lines and draws very little (5-10 watts max) power. The Beaglebone Black has been suggested. Is there a better choice? This would only be used for software development and testing for embedded systems."
Check out the UDOO: http://www.udoo.org/
A pretty capable machine at a decent price and low power draw. Yes more than a Raspberry PI, but multi cores and real USB controller is worth it (at least for my realtime audio needs).
...why the extremely low power draw requirement? Seems like for a dev box you'd want some horsepower, though you'd want to test on a box that's like your expected production machine...
Do not look into laser with remaining eye.
Any display big enough for development will draw more power than the CPU. (Although I suppose you could kludge some non-backlit e-reader into being a dev system.)
It's my understanding that "install a bunch of gnu tools" is the first thing that many Solaris sysadmins do on a new system.
Anyway, why do you need a low-power ARM system? The description heading mentions "embedded", but your description mentions irrelevant stuff like Solaris, but not the important stuff like what sort of embedded work you'll be doing: industrial control, point-of-sale, sensor monitoring, etc, etc ad nauseum.
"I don't know, therefore Aliens" Wafflebox1
Alright, I've been working on getting a build server setup on a BeagleBone Black that I had lying around. The ARM->x86_64 compiler I had to build so the executables could run elsewhere was a pain, so be careful about that. Also, the speed at which it compiles is "dog" slow. It reminds me of the stories I used to hear from old programmers about turning in their punch cards and waiting a day to get an answer back. It's not that bad, but it is slower. nohup quickly becomes your best friend. If it sounds like I'm harping on the compile speed it's because binutils--headers--gcc--glibc--binutils--gcc is a long build process and the Beagle bone black made it take even longer.
It's not all bad though. I find that the BeagleBone Black runs Linux quite nicely. Most common packages are there and working, and anything else can be compiled from scratch. It even acts a a nice PostgreSQL server. Also, it uses a processor that, if I recall correctly, will be supported by the general Linux kernel community. I believe the Raspberry PI has to use a special driver, so you are stuck with the raspberry flavors of Linux.
Now as far as a testing platform, as long as your program isn't graphically intense then it would be fine. But I think the Raspberry PI has a better graphics setup.
Don't forget to look at http://utilite-computer.com/web/home. They offer single, dual, and quad core ARM 9 systems that would probably be spiffier than the BeagleBone Black. Not as open of course, but that was not one of your requirements. The Utilite Pro running Ubunutu 12.04 consumes around 5 Watt in idle mode and around 8 Watt average when 3 cores are active.
A bit of a ramble, but I hope it helps.
Emacs! Oh wait, wrong flame war..
The OP doesn't need Solaris (He currently has a Linux Dev box) or an ARM system. He needs a low powered machine that can compile to ARM (and other things).
I would look into an Intel NUC.
You can get a netbook that will draw around 5-10W. If you get one with intel cpu and chipset you will have the advantage of massive compatibility, especially if you skip the original Atom chip. Once the dual cores came out it was pretty well abandoned by everyone.
That, or get one of these ~$100 android units which also runs Debian. But I don't really recommend that. The only one which seems very performant and yet inexpensive is the mk908 which is a bit of a turd reliability-wise and which doesn't yet have complete hardware support, e.g. http://www.cnx-software.com/20...
I stand by the netbook
"You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
Do yourself a favor and order a Shuttle DS437, I bought one myself and cannot think of a better little box for playing with embedded systems. Here's why:
It's "only" 1.8Ghz, but we're talking Ivy Bridge here, not some wimpy Atom or ARM core. Plus, in my experience you really want x86 for your host machine. Not every compiler or tool you might want to use is going to be supported on, say, a lower-powered ARM system.
I considered a lot of exotic ARM boards as my development host, including BeagleBone, Jetson-K1, and a handful of others. I think the D437 leads by a wide margin, but for what its worth I considered the Jetson-K1 board a distant runner-up.
but I wont shed a tear for you when you have to jump though your 20th hoop
TBH the msp's are not NEARLY as bad as their arm based devices, where you will have more console windows up than lines of code
http://pcduino.com/
I have a raspberry Pi, Beagle Bone Black and PcDuino.
Raspberry PI: don't like the fact that you have to boot off the sd card.
BBB - no complaints, nice board and has an optional display that's pretty nice
PcDuino - my favorite, more memory and flash than the other 2 devices and the v3s is in a really nice case.
The Pi and BBB lack a decent case (from what i can find)
The ARM architecture has some fairly good Linux support and wide adoption.
One of my favorites out there today is the A10-OLinuXino-LIME This is a low cost 1GHz ARM board with a Mali-400 GPU, a SATA port, 100BT port, two USB ports for under $50. I'm a big fan of the SATA port... using a SSD for the system solves many reliability problems. It also has support for LIPO battery but I haven't tried it.
Perhaps the best value/performance is the Wandboard QUAD. Quad iM.6 with 2GB Ram, WiFi, SATA, and an OpenCL supported Vivante GC 2000 all for $129. For the price it can't be beat... though the power consumption may be a bit higher than other small embedded systems..
The most popular two boards out there seem to be Beagle Bone and Rasperry PI. I'm not big on either...
The Beagle Bone was good in its day, but it is kind of over the hill. The processor is underpowered compared to other ARMs out there today for the same price/power consumption. Its peripherals are limited to essentially one USB 2.0 port and a bunch of multifunction IO on a header - which may be useful if you are hobbying. The one USB2.0 limits storage options. Because of the poor reliability of MMC, I prefer to use SSD these days, which means I need a USB drive enclosure of some type and need to get a hub if I want other USB. With all this, I'm still stuck at 2.0 speeds on the SSD.
The other issue with the Beagle Bone is that the processor is kind of on a dead end in terms of development cycle. That is, TI is not actively developing new OMAPs, but they have been authoring most of the Linux drivers for these chips. TI will continue to produce the OMAPs that are on the Beagle Bone, but I wonder how much they will continue to support driver development for future Linux.
Raspberry PI is useful for what it was designed as, an educational tool. But as an embedded processor it is not that great, kinda overhyped. The boot option is very limited - boot loader must reside on an SD. Also, Raspberry PI hardware is not open source. The Broadcom processor most nifty feature is a closed sources GPU, and the hardware requires a mysterious bin blob to boot properly. It is a toy.
Its page implicitly but strongly says it's for people who register as a CUDA developer.
What's more Virtualbox is made by the same vendor that makes Solaris and using it is a piece of cake..
Why do you want to _develop_ on an embedded system ?!? Use a Linux PC for development and then test your code on your embedded platforms. I use Ubuntu for the former, with either buildroot or a direct gcc eabi. If the development platform _must_ be low power, like you develop from an african field with a solar panel, get a netbook.
Non-Linux Penguins ?
That's vi, you insensitive clod!
A simple, cheap small notebook computer should be able to do this.
But you see you are in the Windows CE embedded niche. Your vision is clouded.
The correct answer starts with raspberry and smells like pie.
Igor pecovnik maintains a Debian Wheezy branch for Cubietruck boards.
Look at the Olimex range of boards.
I've been using these for a year or two and found them to fit the bill nicely.
There are single and dual core boards, with / without embedded flash memory (or micro-SD card slots) and they'll run Debian (or other) Linux They have a lot on on board peripherals and pinouts for their own range of LCD screens - though I use an HDMI monitor for simplicity. The power supply will accept anything from 6 - 16 Volts from a phone-charger type PSU and you can even plug in a LiPo for backup.
I'll stop there before someone accuses me of advertising (I'm not, and I have no connection to the company). But as a last point, they are also pretty cheap.
politicians are like babies' nappies: they should both be changed regularly and for the same reasons
http://ark.intel.com/m/product... The Intel Silvermont Atom boards are very electrically efficient and offer surprisingly good performance. You can buy a board for under US$100 and all you need to add is case, PSU, RAM and mass storage. Some boards have VGA, some DVI, with or without legacy serial and parallel, lots of choices. Manufacturers include gigabyte, msi, Asus, supermicro.
Far more OI, better all the way around.
https://www.olimex.com/Product...
Do not look at laser with remaining good eye.
Just to be clear, the A10-OLinuXino-LIME, BeagleBone white and BeagleBone Black all contain a single Cortex-A8 core, and the TI AM3359 runs at the same 1GHz speed in the BBB as the Allwinner A10 does in the LIME.
The original BeagleBone (white) ran its AM3359 at 720MHz so its CPU performance is a bit less, but the BeagleBone Black (BBB) superceded it a year ago and at a much lower price. As a result, the reasonable current-day comparison is between A10-OLinuXino-LIME and BBB, and on CPU power their similar speed Cortex-A8 cores make them pretty much identical.
I have all of these boards and many other similar ones, and my assessment is that BBB is much more capable for embedded projects because of its additional dual realtime 200MHz PRU cores (which are quite unrivalled), while the A10-OLinuXino-LIME is more suitable as an extremely low end desktop-style "computer" because of its dual USB2 host sockets and rather more capable MALI-400 GPU.
This assessment doesn't change when the just-released A20-OLinuXino-LIME is brought into the comparison, except that the dual Cortex-A7 cores in the A20 make it a far better general purpose "computer" than its A10 sibling for a mere 3 euro more in price.
"The question of whether machines can think is no more interesting than [] whether submarines can swim" - Dijkstra
Personally I'd have a netbook... In a Lab (Garage, whatever) I'd have the Oscilloscope/Logic Analyzers meters power supplies etc... connected to a Beefy desktop with plenty of RAM for running VM's so I don't stuff around with the build environment. When coding just remote (SSH/RDP/whatever) to the VM of choice. You don't mention price so stick solar panels, batteries and inverters on it till you're sub 5W.
This is a new chip with a ARM Cortex-A5 core, making it directly compatible with all distributions with an 'armhf' port like Debian, Ubuntu or Linaro.I like the fact that it is compatible with the Arduino Due connector. It's probably the easiest Linux based Arduino hardware compatible board.
http://www.at91.com/getting-st...
http://www.atmel.ch/tools/ATSA...
http://www.at91.com/linux4sam/...
Don't try to use super-low-power things for software development. Get something that will run things quickly and efficiently, and turn it off when you're not using it.
My blog: http://www.seebs.net/log/ --- My iPhone/iPad app: http://www.seebs.net/seebsfrac/
http://archlinuxarm.org/platfo...
There's a good dozen or more configurations for the hardware.
There's guides on the internet to installing different versions of Linux on it. (Unless you want to do Android dev)
I bought the A1000 version and a laptop HD (plugs in the top).
Then I installed Debian (using an online guide) and MiniDLNA. I use it as a media server for my TV.
Sig. Sig. Sputnik
You want 5-10 Watt max.
You have Beaglebone Black.
That works with 5V. 1A is recommended. That makes it a 5W device.
Most of similar embedded devices have same requirements. just look for functionnalities/ports you need and test/use it.
The embedded ARM boards from Technologic Systems are worth looking at also. I used a TS-7260 with a large enough SD card to install Debian with gcc and it worked great. It booted nearly instantly and consumed something like 100mA of current at 3.3V IIRC. It was quite a robust little box. There are newer and faster models than the TS-7260 at the link I provided above.
Slashdot's first reaction to VMware
I just checked and they state that the TS-7260 draws half a watt minimum and 2W typical... I seem to recall it drawing even less than that though. Perhaps it was 200mA @ 3.3V which would fit within their spec.
Slashdot's first reaction to VMware
It's in portuguese but you can use google translator http://www.embarcados.com.br/a...
vim is where it's at.
Harrison's Postulate - "For every action there is an equal and opposite criticism"
thats what a toolchain and cross compile is for. nobody compiles android on an android phone. HOW DID THEY COMPILE FIRST ANDROID PHONE? HOW IS BABBY FOREMED?
I'm a cosmonaut, you insensitive clod!!
The vendor supplied tools may be Windows only, but chances are there is a gcc backend available for the target architecture these days. I wouldn't like to be using an ARM board for my cross compiling though, getting QEMU set up for any compilation steps that need to run on the target architecture is enough of a nightmare on Intel, let alone other architectures that noone has used that way before.
The Bears.
I am developing a system targeted to run on a wandboard (www.wandboard.org), which is a really good "embedded" system similar to the BeagleBoard, but uses a Freescale iMX6 A9 Arm processor and is available in single, dual & quad core CPUs with 512MB to 2 GB RAM.
However, even with the quad core 2GB ram version, builds take a really long time, so I use a regular PC that I built using a new Haswell CPU, 16GB ram and a 240GB SSD to do development and even unit testing. I can make several changes, build everything 6 or more times and do some more testing in the time it takes the wandboard to complete 1 build. I also perfrom cross compiles on the "PC" to target the wandboard and scp the resulting binaries over after the build completes.
Both the wandboard and the PC run ubuntu 14.04 and the system in question is being developed in C++ with Boost, rabbitmq and ODB to run on the wandboard and also "regular" x86-64 linux and windows. You should also look into using Yocto, which looks very interesting for cross platform development. However, I am currently just using eclipse on both the wandboard and the linux PC (and MS Visual Studio on the windows machine).
Don't buy anything today. Wait until there are media boxes with quad Cortex A15/A17 chips and buy one of them. They'll be out any week now. Rockchip RK3288 is coming, should be affordable, and the company is spending a lot of effort making sure it's well supported in mainline.
Cortex A9 hails from 2007. It's ancient. The GPUs are at best old Mali-400's. The compute/watt is not-great.
If you want to go really low power- if battery life is your concern and you don't actually have serious CPU use (you mention MSP430, so it sounds like you don't have real CPU use needs) get a Cortex A7 or Cortex A5. There are dozens of dual core Allwinner A7 boards out there. A5 has slimmer pickings, but will get you pleasantly below the one watt range, and the boards come with more embedded targeted peripherals that might not be included on media devices.
If you are looking for a Linux based Dev System with support for many ARM processors, I would look at Yocto: https://www.yoctoproject.org/
This runs on 32 and 64 bit systems, has emulators for several processors, and generally appears to have support from many embedded ARM platform vendors.
Yocto leverages Open Embedded and so essentially builds a distribution, much like Gentoo. You will be rolling your own system from scratch. One of the beauties of Yocto is that you can maintain a similar source control configuration for multiple platforms, making it very easy to port across platforms.
Using the quad as a single board computer in an embedded app. It is amazing.
The only downside is the price. The power is nearly 10W, and has no flash on board, so an SSD will put it over 10W.
Because of the poor reliability of MMC, I prefer to use SSD these days
MMC reliability is fine. I thought I was going to have problems using the MMC on the BBB as well, so I set about beating several of them severely. I setup accelerated read-write-read testing, and started pounding on the BBB internal MMC. with 3 boards at over 5M writes to a single 512Byte block each, none of the devices failed. I read some literature which suggests that the MMC rotates sector usage to even out wear, which, if true, means that you would have to do the equivalent of recording 100,000 hours of HD video before you will burn out the MMC.
The other issue with the Beagle Bone is that the processor is kind of on a dead end in terms of development cycle. That is, TI is not actively developing new OMAPs, but they have been authoring most of the Linux drivers for these chips. TI will continue to produce the OMAPs that are on the Beagle Bone, but I wonder how much they will continue to support driver development for future Linux.
Embedded devices are install and forget machines. It doesn't matter much who supports them or doesn't once they are in the field. As far as unit availability, Special Computing is ramping up production and already surpassed all the other BBB manufacturers combined. Last I heard, they were over 120k per month production, the vast majority of which is going into mass-production doo-hickeys from various manufacturers. Our own embedded system uses 1 or more of them in every unit we sell.
The biggest advantage to the BBB (and to a lesser degree the Rpi) is time-to-market. An embedded system used to take 3 to 4 years to develop from conception mass-pro. With the BBB, we were able to do an entire embedded system, From absolute zero to mass-pro in 18 months. The case took longer to design than the embedded hardware!
I wish I had a good sig, but all the good ones are copyrighted
The new BBB version is popular and hard to find but the extra flash is nice.
https://specialcomp.com/beaglebone/index.htm
How many do you want? These are not from Beagleboard, and are not Beagleboard certified, but they can be had in almost unlimited quantities and work as advertised. They are manufactured to the open specs. They are being manufactured by a third party in China in vast quantities for commercial use. They cost more than the official versions mostly because you can actually get your hands on them from these guys in nearly limitless quantities (up to 100+ they have in stock to ship right now, more than that might take a day or two, and order for a couple thousand might actually take them a week, but i doubt it) Rumor has it they are moving more than 100k units/month
I wish I had a good sig, but all the good ones are copyrighted
If you are building a project which requires some special hardware then you don't have to waste time porting a driver from x86 to ARM, MIPS, Sparc, etc.
In my experience, most embedded machines these days are ARM, and finding x86 ports is more of a challenge. Between the explosion of ARM based cell phones, and the Rpi/BBB, x86 is becoming less and less relevant (and with it MS/Intel)
Active android development is almost all ARM, and x86 is ported as an afterthought.
I wish I had a good sig, but all the good ones are copyrighted
MMC reliability is fine.
It is absolutely not fine. Some MMC devices that are better than others. The system plays a huge factor, the software configuration matched with the MMC can make a difference. Component skew and differences in implementation between chips and chip revs are huge factors. If you really think that MMC is reliable, then I have some swampland.... MMC for embedded is a bit of a mess.
Embedded devices are install and forget machines. It doesn't matter much who supports them or doesn't once they are in the field.
My customers would differ that support doesn't matter. For what I build, I have to design with a 5 years horizon. That includes new marketing requirements and field support among other things...
But that is rather tangential to my point... Because the HW development has stopped, is very possible that TI won't be writing drivers for OMAP devices much longer. Which means, as the Linux kernel progress, drive development may not. Looking 5 years down the line, this could get tricky, particularly considering TI's management of its own code base.
Not to say that BB is not a fine development platform. It is just not something I would pick up for a new design. This is coming from someone who has 3 Beagle Bones sitting his desk.
As far as unit availability, Special Computing is ramping up production and already surpassed all the other BBB manufacturers combined. Last I heard, they were over 120k per month production, the vast majority of which is going into mass-production doo-hickeys from various manufacturers.
Interesting. I can't say that I know of any products that are shipping Beagle Bones. Most that use the 335x will use embedded modules (usuall DIMMs) with NAND, from manufactures that assure reliability, usually at a much lower price point. The Beagle Bone itself is a reference design, and I've seen a few cases where the circuit is just put down on a larger board with other stuff.
I'm sure that TI will be making 335x until people stop buying them. TI generally doesn't EOL parts like that. But putting whole BBBs in products seems a bit risky for a lot of other reasons.
Citation please.
The vast majority of cell phone makers use ARM based processors, and with Smartphones, battery life is a gigantic deal breaker. This would suggest to me that large numbers of design engineers concluded that ARM was at the very least "good enough" in power efficiency to allow its use.
This leads me to conclude that either ARM is better in this department, or that the difference is trivial enough that other trade offs make it worth it.
I wish I had a good sig, but all the good ones are copyrighted
I'm sure that TI will be making 335x until people stop buying them. TI generally doesn't EOL parts like that. But putting whole BBBs in products seems a bit risky for a lot of other reasons.
As opposed to undertaking to spin your own processor board? The BBB is a complete functional platform that is cost competitive for all but the largest quantities, and shows all the signs of being at the beginning of its life-cycle. Its undergone 2 minor revisions in 12 months, and there are several active design communities. The list of peripherals is growing by leaps and bounds. Lastly, by Beagleboard.orgs own accounting, the demand far exceeds the supply, and people are clearly using them as more than just a prototyping platform.
It all goes back to time to market. These things allow even relatively inexperienced users to build off a powerful platform and create good-enough-to-market products that can be ready to ship in a fraction of the time. Dev houses using the BBB and RPi as base systems are going to eat everyones lunch. It is the comoditization of embedded hardware design. It was bound to happen sooner or later. the RPi started it, but the BBB brought enough IO channels to really get the ball rolling..
I wish I had a good sig, but all the good ones are copyrighted
One of the cool things about the Beaglebone Black and the Raspberry Pi is that they've got GPUs powerful enough to drive an HDMI display, and give you 1080p graphics if you make sure there's enough electric power and not too much interference (my RPi was a bit wonky on the last display I tried), so you can drive a decent monitor for programming or use it as a TV video player.
But if you don't need that, because you're doing X windows or just doing a bunch of ssh terminal sessions, you've got more potential choices, possibly lower power, possibly more memory. It depends a lot on what the target platform for your development is going to be, and on how much effort you plan to spend getting things set up, compared to just taking the BBB or RPi and calling it a day.
Bill Stewart
New Fast-Compression-only CPR http://preview.tinyurl.com/dy575ks
"Rockchip RK3288 is coming, should be affordable, and the company is spending a lot of effort making sure it's well supported in mainline."
Citation needed. Mind supporting your statement with a link? AFAIK RK has one of the poorest FOSS support among Chinese SOC makers (compared to Allwinner and Amlogic). The RK source code floating in the net tend to be "leaks" or in any case releases that aren't official supported by the company. Also for a long time there was no official way to flash firmware onto the embedded flash storage of an Android device unless you use RK's Windows only firmware tool. (This changed recently with the appearance of a binary only Linux upgrade tool.) Opensource RK flash tools are quite limited in that they are unable to partition the flash storage or to change the bootloader, needed when upgrading between incompatible Android versions or loading desktop Linux.
But you see you are in the Windows CE embedded niche. Your vision is clouded.
I'm not in a "windows CE embedded" niche and the grandparent poster is right.
It's not an issue with the target. It's an issue with the platform(s) supported by the development tool vendors and the chip manufacturers.
For instance: With Bluetooth 4.0 / Bluetooth Low Energy (BLE), two of the premier system-on-a-chip product families are from Texas Instruments and Nordic Semiconductors.
TI developed their software in IAR's proprietary development environment and only supports that. Their bluetooth stack is only distributed in object form - for IAR's tools - with a "no reverse engineering" and "no linking to open source (which might force disclosure)". IAR, in turn, doesn't support anything but Windows. (You can't even use Wine: The IAR license manager needs real Windows to install, and the CC Debugger dongle, for burning the chip and necessary for hooking the debugger to the hardware debugging module, keeps important parts of its functionality in a closed-source windows driver.) IAR is about $3,000/seat after the one-month free evaluation (though they also allow a perpetual evaluation that is size-crippled, and too small to run the stack.)
The TI system-on-a-chip comes with some very good and very cheap hardware development platforms. (The CC Debugger dongle, the USB/BLE-radio stick, and the Sensor Tag (a battery-powered BLE device with buttons, magnetometer, gyro, barometer, humidity sensor, ambient temp sensor, and IR remote temp sensor), go for $49 for each of the three kits.) Their source code is free-as-in-beer, even when built into a commercial product, and gives you the whole infrastructure on which to build your app. But if you want to program these chips you either do it on Windows with the pricey IAR tools or build your own toolset and program the "bare metal", discarding ALL TI's code and writing a radio stack and OS from scratch.
Nordic is similar: Their license lets you reverse-engineer and modify their code (at your own risk). But their development platforms are built by Segger and the Windows-only development kit comes with TWO licenses. The Segger license (under German law), for the burner dongle and other debug infrastruture, not only has a no-reverse-engineering clause but also an anti-compete: Use their tools (even for comparison while developing your own) and you've signed away your right to EVER develop either anything similar or any product that competes with any of theirs.
So until the chip makers wise up (or are out-competed by ones who have), or some open-source people build something from scratch, with no help from them, to support their products, you're either stuck on Windows or stuck violating contracts and coming afoul of the law.
Bantam Dominique roosters crow a four-note song. Once you've heard it as "Happy BIRTHday" you can't NOT hear it that way
Dev houses using the BBB and RPi as base systems are going to eat everyones lunch. It is the comoditization of embedded hardware design. It was bound to happen sooner or later. the RPi started it, but the BBB brought enough IO channels to really get the ball rolling..
The comoditization of embedded hardware designed happened over a decade ago. Have you heard of Kontron? PC104? Com Express? You seem to have missed the 2000's.... this is nothing new. These days it is amazing what is put on a DIMM module - far more than the Beagle Bone and Pi toys provide and at far lower unit prices.
I heard the phrase "People using tool / platform / programming language / development process / telescopic fork are going to eat everyone's lunch." at least three times a year for the past 15 years. It is good evangelist speak, but rarely does it translate to reality... When it does, usually some other high barrier of entry is involved - a large amount of capital, good connections, or some wicked smart technical genius. Nobody eats anybody's lunch when it is so easy that any inexperienced person can do it.
And those who put hobbiest toys booting off MMC devices into products for sale, because they can't figure out how to port to a DIMM module or spin a board with a reference design, will be lucky to score on a dumpster dive.
The comoditization of embedded hardware designed happened over a decade ago. Have you heard of Kontron? PC104? Com Express? You seem to have missed the 2000's.... this is nothing new. These days it is amazing what is put on a DIMM module - far more than the Beagle Bone and Pi toys provide and at far lower unit prices.
The commoditization of these designs depended on several factors happening all at once.
First, processor power had to pass a threshold. Having a processor that is fast enough to handle an embedded system running a custom operating system (or more likely just a simple set of interrupt handlers and startup code) is a lot slower than the processor needed to run a full fledged kernel like modern Linux. The custom Software saves huge amounts of unit-cost, at the cost of time-to-market.
The second item that was needed was price point. Even $45 per unit is still high for the BBB black, but the RPi at $35 is pretty close. Even the BBB is close enough to work with.
Third, mainstream OS support. This is critical, because it turned a legion of higher-level programmers into embedded programmers. This, again, helps to reduce TTM
Last, the availability and maturity of simple to wire peripherals, and the availability of software libraries for using these peripherals. This is probably the most key part because you now have the ability to buy a modular set of components, and wire them all together with very little, if any, electronics knowledge and get a working system. Again, it all drives TTM, and in todays world TTM is everything. Just ask Microsoft how their tablet and phone business' are doing to find out how important TTM really is.
I wish I had a good sig, but all the good ones are copyrighted
What about consumer electronics (washing machines, microwaves, smartphones, routers, AP's) or critical industrial systems
where I would image RTOS to be necessary (VxWorks, QNX) ? I can't imagine Windows CE dominating in those spaces.
You seem to be missing something here.
We're not talking about the target. We're talking anout the platform on which the program for the target is built.
This is where the editors, version control system, compilers, linkers, profilers, prom burners, in-circuit emulators, etc. are running. The operating system here has no more to do with the operating system on the target (other than supporting the tools that build it) than the operating system on the mainframe where Gates and Allen developed Altair BASIC had to do with the BASIC language or the guts of their interpreter.
Bantam Dominique roosters crow a four-note song. Once you've heard it as "Happy BIRTHday" you can't NOT hear it that way