5 years ago you couldn't pick up a CM3 on a board with 100 pins of IO in a format ready to plug into a carrier board with io protection/filters/drivers. Nothing came close, really. I did look...
RTOS, absolutely not.
32 bit timers, why? Not really necessary. Wouldn't hurt, though.
Regards cost, it's negligible compared to all of the other components in the device and installation.
Availability is not looking good:
http://octopart.com/parts/search?q=LPC4337
There are a ton of cheap (sub $30) Arm dev board on ebay that could work. Ofc you need to do an extension board, no big deal.
The design goal is a single chip solution. Any networking on the card outside of simple peripherals devices on spi/i2c is not acceptable. I've not seen such a beast provided for cheap, or at all.
Good code is portable anyway. No big deal.
As much as I fully support extensive lib use (in a minimal way) in any PC app, I'm not sure external dependencies should be a part of something so critical. I want absolute control of the entire code base. Nothing less will satisfy me.
You might find this disturbing, or even backward, but I am specifically interested in not having people help with the firmware. Only under specific conditions, which are under development right now, will this be happening. When Linux crashes, I curse. When some infinitely merged code attached to your engine takes a dive, you do more than curse. You walk away. Look at all the unhappy customers of MS with blown engines from a few of their bugs.
The S12X is clearly good/fast enough to do the job, but I fear that coding on it must be a pain in the ass
Not really, no. You're wrong about xgate causing non-portable code. In fact, the fact that Sean up and switched from my output stuff to his xg output stuff speaks volumes about how little that impacts portability. The memory management stuff was nailed long ago and is a non-issue, it was only ever an issue in terms of understanding it, anyway.
The trouble is, it's NOT only your point of view. It's every know-it-all and his dog's point of view :-) You raise some solid points, and I'm totally aware of all of them, however none of them matter.
CPU power is not a hold up here. Dave was a hold up here. He's mostly gone, though. Jared was a hold up here. Marcos was a hold up here. All of these people did some great work, and threw spanners in the works in various ways in the process. Hence I only work with committed people now. Whether it's hw, sw, or fw hacks, I don't want fly-by-nighters anymore. They do way more harm than good. Whoa, I got off topic there.
Back to the main points:
1) 5 years ago it was an excellent choice, and the ONLY one that met ALL of my
requirements. 5 years on, things have changed.
2) Moving to another platform right now would be a huge backward step, not a small step forward as it appears from a tunnel-vision point of view.
A huge step backward for the FreeEMS project and the general DIYEFI.org movement.
If/when we run into actual limitations we can look at doing a FreeEMS-next-gen on a different platform. Until then, there are engines to run, technology/solutions to develop, market share to steal and community loyalty to build (this is the hardest part of the battle, believe it or not). Anything that gets in the way of that is not welcome.
Excuse me if it sounds defensive, it's not intended, and I don't feel that way. When I see these posts I just sigh and think of this thread:
viewtopic.php?f=41&t=1722
Fred.