Hi Peter,

naked functions do not even contain a return statement. After popping the 
registers from stack at the end of your ISR, you'll have to provide a RETI 
instruction.
The interrupt macro is defined as 
#define interrupt(x) void __attribute__((interrupt (x)))
It is sufficient to add the naked attribute and you'll get an ISR that neither 
does any register saving nor include any return instruction. It's then all up 
to you.

example (from my own multithreading handler):

interrupt(RTC_A_VECTOR) __attribute__((naked)) ThreadSwitchHandler (void){...}

JMGross


----- Ursprüngliche Nachricht -----
Von: Peter Jansen
An: GCC for MSP430 - http://mspgcc.sf.net
Gesendet am: 29 Mrz 2011 08:54:07
Betreff: Re: [Mspgcc-users] preview of uniarch mspgcc for experienced developers

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 <[email protected]>
> To: GCC for MSP430 - http://mspgcc.sf.net <[email protected]>
> 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
[email protected]
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
[email protected]
https://lists.sourceforge.net/lists/listinfo/mspgcc-users

Reply via email to