mirror of
https://github.com/FreeRTOS/FreeRTOS-Kernel.git
synced 2026-10-09 23:53:04 -04:00
Merge branch 'FreeRTOS:main' into typo/xTaskCheckForTimeOut
This commit is contained in:
commit
166b6fb552
6 changed files with 35 additions and 21 deletions
|
|
@ -286,9 +286,17 @@
|
||||||
|
|
||||||
#else /* portUSING_MPU_WRAPPERS */
|
#else /* portUSING_MPU_WRAPPERS */
|
||||||
|
|
||||||
#define PRIVILEGED_FUNCTION
|
#ifndef PRIVILEGED_FUNCTION
|
||||||
#define PRIVILEGED_DATA
|
#define PRIVILEGED_FUNCTION
|
||||||
#define FREERTOS_SYSTEM_CALL
|
#endif
|
||||||
|
|
||||||
|
#ifndef PRIVILEGED_DATA
|
||||||
|
#define PRIVILEGED_DATA
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef FREERTOS_SYSTEM_CALL
|
||||||
|
#define FREERTOS_SYSTEM_CALL
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif /* portUSING_MPU_WRAPPERS */
|
#endif /* portUSING_MPU_WRAPPERS */
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -96,12 +96,14 @@ typedef void ( * portISR_t )( void );
|
||||||
#define portPERIPHERALS_START_ADDRESS 0x40000000UL
|
#define portPERIPHERALS_START_ADDRESS 0x40000000UL
|
||||||
#define portPERIPHERALS_END_ADDRESS 0x5FFFFFFFUL
|
#define portPERIPHERALS_END_ADDRESS 0x5FFFFFFFUL
|
||||||
|
|
||||||
/* Constants required to access and manipulate the SysTick. */
|
/* Constants required to access and manipulate the SysTick and other FreeRTOS
|
||||||
|
* interrupts. */
|
||||||
#define portNVIC_SYSTICK_INT ( 0x00000002UL )
|
#define portNVIC_SYSTICK_INT ( 0x00000002UL )
|
||||||
#define portNVIC_SYSTICK_ENABLE ( 0x00000001UL )
|
#define portNVIC_SYSTICK_ENABLE ( 0x00000001UL )
|
||||||
#define portMIN_INTERRUPT_PRIORITY ( 255UL )
|
#define portMIN_INTERRUPT_PRIORITY ( 255UL )
|
||||||
#define portNVIC_PENDSV_PRI ( ( ( uint32_t ) portMIN_INTERRUPT_PRIORITY ) << 16UL )
|
#define portNVIC_PENDSV_PRI ( ( ( uint32_t ) portMIN_INTERRUPT_PRIORITY ) << 16UL )
|
||||||
#define portNVIC_SYSTICK_PRI ( ( ( uint32_t ) portMIN_INTERRUPT_PRIORITY ) << 24UL )
|
#define portNVIC_SYSTICK_PRI ( ( ( uint32_t ) portMIN_INTERRUPT_PRIORITY ) << 24UL )
|
||||||
|
#define portNVIC_SVC_PRI ( ( ( uint32_t ) configMAX_SYSCALL_INTERRUPT_PRIORITY - 1UL ) << 24UL )
|
||||||
|
|
||||||
/* Constants required to set up the initial stack. */
|
/* Constants required to set up the initial stack. */
|
||||||
#define portINITIAL_XPSR ( 0x01000000 )
|
#define portINITIAL_XPSR ( 0x01000000 )
|
||||||
|
|
@ -877,12 +879,11 @@ BaseType_t xPortStartScheduler( void )
|
||||||
}
|
}
|
||||||
#endif /* configASSERT_DEFINED */
|
#endif /* configASSERT_DEFINED */
|
||||||
|
|
||||||
/* Make PendSV and SysTick the lowest priority interrupts, and make SVCall
|
/* Make PendSV and SysTick the lowest priority interrupts, and configure
|
||||||
* the highest priority. */
|
* SVCall for sufficient preemption priority. */
|
||||||
portNVIC_SHPR3_REG |= portNVIC_PENDSV_PRI;
|
portNVIC_SHPR3_REG |= portNVIC_PENDSV_PRI;
|
||||||
portNVIC_SHPR3_REG |= portNVIC_SYSTICK_PRI;
|
portNVIC_SHPR3_REG |= portNVIC_SYSTICK_PRI;
|
||||||
portNVIC_SHPR2_REG = 0;
|
portNVIC_SHPR2_REG = portNVIC_SVC_PRI;
|
||||||
|
|
||||||
|
|
||||||
/* Configure the regions in the MPU that are common to all tasks. */
|
/* Configure the regions in the MPU that are common to all tasks. */
|
||||||
prvSetupMPU();
|
prvSetupMPU();
|
||||||
|
|
|
||||||
|
|
@ -106,12 +106,14 @@ typedef void ( * portISR_t )( void );
|
||||||
#define portPERIPHERALS_START_ADDRESS 0x40000000UL
|
#define portPERIPHERALS_START_ADDRESS 0x40000000UL
|
||||||
#define portPERIPHERALS_END_ADDRESS 0x5FFFFFFFUL
|
#define portPERIPHERALS_END_ADDRESS 0x5FFFFFFFUL
|
||||||
|
|
||||||
/* Constants required to access and manipulate the SysTick. */
|
/* Constants required to access and manipulate the SysTick and other FreeRTOS
|
||||||
|
* interrupts. */
|
||||||
#define portNVIC_SYSTICK_INT ( 0x00000002UL )
|
#define portNVIC_SYSTICK_INT ( 0x00000002UL )
|
||||||
#define portNVIC_SYSTICK_ENABLE ( 0x00000001UL )
|
#define portNVIC_SYSTICK_ENABLE ( 0x00000001UL )
|
||||||
#define portMIN_INTERRUPT_PRIORITY ( 255UL )
|
#define portMIN_INTERRUPT_PRIORITY ( 255UL )
|
||||||
#define portNVIC_PENDSV_PRI ( ( ( uint32_t ) portMIN_INTERRUPT_PRIORITY ) << 16UL )
|
#define portNVIC_PENDSV_PRI ( ( ( uint32_t ) portMIN_INTERRUPT_PRIORITY ) << 16UL )
|
||||||
#define portNVIC_SYSTICK_PRI ( ( ( uint32_t ) portMIN_INTERRUPT_PRIORITY ) << 24UL )
|
#define portNVIC_SYSTICK_PRI ( ( ( uint32_t ) portMIN_INTERRUPT_PRIORITY ) << 24UL )
|
||||||
|
#define portNVIC_SVC_PRI ( ( ( uint32_t ) configMAX_SYSCALL_INTERRUPT_PRIORITY - 1UL ) << 24UL )
|
||||||
|
|
||||||
/* Constants required to manipulate the VFP. */
|
/* Constants required to manipulate the VFP. */
|
||||||
#define portFPCCR ( ( volatile uint32_t * ) 0xe000ef34UL ) /* Floating point context control register. */
|
#define portFPCCR ( ( volatile uint32_t * ) 0xe000ef34UL ) /* Floating point context control register. */
|
||||||
|
|
@ -965,11 +967,11 @@ BaseType_t xPortStartScheduler( void )
|
||||||
}
|
}
|
||||||
#endif /* configASSERT_DEFINED */
|
#endif /* configASSERT_DEFINED */
|
||||||
|
|
||||||
/* Make PendSV and SysTick the lowest priority interrupts, and make SVCall
|
/* Make PendSV and SysTick the lowest priority interrupts, and configure
|
||||||
* the highest priority. */
|
* SVCall for sufficient preemption priority. */
|
||||||
portNVIC_SHPR3_REG |= portNVIC_PENDSV_PRI;
|
portNVIC_SHPR3_REG |= portNVIC_PENDSV_PRI;
|
||||||
portNVIC_SHPR3_REG |= portNVIC_SYSTICK_PRI;
|
portNVIC_SHPR3_REG |= portNVIC_SYSTICK_PRI;
|
||||||
portNVIC_SHPR2_REG = 0;
|
portNVIC_SHPR2_REG = portNVIC_SVC_PRI;
|
||||||
|
|
||||||
/* Configure the regions in the MPU that are common to all tasks. */
|
/* Configure the regions in the MPU that are common to all tasks. */
|
||||||
prvSetupMPU();
|
prvSetupMPU();
|
||||||
|
|
|
||||||
|
|
@ -120,9 +120,11 @@ typedef void ( * portISR_t )( void );
|
||||||
#define portCORTEX_M7_r0p1_ID ( 0x410FC271UL )
|
#define portCORTEX_M7_r0p1_ID ( 0x410FC271UL )
|
||||||
#define portCORTEX_M7_r0p0_ID ( 0x410FC270UL )
|
#define portCORTEX_M7_r0p0_ID ( 0x410FC270UL )
|
||||||
|
|
||||||
|
/* Constants to manipulate FreeRTOS interrupt priorities. */
|
||||||
#define portMIN_INTERRUPT_PRIORITY ( 255UL )
|
#define portMIN_INTERRUPT_PRIORITY ( 255UL )
|
||||||
#define portNVIC_PENDSV_PRI ( ( ( uint32_t ) portMIN_INTERRUPT_PRIORITY ) << 16UL )
|
#define portNVIC_PENDSV_PRI ( ( ( uint32_t ) portMIN_INTERRUPT_PRIORITY ) << 16UL )
|
||||||
#define portNVIC_SYSTICK_PRI ( ( ( uint32_t ) portMIN_INTERRUPT_PRIORITY ) << 24UL )
|
#define portNVIC_SYSTICK_PRI ( ( ( uint32_t ) portMIN_INTERRUPT_PRIORITY ) << 24UL )
|
||||||
|
#define portNVIC_SVC_PRI ( ( ( uint32_t ) configMAX_SYSCALL_INTERRUPT_PRIORITY - 1UL ) << 24UL )
|
||||||
|
|
||||||
/* Constants used to check the installation of the FreeRTOS interrupt handlers. */
|
/* Constants used to check the installation of the FreeRTOS interrupt handlers. */
|
||||||
#define portSCB_VTOR_REG ( *( ( portISR_t ** ) 0xE000ED08 ) )
|
#define portSCB_VTOR_REG ( *( ( portISR_t ** ) 0xE000ED08 ) )
|
||||||
|
|
@ -862,11 +864,11 @@ BaseType_t xPortStartScheduler( void )
|
||||||
}
|
}
|
||||||
#endif /* configASSERT_DEFINED */
|
#endif /* configASSERT_DEFINED */
|
||||||
|
|
||||||
/* Make PendSV and SysTick the lowest priority interrupts, and make SVCall
|
/* Make PendSV and SysTick the lowest priority interrupts, and configure
|
||||||
* the highest priority. */
|
* SVCall for sufficient preemption priority. */
|
||||||
portNVIC_SHPR3_REG |= portNVIC_PENDSV_PRI;
|
portNVIC_SHPR3_REG |= portNVIC_PENDSV_PRI;
|
||||||
portNVIC_SHPR3_REG |= portNVIC_SYSTICK_PRI;
|
portNVIC_SHPR3_REG |= portNVIC_SYSTICK_PRI;
|
||||||
portNVIC_SHPR2_REG = 0;
|
portNVIC_SHPR2_REG = portNVIC_SVC_PRI;
|
||||||
|
|
||||||
/* Configure the regions in the MPU that are common to all tasks. */
|
/* Configure the regions in the MPU that are common to all tasks. */
|
||||||
prvSetupMPU();
|
prvSetupMPU();
|
||||||
|
|
|
||||||
|
|
@ -95,13 +95,15 @@ typedef void ( * portISR_t )( void );
|
||||||
#define portPERIPHERALS_START_ADDRESS 0x40000000UL
|
#define portPERIPHERALS_START_ADDRESS 0x40000000UL
|
||||||
#define portPERIPHERALS_END_ADDRESS 0x5FFFFFFFUL
|
#define portPERIPHERALS_END_ADDRESS 0x5FFFFFFFUL
|
||||||
|
|
||||||
/* Constants required to access and manipulate the SysTick. */
|
/* Constants required to access and manipulate the SysTick and other FreeRTOS
|
||||||
|
* interrupts. */
|
||||||
#define portNVIC_SYSTICK_CLK ( 0x00000004UL )
|
#define portNVIC_SYSTICK_CLK ( 0x00000004UL )
|
||||||
#define portNVIC_SYSTICK_INT ( 0x00000002UL )
|
#define portNVIC_SYSTICK_INT ( 0x00000002UL )
|
||||||
#define portNVIC_SYSTICK_ENABLE ( 0x00000001UL )
|
#define portNVIC_SYSTICK_ENABLE ( 0x00000001UL )
|
||||||
#define portMIN_INTERRUPT_PRIORITY ( 255UL )
|
#define portMIN_INTERRUPT_PRIORITY ( 255UL )
|
||||||
#define portNVIC_PENDSV_PRI ( ( ( uint32_t ) portMIN_INTERRUPT_PRIORITY ) << 16UL )
|
#define portNVIC_PENDSV_PRI ( ( ( uint32_t ) portMIN_INTERRUPT_PRIORITY ) << 16UL )
|
||||||
#define portNVIC_SYSTICK_PRI ( ( ( uint32_t ) portMIN_INTERRUPT_PRIORITY ) << 24UL )
|
#define portNVIC_SYSTICK_PRI ( ( ( uint32_t ) portMIN_INTERRUPT_PRIORITY ) << 24UL )
|
||||||
|
#define portNVIC_SVC_PRI ( ( ( uint32_t ) configMAX_SYSCALL_INTERRUPT_PRIORITY - 1UL ) << 24UL )
|
||||||
|
|
||||||
/* Constants required to manipulate the VFP. */
|
/* Constants required to manipulate the VFP. */
|
||||||
#define portFPCCR ( ( volatile uint32_t * ) 0xe000ef34UL ) /* Floating point context control register. */
|
#define portFPCCR ( ( volatile uint32_t * ) 0xe000ef34UL ) /* Floating point context control register. */
|
||||||
|
|
@ -966,12 +968,11 @@ BaseType_t xPortStartScheduler( void )
|
||||||
}
|
}
|
||||||
#endif /* configASSERT_DEFINED */
|
#endif /* configASSERT_DEFINED */
|
||||||
|
|
||||||
/* Make PendSV and SysTick the same priority as the kernel, and the SVC
|
/* Make PendSV and SysTick the lowest priority interrupts, and configure
|
||||||
* handler highest priority so it can be used to exit a critical section
|
* SVCall for sufficient preemption priority. */
|
||||||
* (where lower priorities are masked). */
|
|
||||||
portNVIC_SHPR3_REG |= portNVIC_PENDSV_PRI;
|
portNVIC_SHPR3_REG |= portNVIC_PENDSV_PRI;
|
||||||
portNVIC_SHPR3_REG |= portNVIC_SYSTICK_PRI;
|
portNVIC_SHPR3_REG |= portNVIC_SYSTICK_PRI;
|
||||||
portNVIC_SHPR2_REG = 0;
|
portNVIC_SHPR2_REG = portNVIC_SVC_PRI;
|
||||||
|
|
||||||
/* Configure the regions in the MPU that are common to all tasks. */
|
/* Configure the regions in the MPU that are common to all tasks. */
|
||||||
prvSetupMPU();
|
prvSetupMPU();
|
||||||
|
|
|
||||||
2
portable/ThirdParty/Partner-Supported-Ports
vendored
2
portable/ThirdParty/Partner-Supported-Ports
vendored
|
|
@ -1 +1 @@
|
||||||
Subproject commit abc22103e1e6634b33457d4127bff1ab62f27f90
|
Subproject commit fccbbce9bd7e227ee211b01fdbbcf133dc3a474a
|
||||||
Loading…
Add table
Add a link
Reference in a new issue