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