patchAVR C Runtime Library - Patches: patch #6805, Numeric interrupt vectors

 
 

You are not allowed to post comments on this tracker with your current authentication level.

patch #6805: Numeric interrupt vectors

Submitter:  Ron Kreymborg <ronkrem>
Submitted:  Sun 12 Apr 2009 05:26:05 AM UTC
   
 
Category:  None Priority:  5 - Normal
Status:  None Privacy:  Public
Assigned to:  aesok Open/Closed:  Open

Mon 13 Apr 2009 01:16:53 AM UTC, comment #2: 

Good idea - a more complete implementation that mine (which was based on Marek's original). I assume it will use the number for the vector and not the "handler_name" (the C++ requirement).

Just curious - what is an example of (2)?

Ron

Ron Kreymborg <ronkrem>
Sun 12 Apr 2009 02:10:51 PM UTC, comment #1: 

The patch for the GCC is not complete.
1. No numeric argument to the 'interrupt' attribute is implemented.
2. Not possible use one interrupt handler for some interrupt vectors.

I propose to implement the interface for interrupt handler functions as:

_attribute_ ((vectors(N1[, N2[, ...]]), [signal, interrupt, nmi, naked]))
void handler_mame (void);

The 'vectors' attribute specify interrupt vector numbers for handler function.

The 'signal', 'interrupt', 'nmi' and 'naked' attributes specify type of handler function. Need use only one. The default attribute is  'signal'.

Anatoly.

Anatoly Sokolov <aesok>
Group administrator
Sun 12 Apr 2009 05:26:05 AM UTC, original submission:  

This patch allows a C++ interrupt handler name to be represented by a number, and while the name will be mangled as usual, the number survives for later linking. The patch provides for an optional numeric argument to the signal function.

An interrupt function prototype using this system for the same USART0 receiver interrupt looks like:

void IntName(void) _attribute_ ((signal(18), __INTR_ATTRS));

Ron Kreymborg <ronkrem>

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attached Files
file #17905:  ClassInterrupts2.zip added by ronkrem (57KiB - application/x-zip-compressed - Patches + doco + simple test)

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by aesok (Posted a comment)
  • -email is unavailable- added by ronkrem (Submitted the item)
  • -email is unavailable- added by ronkrem
  •  

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

     

    Follow 3 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2009-10-11 aesok Assigned toNone aesok
    2009-04-12 ronkrem Attached File- Added ClassInterrupts2.zip, #17905
        Carbon-Copy- Added -email is unavailable-

    Back to the top

    Powered by Savane 3.13-f8d8.
    Corresponding source code