RTEMS Logo

RTEMS 4.9.1 On-Line Library


Initialization Code bsp_start() - BSP Specific Initialization

PREV UP NEXT Bookshelf BSP and Device Driver Development Guide

7.3.3: bsp_start() - BSP Specific Initialization

This is the first BSP specific C routine to execute during system initialization. This routine often performs required fundamental hardware initialization such as setting bus controller registers that do not have a direct impact on whether or not C code can execute. The source code for this routine is usually found in the following file:

c/src/lib/libbsp/CPU/BSP/startup/bspstart.c

On older BSPs not using boot_card()'s support for allocating memory to the C Program Heap and RTEMS Workspace, one of the most important functions performed by this routine is determining where the RTEMS Workspace is to be located in memory. All RTEMS objects and task stacks will be allocated from this Workspace. The RTEMS Workspace is distinct from the application heap used for malloc(). Many BSPs place the RTEMS Workspace area at the end of RAM although this is certainly not a requirement.

After completing execution, this routine returns to the boot_card() routine.


PREV UP NEXT Bookshelf BSP and Device Driver Development Guide

Copyright © 1988-2008 OAR Corporation