I've been using the AVR and the ARM toolchains for a while now. It seems to me, the AVR toolchain is very much like the MSP toolchain, and what some people are asking for is very much like the ARM toolchain.
I'd like to point out before anyone commits a lot of time is that both ways have their gripes. While the beginner has to wait for patches to get new device support in the AVR/currentMSP, the beginner is pretty much lost on the ARM model - nearly everyone has seen headers and makefiles, but the first time I saw a link script, I was like, what the *(&$@ is this. And while a link script *can* be made understandable, all the ones floating around the ARM world are a nasty hodgepodge that everyone appears to be constantly borrowing from everyone else and tweaking. Now add to this the necessity of rewriting your startup code (crt0.S) for every link script (again, could probably be fixed by good coding practice, but it hasn't been) and it's decidedly "experts only". I'm not sure that we want to reinforce that philosophy. I like things that are easy to start into, even if they are hard to master. Now the flip side is why I hate using windows - it's so dumbed down, if it doesn't do something 'out-of-the-box' you are pretty much stuck. So it seems to me, the current setup is not a bad one, if there is enough transparency for an expert to dig into the distribution, set the compiler for a generic family, instead of a device, and tweak a link script. I think this is possible on the AVR toolchain, and someone alluded to doing it with the MSP toolchain already in this thread - maybe it just needs to be better documented? Best, Steve
