| > operates on more than just something like the toy ARM Thumb instruction set This is about the most common instruction set in common embedded use in the world. IMO not too toyish. > Especially if it, both a hardware accommodating and software accommodating development environment, I'm a bit confused as to your point-- you seem to be simultaneously arguing for "more capabilities" but "smaller computer". If you're saying "more integrated development" -- and mean specifically self-hosting-- the $1.75 microcontroller running in there is capable of being an 80's era DOS computer with all of those tools, etc, self-hosted. Playing with this is on my todo list for the luls. If you just want open-source development, GNU-arm-embedded is built on eclipse and gcc. If you're saying smaller computers: STM8, 8051, etc, are easy, too. But there's really not a whole lot of reason to design below the $5 point unless you're mass producing something. The developer's time is worth something, too. Having a big pile of RAM to not even think about putting things on stack, etc, is nice. If you're saying "free as in freedom" (you were responding to someone making a cost argument with the word "free") -- you can go ICE40 and put any number of open source hardware computing designs on it, and control every bit. Indeed, I had a high school class just build microprocessors from scratch on this approach. |
But I do kinda need them to be expendable. So designs that are priced at less than $5 is kinda a requirement for me. Because I sincerely believe I'm stepping into new and unexplored territory. A lot of experiments will be done with this information technology system. Which means there needs to be a massively productive facility for having a swarm of microcontrollers. Hence, the need for turning any microcontroller encountered in the wild into a controlled and compliant robot brain for my heterogeneity of devices and home appliances.
I don't mind thinking about how to not bust open a stack that can only fit three variables on it or something. In comparison to the simple architecture which includes parsimonious memory modules or only two registers total, for example, what's complex will be the total assembly and combinations of Turing machine based codes made possible by teeny microcontrollers/computers doing simple things. Like receiving temperature levels and then relaying or sending packets of temperature or heat data to a server. Acquiring x86 instruction sets is definitely unnecessary here. Or, rather, I only need x86 code execution for not re-inventing things like WiFi. ARM or x86, for example, then, should be seen as just an imported (think Python) or included (think C) module.