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:
Angus Gratton 2015-06-08 17:54:46 +10:00
parent a476fb007e
commit 0dbb6d31a5
4 changed files with 12 additions and 10 deletions

View file

@ -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 )