⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 config.h

📁 RTEMS (Real-Time Executive for Multiprocessor Systems) is a free open source real-time operating sys
💻 H
字号:
/*  config.h * *  This include file contains the table of user defined configuration *  parameters. * *  COPYRIGHT (c) 1989-1999. *  On-Line Applications Research Corporation (OAR). * *  The license and distribution terms for this file may be *  found in the file LICENSE in this distribution or at *  http://www.rtems.com/license/LICENSE. * *  $Id: config.h,v 1.23.2.1 2003/09/04 18:47:20 joel Exp $ */#ifndef __RTEMS_CONFIGURATION_h#define __RTEMS_CONFIGURATION_h#ifdef __cplusplusextern "C" {#endif/* *  Unlimited object support. Changes the configuration table entry for POSIX *  or RTEMS APIs to bounded only by the memory of the work-space. * *  Use the macro to define the resource unlimited before placing in *  the configuration table. */#include <rtems/score/object.h>#define RTEMS_UNLIMITED_OBJECTS OBJECTS_UNLIMITED_OBJECTS  #define rtems_resource_unlimited(resource) \  ( resource | RTEMS_UNLIMITED_OBJECTS )    /* *  This is kind of kludgy but it allows targets to totally ignore the *  optional APIs like POSIX and ITRON safely. */#ifdef RTEMS_POSIX_API#include <rtems/posix/config.h>#elsetypedef void *posix_api_configuration_table;#endif#ifdef RTEMS_ITRON_API#include <itron.h>#include <rtems/itron/config.h>#elsetypedef void *itron_api_configuration_table;#endif#include <rtems/rtems/config.h>/*  XXX <rtems/rtems/config.h> should cover these#include <rtems/rtems/status.h>#include <rtems/rtems/types.h>#include <rtems/rtems/tasks.h>*/#include <rtems/extension.h>#include <rtems/io.h>#if defined(RTEMS_MULTIPROCESSING)#include <rtems/score/mpci.h>#endif/* *  The following records define the Multiprocessor Configuration *  Table.  This table defines the multiprocessor system *  characteristics which must be known by RTEMS in a multiprocessor *  system. */typedef struct {  rtems_unsigned32    node;             /* local node number */  rtems_unsigned32    maximum_nodes;    /* maximum # nodes in system */  rtems_unsigned32    maximum_global_objects; /* maximum # global objects */  rtems_unsigned32    maximum_proxies;  /* maximum # proxies */#if defined(RTEMS_MULTIPROCESSING)  rtems_mpci_table   *User_mpci_table;  /* pointer to MPCI table */#else  void         *User_mpci_table;        /* pointer to MPCI table */#endif} rtems_multiprocessing_table;/* *  The following records define the Configuration Table.  The *  information contained in this table is required in all *  RTEMS systems, whether single or multiprocessor.  This *  table primarily defines the following: * *     + location and size of the RTEMS Workspace *     + microseconds per clock tick *     + clock ticks per task timeslice *     + required number of each object type for each API configured */typedef struct {  void                             *work_space_start;  rtems_unsigned32                  work_space_size;  rtems_unsigned32                  maximum_extensions;  rtems_unsigned32                  microseconds_per_tick;  rtems_unsigned32                  ticks_per_timeslice;  rtems_unsigned32                  maximum_devices;  rtems_unsigned32                  maximum_drivers;  rtems_unsigned32                  number_of_device_drivers;  rtems_driver_address_table       *Device_driver_table;  rtems_unsigned32                  number_of_initial_extensions;  rtems_extensions_table           *User_extension_table;  rtems_multiprocessing_table      *User_multiprocessing_table;  rtems_api_configuration_table    *RTEMS_api_configuration;  posix_api_configuration_table    *POSIX_api_configuration;  itron_api_configuration_table    *ITRON_api_configuration;} rtems_configuration_table;/* *  The following are provided strictly for the convenience of *  the user.  They are not used in RTEMS itself. */SAPI_EXTERN rtems_configuration_table    *_Configuration_Table;SAPI_EXTERN rtems_multiprocessing_table  *_Configuration_MP_table;/* *  Some handy macros to avoid dependencies on either the BSP *  or the exact format of the configuration table. */#define rtems_configuration_get_table() \        (&_Configuration_Table)#define rtems_configuration_get_work_space_start() \        (_Configuration_Table->work_space_start)#define rtems_configuration_get_work_space_size() \        (_Configuration_Table->work_space_size)#define rtems_configuration_get_maximum_extensions() \        (_Configuration_Table->maximum_extensions)#define rtems_configuration_get_microseconds_per_tick() \        (_Configuration_Table->microseconds_per_tick)#define rtems_configuration_get_milliseconds_per_tick() \        (_Configuration_Table->microseconds_per_tick / 1000)#define rtems_configuration_get_ticks_per_timeslice() \        (_Configuration_Table->ticks_per_timeslice)#define rtems_configuration_get_maximum_devices() \        (_Configuration_Table->maximum_devices)#define rtems_configuration_get_number_of_device_drivers() \        (_Configuration_Table->number_of_device_drivers)#define rtems_configuration_get_device_driver_table() \        (_Configuration_Table->device_driver_table)#define rtems_configuration_get_number_of_initial_extensions() \        (_Configuration_Table->number_of_initial_extensions)#define rtems_configuration_get_user_extension_table() \        (_Configuration_Table->user_extension_table)#define rtems_configuration_get_user_multiprocessing_table() \        (_Configuration_Table->User_multiprocessing_table)#define rtems_configuration_get_rtems_api_configuration() \        (_Configuration_Table->RTEMS_api_configuration)#define rtems_configuration_get_posix_api_configuration() \        (_Configuration_Table->POSIX_api_configuration)#define rtems_configuration_get_itron_api_configuration() \        (_Configuration_Table->ITRON_api_configuration)#ifdef __cplusplus}#endif#endif/* end of include file */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -