On 2007-11-14, Steve Franks <[email protected]> wrote:

> 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,

I haven't used the AVR port, but I beleive you're right.

> and what some people are asking for is very much like the ARM
> toolchain.

Pretty much.

> 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.

That's what I think we need: A way to tell the compiler to
generate code for a "generic" MSP430, and a linker-script
template or two.  The way that the include files work for the
peripherals is fairly straight-forward, and it looks like the
user can fairly easily define which of the common peripherals
are present (if a peripheral is present, it's always at the
same address, right?).

There are a few tricky spots (interrupt enable and interrupt
status) where the same bit is present in multiple models but is
located in a different spot and/or a different register.

> 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?

I couldn't find the mmcu switch value for generic parts...

-- 
Grant Edwards                   grante             Yow! ... My pants just went
                                  at               on a wild rampage through a
                               visi.com            Long Island Bowling Alley!!


Reply via email to