Add IRAM attribute for IRAM loaded symbols, add to common FreeRTOS functions
Closes #7. It'd be nice to change the linker script so .text is always linked to IROM instead of needing to objcopy each compiled file. The sticking point for this is libgcc & libhal, which have symbols in .text that need to be loaded to IRAM.
This commit is contained in:
parent
a476fb007e
commit
0dbb6d31a5
4 changed files with 12 additions and 10 deletions
|
@ -120,7 +120,7 @@ static int pending_maclayer_sv;
|
|||
In the original esp_iot_rtos_sdk implementation, arg was a char. Using an
|
||||
enum is ABI-compatible, though.
|
||||
*/
|
||||
void PendSV(enum SVC_ReqType req)
|
||||
void IRAM PendSV(enum SVC_ReqType req)
|
||||
{
|
||||
vPortEnterCritical();
|
||||
|
||||
|
@ -141,7 +141,7 @@ void PendSV(enum SVC_ReqType req)
|
|||
*/
|
||||
extern portBASE_TYPE sdk_MacIsrSigPostDefHdl(void);
|
||||
|
||||
void SV_ISR(void)
|
||||
void IRAM SV_ISR(void)
|
||||
{
|
||||
portBASE_TYPE xHigherPriorityTaskWoken=pdFALSE ;
|
||||
if(pending_maclayer_sv)
|
||||
|
@ -206,14 +206,14 @@ static unsigned portBASE_TYPE uxCriticalNesting = 0;
|
|||
* with a save/restore of interrupt level, although it's difficult as
|
||||
* the functions have no return value.
|
||||
*/
|
||||
void vPortEnterCritical( void )
|
||||
void IRAM vPortEnterCritical( void )
|
||||
{
|
||||
portDISABLE_INTERRUPTS();
|
||||
uxCriticalNesting++;
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
void vPortExitCritical( void )
|
||||
void IRAM vPortExitCritical( void )
|
||||
{
|
||||
uxCriticalNesting--;
|
||||
if( uxCriticalNesting == 0 )
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue