Demo app changes:

Add a "query heap" command to the standard sample CLI commands.
Remove casting from configMAX_PRIORITIES setting in Win32 simulator demos as it was preventing a clean build. 

Source code changes.
General tidy up and addition of assert points.
This commit is contained in:
Richard Barry 2015-01-15 21:37:32 +00:00
parent e4e6328300
commit c37b2ca39b
37 changed files with 1017 additions and 462 deletions

View file

@ -292,7 +292,7 @@ back into the caller stack. */
returned to last left the Running state by calling taskYIELD() (rather than
being preempted by an interrupt). */
.text
.align 2
.align 4
exit_from_yield:
/* r18 was being used as a temporary. Now restore its true value from the
@ -308,7 +308,7 @@ exit_from_yield:
.text
.align 2
.align 4
_interrupt_handler:
portSAVE_CONTEXT
@ -350,7 +350,7 @@ task_switch_not_requested:
.text
.align 2
.align 4
VPortYieldASM:
portSAVE_CONTEXT
@ -371,7 +371,7 @@ VPortYieldASM:
portRESTORE_CONTEXT
.text
.align 2
.align 4
vPortStartFirstTask:
portRESTORE_CONTEXT
@ -381,7 +381,7 @@ vPortStartFirstTask:
#if MICROBLAZE_EXCEPTIONS_ENABLED == 1
.text
.align 2
.align 4
vPortExceptionHandlerEntry:
/* Take a copy of the stack pointer before vPortExecptionHandler is called,

View file

@ -143,7 +143,7 @@ typedef unsigned long UBaseType_t;
/* Interrupt control macros and functions. */
void microblaze_disable_interrupts( void );
void microblaze_enable_interrupts( void );
#define portDISABLE_INTERRUPTS() microblaze_disable_interrupts()
#define portDISABLE_INTERRUPTS() microblaze_disable_interrupts(); __asm volatile( "mbar 1" ); __asm volatile( "mbar 2" )
#define portENABLE_INTERRUPTS() microblaze_enable_interrupts()
/*-----------------------------------------------------------*/
@ -152,8 +152,8 @@ void microblaze_enable_interrupts( void );
void vPortEnterCritical( void );
void vPortExitCritical( void );
#define portENTER_CRITICAL() { \
extern volatile UBaseType_t uxCriticalNesting; \
microblaze_disable_interrupts(); \
extern volatile UBaseType_t uxCriticalNesting; \
portDISABLE_INTERRUPTS(); \
uxCriticalNesting++; \
}