2008-05-15 Joel Sherrill <joel.sherrill@OARcorp.com>

* startup/bspstart.c, startup/bspstart.c.nocache: Add capability for
	bootcard.c BSP Initialization Framework to ask the BSP where it has
	memory for the RTEMS Workspace and C Program Heap. These collectively
	are referred to as work area. If the BSP supports this, then it does
	not have to include code to split the available memory between the
	two areas. This reduces the amount of code in the BSP specific
	bspstart.c file. Additionally, the shared framework can initialize
	the C Library, call rtems_debug_enable(), and dirty the work area
	memory. Until most/all BSPs support this new capability, if the BSP
	supports this, it should call
	RTEMS_BSP_BOOTCARD_HANDLES_RAM_ALLOCATION from its configure.ac. When
	the transition is complete, this autoconf macro can be removed.
This commit is contained in:
Joel Sherrill
2008-05-15 15:54:11 +00:00
parent 8f78ced725
commit b67a822d6f
3 changed files with 21 additions and 14 deletions

View File

@@ -1,3 +1,18 @@
2008-05-15 Joel Sherrill <joel.sherrill@OARcorp.com>
* startup/bspstart.c, startup/bspstart.c.nocache: Add capability for
bootcard.c BSP Initialization Framework to ask the BSP where it has
memory for the RTEMS Workspace and C Program Heap. These collectively
are referred to as work area. If the BSP supports this, then it does
not have to include code to split the available memory between the
two areas. This reduces the amount of code in the BSP specific
bspstart.c file. Additionally, the shared framework can initialize
the C Library, call rtems_debug_enable(), and dirty the work area
memory. Until most/all BSPs support this new capability, if the BSP
supports this, it should call
RTEMS_BSP_BOOTCARD_HANDLES_RAM_ALLOCATION from its configure.ac. When
the transition is complete, this autoconf macro can be removed.
2008-05-15 Thomas Doerfler <Thomas.Doerfler@embedded-brains.de>
* irq/irq.c:

View File

@@ -94,14 +94,10 @@ void bsp_pretasking_hook(void)
* the kernel and the application can be linked and burned into ROM
* independently of each other.
*/
extern unsigned char _HeapStart;
extern unsigned char _HeapEnd;
extern unsigned char _HeapStart;
extern unsigned char _HeapEnd;
bsp_libc_init( &_HeapStart, &_HeapEnd - &_HeapStart, 0 );
#ifdef RTEMS_DEBUG
rtems_debug_enable( RTEMS_DEBUG_ALL_MASK );
#endif
bsp_libc_init( &_HeapStart, &_HeapEnd - &_HeapStart, 0 );
}
/*

View File

@@ -71,14 +71,10 @@ void bsp_pretasking_hook(void)
* the kernel and the application can be linked and burned into ROM
* independently of each other.
*/
extern unsigned char _HeapStart;
extern unsigned char _HeapEnd;
extern unsigned char _HeapStart;
extern unsigned char _HeapEnd;
bsp_libc_init( &_HeapStart, &_HeapEnd - &_HeapStart, 0 );
#ifdef RTEMS_DEBUG
rtems_debug_enable( RTEMS_DEBUG_ALL_MASK );
#endif
bsp_libc_init( &_HeapStart, &_HeapEnd - &_HeapStart, 0 );
}