mirror of
				https://github.com/FreeRTOS/FreeRTOS-Kernel.git
				synced 2025-11-04 02:32:42 -05:00 
			
		
		
		
	Replace asm wrappers to interrupt handlers with functions that use the interrupt attribute.
This commit is contained in:
		
							parent
							
								
									c92128869d
								
							
						
					
					
						commit
						66c1a9b76d
					
				
					 2 changed files with 3 additions and 11 deletions
				
			
		| 
						 | 
				
			
			@ -98,7 +98,7 @@ void vSoftwareInterruptISR( void ) __attribute__((naked));
 | 
			
		|||
/*
 | 
			
		||||
 * The tick interrupt handler.
 | 
			
		||||
 */
 | 
			
		||||
void vTickISR( void ) __attribute__((naked));
 | 
			
		||||
void vTickISR( void ) __attribute__((interrupt));
 | 
			
		||||
 | 
			
		||||
/*-----------------------------------------------------------*/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -336,9 +336,8 @@ void vSoftwareInterruptISR( void )
 | 
			
		|||
 | 
			
		||||
void vTickISR( void )
 | 
			
		||||
{
 | 
			
		||||
	/* This is a naked function.  This macro saves registers then re-enables
 | 
			
		||||
	interrupts. */
 | 
			
		||||
	portENTER_INTERRUPT();
 | 
			
		||||
	/* Re-enabled interrupts. */
 | 
			
		||||
	__asm volatile( "SETPSW	I" );
 | 
			
		||||
	
 | 
			
		||||
	/* Increment the tick, and perform any processing the new tick value
 | 
			
		||||
	necessitates.  Ensure IPL is at the max syscall value first. */
 | 
			
		||||
| 
						 | 
				
			
			@ -352,9 +351,6 @@ void vTickISR( void )
 | 
			
		|||
	#if( configUSE_PREEMPTION == 1 )
 | 
			
		||||
		taskYIELD();
 | 
			
		||||
	#endif
 | 
			
		||||
	
 | 
			
		||||
	/* Retore registers, then return. */
 | 
			
		||||
	portEXIT_INTERRUPT();
 | 
			
		||||
}
 | 
			
		||||
/*-----------------------------------------------------------*/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -122,10 +122,6 @@ void vPortSetIPL( unsigned long ulNewIPL ) __attribute__((naked));
 | 
			
		|||
#define portSET_INTERRUPT_MASK_FROM_ISR() ulPortGetIPL(); portDISABLE_INTERRUPTS()
 | 
			
		||||
#define portCLEAR_INTERRUPT_MASK_FROM_ISR( uxSavedInterruptStatus ) vPortSetIPL( uxSavedInterruptStatus )
 | 
			
		||||
 | 
			
		||||
#define portENTER_INTERRUPT() __asm volatile( "PUSHM	R1-R15 \t\n SETPSW	I" )
 | 
			
		||||
#define portEXIT_INTERRUPT() __asm volatile( "POPM R1-R15 \t\n  RTE" )
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/*-----------------------------------------------------------*/
 | 
			
		||||
 | 
			
		||||
/* Task function macros as described on the FreeRTOS.org WEB site. */
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue