For problem 1, the commit comments imply my attempt to orthogonalize the
attributes went too far: critical and reentrant can't be combined with naked
because they require prologue/epilogue code, but I thought they might be
useful on an interrupt without realizing I'd already disallowed that
combination too. I'll look into remove that restriction (SF 3257021).
FWIW, "naked" is a rather poorly defined construct, as the original
implementation would allow you to write code that would silently overwrite
parts of the stack. "task" (documented only in the mailing list archives)
is equivalent to naked except that it allocates a stack frame when the
function requires one, and is what main() will be given when I deal with
3207046.
I'm curious, though, why your interrupt routine needs control of the order
of register saves. Does FreeRTOS inspect the stack to extract register
values for some reason?
For problem 2 my sole suggestion is to use msp430-objdump to display the
interrupt vector, and check that all values are valid and don't end up at
zero. (Unless you end up at zero as a consequence of hitting your naked
ISR, in which case maybe I had some other reason in mind for ruling out that
combination. In general, it's rather dangerous to assume that you can know
what the compiler did to your code well enough to generate correct prologue
and epilogue code.)
Peter
On Tue, Mar 29, 2011 at 1:54 AM, Peter Jansen <pwjan...@yahoo.com> wrote:
> Hi Peter,
>
> I have managed to get it to compile on Ubuntu 10.10 without problems.
>
> I have some issues with a FreeRTOS project I have.
>
> 1. I need a naked interrupt routine, bacause the tic routine is an
> interrupt,
> and must push and pop the regs in a known way. I removed the condition to
> stop
> this, in msp430-functions.c no problem.
>
> 2. For some reason which I have yet to find, the processor gets to location
> 0x0000 and stops there.
>
>
> I'm using msp430-5438
>
> I like the clean up around crt0.S.
>
> Regards,
>
> Peter Jansen
>
>
>
> ----- Original Message ----
> > From: Peter Bigot <pabi...@users.sourceforge.net>
> > To: GCC for MSP430 - http://mspgcc.sf.net <
> mspgcc-users@lists.sourceforge.net>
> > Sent: Wed, 23 March, 2011 9:41:20 AM
> > Subject: [Mspgcc-users] preview of uniarch mspgcc for experienced
> developers
> >
> > Time to kick this fledgling out of the nest and see if it flies or
> becomes
> > catfood.
> >
> > The uniarch release of mspgcc is now available for alpha testing by
> experts.
> > Not all changes are in place, but most user-visible ones should be
> stable.
> > I've successfully built TinyOS programs with this using the current
> TinyOS
> > trunk off Google Code; you'll get a warning about referencing the
> deprecated
> > <io.h> but otherwise it seems fine.
> >
> > Note: This version should support every one of the 290+ chips in the TI
> > MSP430 product line, has a little bit of cleanup including unit tests
> for
> > function attributes and builtins, and uses the improved optimizations in
> gcc
> > 4.5. All the other enhancements, including 20-bit support, are yet to
> come.
> > Patience is a virtue.
> >
> > By "experts" I mean that for now you need minimal fluency with git, and
> > should follow the instructions at:
> >
> http://sourceforge.net/apps/mediawiki/mspgcc/index.php?title=Devel:UniarchGit
> >
> > If you discover errors in that description, please let me know, but I
> won't
> > be answering general questions about how to use git or to build the
> tools.
> > Be aware that the full set of repositories is about 800MB (gcc alone is
> > 571MB) to download; altogether you'll need about 2GB for the unpacked
> > sources, a build area, and installation.
> >
> > I am not imposing a version numbering scheme at this time. After it's
> clear
> > somebody other than me can make this work, I'll provide patches against
> > upstream releases (binutils 2.21 and gcc 4.5.2) and a little more
> packaging
> > support in msp430mcu so people can build things without git. Each set
> of
> > patches that are expected to work together will be placed in the mspgcc
> > repository and will be assigned a version number based on the release
> date.
> >
> > Please DO NOT package any of these files for distribution. My intent is
> to
> > use releases based on gcc 4.5.2 to work out the kinks. I do not
> guarantee
> > there won't be changes in object file formats, interface, or anything
> else.
> > Once everything looks good from the msp430 side, I'll update the
> development
> > branches to be based on gcc 4.6.0, which will be the initial stable
> release
> > for uniarch, and the basis of all future enhancements.
> >
> > I'll be updating various documentation, both on the wiki and in the
> user's
> > manual. The users manual in particular is way out of date. Note that I
> > favor explicit use of builtins and GCC attributes, rather than the
> syntactic
> > sugar supplied by <iomacros.h> and <signal.h>. When you find that old
> code
> > doesn't compile, consider that a bug, but whether it's fixed will depend
> on
> > circumstances. Everything that I broke intentionally has a "new,
> improved"
> > way of being done.
> >
> https://sourceforge.net/apps/mediawiki/mspgcc/index.php?title=Devel:Uniarch#User_Visible_Changesis
> >s
> > one place where I'm putting a list of those changes.
> >
> > When you run into problems, file a tracker ticket on the mspgcc (NOT
> > mspgcc4) SourceForge tracker, or email this list or me directly.
> >
> > Peter
> >
>
>
>
>
>
> ------------------------------------------------------------------------------
> Enable your software for Intel(R) Active Management Technology to meet the
> growing manageability and security demands of your customers. Businesses
> are taking advantage of Intel(R) vPro (TM) technology - will your software
> be a part of the solution? Download the Intel(R) Manageability Checker
> today! http://p.sf.net/sfu/intel-dev2devmar
> _______________________________________________
> Mspgcc-users mailing list
> Mspgcc-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/mspgcc-users
>
------------------------------------------------------------------------------
Enable your software for Intel(R) Active Management Technology to meet the
growing manageability and security demands of your customers. Businesses
are taking advantage of Intel(R) vPro (TM) technology - will your software
be a part of the solution? Download the Intel(R) Manageability Checker
today! http://p.sf.net/sfu/intel-dev2devmar
_______________________________________________
Mspgcc-users mailing list
Mspgcc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mspgcc-users