|
| 1 | +/************************************************************************ |
| 2 | + * NASA Docket No. GSC-18,719-1, and identified as �~@~\core Flight System: Bootes�~@~] |
| 3 | + * |
| 4 | + * Copyright (c) 2020 United States Government as represented by the |
| 5 | + * Administrator of the National Aeronautics and Space Administration. |
| 6 | + * All Rights Reserved. |
| 7 | + * |
| 8 | + * Licensed under the Apache License, Version 2.0 (the "License"); you may |
| 9 | + * not use this file except in compliance with the License. You may obtain |
| 10 | + * a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 |
| 11 | + * |
| 12 | + * Unless required by applicable law or agreed to in writing, software |
| 13 | + * distributed under the License is distributed on an "AS IS" BASIS, |
| 14 | + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| 15 | + * See the License for the specific language governing permissions and |
| 16 | + * limitations under the License. |
| 17 | + ************************************************************************/ |
| 18 | + |
| 19 | +/** |
| 20 | + * @file |
| 21 | + * Default RTEMS OS Configuration definitions |
| 22 | + * |
| 23 | + * @note |
| 24 | + * This file may be overridden/superseded by mission-provided definitions |
| 25 | + * by overriding this header. |
| 26 | + */ |
| 27 | +#ifndef BSP_RTEMS_CFG_H |
| 28 | +#define BSP_RTEMS_CFG_H |
| 29 | + |
| 30 | +#include "osconfig.h" |
| 31 | + |
| 32 | +#define TASK_INTLEVEL 0 |
| 33 | +#define CONFIGURE_INIT |
| 34 | +#define CONFIGURE_INIT_TASK_ATTRIBUTES \ |
| 35 | + (RTEMS_FLOATING_POINT | RTEMS_PREEMPT | RTEMS_NO_TIMESLICE | RTEMS_ASR | RTEMS_INTERRUPT_LEVEL(TASK_INTLEVEL)) |
| 36 | +#define CONFIGURE_INIT_TASK_STACK_SIZE (20 * 1024) |
| 37 | +#define CONFIGURE_INIT_TASK_PRIORITY 10 |
| 38 | + |
| 39 | +/* |
| 40 | + * Note that these resources are shared with RTEMS itself (e.g. the init task, the shell) |
| 41 | + * so they should be allocated slightly higher than the user limits in osconfig.h |
| 42 | + * |
| 43 | + * Many RTEMS services use tasks internally, including the idle task, BSWP, ATA driver, |
| 44 | + * low level console I/O, the shell, TCP/IP network stack, and DHCP (if enabled). |
| 45 | + * Many of these also use semaphores for synchronization. |
| 46 | + * |
| 47 | + * Budgeting for additional: |
| 48 | + * 8 internal tasks |
| 49 | + * 2 internal timers |
| 50 | + * 4 internal queues |
| 51 | + * 16 internal semaphores |
| 52 | + * |
| 53 | + */ |
| 54 | +#define CONFIGURE_MAXIMUM_TASKS (OS_MAX_TASKS + 8) |
| 55 | +#define CONFIGURE_MAXIMUM_TIMERS (OS_MAX_TIMERS + 2) |
| 56 | +#define CONFIGURE_MAXIMUM_SEMAPHORES (OS_MAX_BIN_SEMAPHORES + OS_MAX_COUNT_SEMAPHORES + OS_MAX_MUTEXES + 16) |
| 57 | +#define CONFIGURE_MAXIMUM_MESSAGE_QUEUES (OS_MAX_QUEUES + 4) |
| 58 | +#define CONFIGURE_MAXIMUM_DRIVERS 10 |
| 59 | +#define CONFIGURE_MAXIMUM_POSIX_KEYS 4 |
| 60 | +#ifdef OS_RTEMS_4_DEPRECATED |
| 61 | +#define CONFIGURE_LIBIO_MAXIMUM_FILE_DESCRIPTORS (OS_MAX_NUM_OPEN_FILES + 8) |
| 62 | +#else |
| 63 | +#define CONFIGURE_MAXIMUM_FILE_DESCRIPTORS (OS_MAX_NUM_OPEN_FILES + 8) |
| 64 | +#endif |
| 65 | + |
| 66 | +#define CONFIGURE_RTEMS_INIT_TASKS_TABLE |
| 67 | +#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER |
| 68 | +#define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER |
| 69 | +#define CONFIGURE_USE_IMFS_AS_BASE_FILESYSTEM |
| 70 | +#define CONFIGURE_FILESYSTEM_RFS |
| 71 | +#define CONFIGURE_FILESYSTEM_IMFS |
| 72 | +#define CONFIGURE_FILESYSTEM_DOSFS |
| 73 | +#define CONFIGURE_FILESYSTEM_DEVFS |
| 74 | +#define CONFIGURE_APPLICATION_NEEDS_LIBBLOCK |
| 75 | +#define CONFIGURE_APPLICATION_NEEDS_IDE_DRIVER |
| 76 | +#define CONFIGURE_APPLICATION_NEEDS_ATA_DRIVER |
| 77 | + |
| 78 | +#define CONFIGURE_EXECUTIVE_RAM_SIZE (8 * 1024 * 1024) |
| 79 | +#define CONFIGURE_MICROSECONDS_PER_TICK 10000 |
| 80 | +#define CONFIGURE_ATA_DRIVER_TASK_PRIORITY 9 |
| 81 | + |
| 82 | +#endif |
0 commit comments