source: rtems/c/src/lib/libbsp/shared/include/bootcard.h @ d4886a06

4.104.114.95
Last change on this file since d4886a06 was d4886a06, checked in by Thomas Doerfler <Thomas.Doerfler@…>, on 07/24/08 at 14:52:55

Changed bsp_get_workarea() to bsp_get_work_area() and
added support for an optional separate heap area.

  • Property mode set to 100644
File size: 1.5 KB
Line 
1/**
2 * @file
3 *
4 * @ingroup bsp_shared
5 *
6 * @brief Header file for basic BSP startup functions.
7 */
8
9/*
10 * Copyright (c) 2008
11 * Embedded Brains GmbH
12 * Obere Lagerstr. 30
13 * D-82178 Puchheim
14 * Germany
15 * rtems@embedded-brains.de
16 *
17 * The license and distribution terms for this file may be found in the file
18 * LICENSE in this distribution or at http://www.rtems.com/license/LICENSE.
19 *
20 * $Id$
21 */
22
23/**
24 * @defgroup bsp_shared Shared BSP Code
25 */
26
27#ifndef LIBBSP_SHARED_BOOTCARD_H
28#define LIBBSP_SHARED_BOOTCARD_H
29
30#include <stddef.h>
31#include <stdint.h>
32
33#include <bspopts.h> /* for BSP_BOOTCARD_HANDLES_RAM_ALLOCATION */
34
35#ifdef __cplusplus
36extern "C" {
37#endif /* __cplusplus */
38
39void bsp_start( void);
40
41void bsp_pretasking_hook( void);
42
43void bsp_predriver_hook( void);
44
45void bsp_postdriver_hook( void);
46
47void bsp_cleanup( void);
48
49#ifdef BSP_BOOTCARD_HANDLES_RAM_ALLOCATION
50  #define BSP_BOOTCARD_HEAP_USES_WORK_AREA NULL
51
52  #define BSP_BOOTCARD_HEAP_SIZE_DEFAULT 0
53
54  void bsp_get_work_area(
55    void **work_area_start,
56    size_t *work_area_size,
57    void **heap_start,
58    size_t *heap_size
59  );
60#endif
61
62int boot_card( int argc, char **argv, char **envp);
63
64/*
65 * FIXME: Nearly every BSP declares this function in the BSP startup file
66 * separately and uses the implementation in bsplibc.c.
67 * Why differ the parameter types from RTEMS_Malloc_Initialize()?
68 */
69void bsp_libc_init( void *heap_start, uint32_t heap_size, int use_sbrk);
70
71#ifdef __cplusplus
72}
73#endif /* __cplusplus */
74
75#endif /* LIBBSP_SHARED_BOOTCARD_H */
Note: See TracBrowser for help on using the repository browser.