Clean up rest of port.c function

This commit is contained in:
Angus Gratton 2015-05-07 14:00:46 +10:00
parent ee95fde5ec
commit 6369b4cefa

View file

@ -82,8 +82,7 @@ char level1_int_disabled;
/*
* Stack initialization
*/
portSTACK_TYPE *
pxPortInitialiseStack( portSTACK_TYPE *pxTopOfStack, pdTASK_CODE pxCode, void *pvParameters )
portSTACK_TYPE *pxPortInitialiseStack( portSTACK_TYPE *pxTopOfStack, pdTASK_CODE pxCode, void *pvParameters )
{
#define SET_STKREG(r,v) sp[(r) >> 2] = (portSTACK_TYPE)(v)
portSTACK_TYPE *sp, *tp;
@ -173,36 +172,26 @@ void xPortSysTickHandle (void)
/*
* See header file for description.
*/
portBASE_TYPE ICACHE_FLASH_ATTR
xPortStartScheduler( void )
portBASE_TYPE xPortStartScheduler( void )
{
//set SV and systemtick as lowest priority ISR.
_xt_isr_attach(ETS_SOFT_INUM, SV_ISR);
_xt_isr_unmask(1<<ETS_SOFT_INUM);
/* Initialize system tick timer interrupt and schedule the first tick. */
_xt_tick_timer_init();
printf("xPortStartScheduler\n");
vTaskSwitchContext();
// REG_SET_BIT(0x3ff2006c, BIT(4));
/* Restore the context of the first task that is going to run. */
XT_RTOS_INT_EXIT();
_xt_int_exit();
/* Should not get here as the tasks are now running! */
return pdTRUE;
}
void ICACHE_FLASH_ATTR
vPortEndScheduler( void )
void vPortEndScheduler( void )
{
/* It is unlikely that the CM3 port will require this function as there
is nothing to return to. */
/* No-op, nothing to return to */
}
/*-----------------------------------------------------------*/
/*-----------------------------------------------------------*/
@ -226,6 +215,12 @@ void vPortExitCritical( void )
/*-----------------------------------------------------------*/
/* Main ISR handler for FreeRTOS side of the ESP libs?
As far as I can tell, the "real" Xtensa ISRs ("Exceptions") are
handled in libmain.a (xtensa_vectors.o) which then can call into here
passing an interrupt mask.
*/
_xt_isr isr[16];
void _xt_isr_attach(uint8_t i, _xt_isr func)
@ -238,7 +233,6 @@ uint16_t _xt_isr_handler(uint16_t i)
uint8_t index;
if (i & (1 << ETS_WDT_INUM)) {
// printf("i %x %u\n", i, REG_READ(0x3ff20c00));
index = ETS_WDT_INUM;
}
else if (i & (1 << ETS_GPIO_INUM)) {