亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? uitron.h

?? ecos為實時嵌入式操作系統
?? H
?? 第 1 頁 / 共 3 頁
字號:
#ifdef CYGPKG_UITRON_MBOXES#define CYGPKG_UITRON_MBOXES_CREATE_DELETE#ifdef  CYGPKG_UITRON_MBOXES_CREATE_DELETE#define CYGNUM_UITRON_MBOXES_INITIALLY 4#endif // CYGPKG_UITRON_MBOXES_CREATE_DELETE#endif // CYGPKG_UITRON_MBOXES/* {{CFG_DATA   cdl_component CYGPKG_UITRON_FLAGS {       display "Eventflags"       type    boolean       parent  CYGPKG_UITRON       description "uITRON Eventflag objects are used with functions                named xxx_flg(); they support communication between                tasks by means of setting and clearing bits in a word                or flag value.                Waiting for all or any of a set of bits is supported."   }   cdl_option CYGNUM_UITRON_FLAGS {       display          "Number of eventflags"       parent           CYGPKG_UITRON_FLAGS       type             count       legal_values     1 to 65535       description "The number of uITRON eventflag                objects present in the system.                Valid eventflag object IDs will range                from 1 to this value."   }   cdl_component CYGPKG_UITRON_FLAGS_CREATE_DELETE {       display "Support create and delete"       parent  CYGPKG_UITRON_FLAGS       type    boolean       description "Support                eventflag                create and delete operations                (cre_flg, del_flg).                Otherwise all eventflags are created,                up to the number specified above."   }   cdl_option CYGNUM_UITRON_FLAGS_INITIALLY {       display          "Number of eventflags created initially"       parent           CYGPKG_UITRON_FLAGS_CREATE_DELETE       type             count       legal_values     0 to 65535       description "The number of uITRON eventflags initially created.                This number should not be more than the number                of eventflags in the system, though setting it to a large                value to mean 'all' is acceptable.                Initially, only eventflags numbered 1 to this number exist;                higher numbered ones must be created before use."   }   }}CFG_DATA */// Flags: xxx_flg ops in uITRON.#define CYGPKG_UITRON_FLAGS#define CYGNUM_UITRON_FLAGS   5#ifdef CYGPKG_UITRON_FLAGS#define CYGPKG_UITRON_FLAGS_CREATE_DELETE#ifdef  CYGPKG_UITRON_FLAGS_CREATE_DELETE#define CYGNUM_UITRON_FLAGS_INITIALLY 5#endif // CYGPKG_UITRON_FLAGS_CREATE_DELETE#endif // CYGPKG_UITRON_FLAGS// ------------------------------------------------------------------------// Next, uITRON tasks.  These must be initialized, and the number of them// must match the number of entries in the initializer definition.//// CYGNUM_UITRON_TASKS defines the number of tasks; they are numbered 1// through CYGNUM_UITRON_TASKS.//// CYGDAT_UITRON_TASK_EXTERNS is used to declare external symbols which are// used in the initializations, typically the addresses of the functions who// implement each of the tasks.  Other objects might also be declared, for// example stack data or scratch data which is used by the tasks.//// CYGDAT_UITRON_TASK_INITIALIZERS defines a list of CYG_UIT_TASK()// initializers, separated by commas.  The number of these defines how many// uITRON tasks exist in the system.// // Both of these symbols must be defined.//// Task IDs in the uITRON sense are from 1 to the number of uITRON tasks// which exist in the system, defined by CYGDAT_UITRON_TASK_INITIALIZERS.//// Tasks are dormant by default from the start; they must be resumed in// order to run when the scheduler starts.  Code to do this is provided in// the uITRON package; it is present if this symbol is defined, and can be// called from plain C code://   CYGNUM_UITRON_START_TASKS > 0: start tasks 1..<value>//   CYGNUM_UITRON_START_TASKS = 0: start all uITRON tasks//                                ie. 1..CYGNUM_UITRON_TASKS//// Alternatively, an expert programmer could start the uITRON tasks// individually using the C++ system calls on the static array of tasks// declared in uit_objs.hxx/* {{CFG_DATA   cdl_component CYGPKG_UITRON_TASKS {       display "Tasks"       type    dummy       parent  CYGPKG_UITRON       description "uITRON Tasks are the basic blocks of multi-tasking                in the uITRON world; they are threads or lightweight                processes, sharing the address space and the CPU.                They communicate using the primitives outlined above.                Each has a stack, an entry point (a C or C++ function),                and (where appropriate) a scheduling priority."   }   cdl_option CYGNUM_UITRON_TASKS {       display          "Number of tasks"       parent           CYGPKG_UITRON_TASKS       type             count       legal_values     1 to 65535       description "The number of uITRON tasks                present in the system.                Valid task object IDs will range                from 1 to this value."   }   cdl_option CYGNUM_UITRON_START_TASKS {       display          "Start tasks"       parent           CYGPKG_UITRON_TASKS       type             count       legal_values     0 to 65535       description "The number of uITRON tasks                to start automatically.                Tasks from 1 to this value will be started                at the beginning of application execution.                A value of zero here means to start them all.                Tasks started in this way have a start code of                zero, as if they were started by sta_tsk(i,0).                If create and delete operations are supported,                this number should be no greater than the number                of tasks created initially."   }   cdl_component CYGPKG_UITRON_TASKS_CREATE_DELETE {       display "Support create and delete"       parent  CYGPKG_UITRON_TASKS       type    boolean       description "Support                task                create and delete operations                (cre_tsk, del_tsk).                Otherwise all tasks are created,                up to the number specified above."   }   cdl_option CYGNUM_UITRON_TASKS_INITIALLY {       display          "Number of tasks created initially"       parent           CYGPKG_UITRON_TASKS_CREATE_DELETE       type             count       legal_values     1 to 65535       description "The number of uITRON tasks initially created.                This number should not be more than the number                of tasks in the system, though setting it to a large                value to mean 'all' is acceptable.                Initially, only tasks numbered 1 to this number exist;                higher numbered ones must be created before use."   }   cdl_option CYGNUM_UITRON_STACK_SIZE {       display          "Default stack size"       parent           CYGPKG_UITRON_TASKS       type             count       legal_values     128 to 0x7FFFFFFF       description "Define a default stack size for uITRON tasks,                for use in the initialization options below.                This will be overridden where it is used if the                architectural HAL requires a minimum stack size                to handle interrupts correctly."   }   cdl_option CYGDAT_UITRON_TASK_EXTERNS {       display          "Externs for initialization"       parent           CYGPKG_UITRON_TASKS       type             multiline       description "Task initializers may refer to external objects                such as memory for stack or functions to call.                Use this option to define or declare any external                objects needed by the task static initializer below.                Example: create some memory for a stack using                 'static char stack1[CYGNUM_UITRON_STACK_SIZE];'                to set up a chunk of memory of the default stack size.                Note: this option is invoked in the 'outermost' context                of C++ source, where global/static objects are created;                it should contain valid, self-contained, C++ source."   }   cdl_option CYGDAT_UITRON_TASK_INITIALIZERS {       display          "Static initializers"       parent           CYGPKG_UITRON_TASKS       type             multiline       description "Tasks must be statically                initialized: enter a list of initializers                separated by commas, one per line.                An initializer is                'CYG_UIT_TASK(NAME,PRIO,FUNC,STACK,SIZE)'                where name is a quoted string to name the task,                prio is the initial priority of the task,                func is the name of the entry point,                stack is the address of the task's stack,                and size is the size of the task's stack.                When create and delete operations are supported,                'CYG_UIT_TASK_NOEXS(NAME,STACK,SIZE)' should be                used for tasks which are not initially created,                in order to tell the system what memory to use                for stacks when these tasks are created later on.                Using 'CYGNUM_UITRON_STACK_SIZE' for size                is recommended, to use the option defined above,                so long as that truly is the size of your stack(s).                Note: this option is invoked in the context of a                C++ array initializer, between curly brackets.                Ensure that the number of initializers here exactly                matches the number of tasks specified."   }   }}CFG_DATA */// This default configuration has 4 tasks called task1, task2, task3 and// task4, and only task1 is started up by cyg_uitron_start().// first specify how many tasks we have// no PKG define, tasks are not optional#define CYGNUM_UITRON_TASKS 4#define CYGNUM_UITRON_START_TASKS 1 // start task1 only#define CYGNUM_UITRON_STACK_SIZE 2048#define CYGDAT_UITRON_TASK_EXTERNS \extern "C" void task1( unsigned int ); \extern "C" void task2( unsigned int ); \extern "C" void task3( unsigned int ); \extern "C" void task4( unsigned int ); \static char stack1[ CYGNUM_UITRON_STACK_SIZE ], \            stack2[ CYGNUM_UITRON_STACK_SIZE ], \            stack3[ CYGNUM_UITRON_STACK_SIZE ], \            stack4[ CYGNUM_UITRON_STACK_SIZE ];// then initialize in terms of//          CYG_UIT_TASK( "name", prio, func, stackaddress, stacksize )// [or CYG_UIT_TASK_NOEXS( "name",            stackaddress, stacksize ) ]// [for create/delete enabled, tasks which are not initially created.   ]#define CYGDAT_UITRON_TASK_INITIALIZERS \   CYG_UIT_TASK( "t1", 1, task1, &stack1, CYGNUM_UITRON_STACK_SIZE ), \   CYG_UIT_TASK( "t2", 2, task2, &stack2, CYGNUM_UITRON_STACK_SIZE ), \   CYG_UIT_TASK( "t3", 3, task3, &stack3, CYGNUM_UITRON_STACK_SIZE ), \   CYG_UIT_TASK( "t4", 4, task4, &stack4, CYGNUM_UITRON_STACK_SIZE ), \// Do we support create and delete?#define CYGPKG_UITRON_TASKS_CREATE_DELETE#ifdef  CYGPKG_UITRON_TASKS_CREATE_DELETE#define CYGNUM_UITRON_TASKS_INITIALLY 4#endif // CYGPKG_UITRON_TASKS_CREATE_DELETE// ------------------------------------------------------------------------// Memory Pools, both fixed and variable block://// Any such object must be initialized, so the number of them defined must// match the number of entries in the initializer much as for tasks.// Fixed block allocation memory pools:/* {{CFG_DATA   cdl_component CYGPKG_UITRON_MEMPOOLFIXED {       display "Fixed-size memorypools"       type    boolean       parent  CYGPKG_UITRON       description "uITRON supports memory pools for dynamic, task-safe                memory allocation.                Two kinds are supported, fixed-size and variable-size.                There may be multiple of each                type of pool, each with differing characteristics.                This option controls whether there are any fixed-size                memorypools in the system.                A fixed-size memorypool allocates blocks of memory of                its preset fixed size and none other."   }   cdl_option CYGNUM_UITRON_MEMPOOLFIXED {       display          "Number of fixed-size memorypools"       parent           CYGPKG_UITRON_MEMPOOLFIXED       type             count       legal_values     1 to 65535       description "The number of uITRON Fixed-Size                Memorypools present in the system.                Valid Fixed-Size Memorypool IDs will range                from 1 to this value."   }   cdl_component CYGPKG_UITRON_MEMPOOLFIXED_CREATE_DELETE {       display "Support create and delete"       parent  CYGPKG_UITRON_MEMPOOLFIXED       type    boolean       description "Support                fixed-size memory pool                create and delete operations                (cre_mpf, del_mpf).                Otherwise all fixed mempools are created,                up to the number specified above."   }   cdl_option CYGNUM_UITRON_MEMPOOLFIXED_INITIALLY {       display          "Number of fixed mempools created initially"       parent           CYGPKG_UITRON_MEMPOOLFIXED_CREATE_DELETE       type             count       legal_values     0 to 65535       description "The number of fixed mempools initially created.                This number should not be more than the number                of fixed mempools in the system, though setting                it to a large value to mean 'all' is acceptable.                Initially, only fixed mempools numbered from                1 to this number exist;                higher numbered ones must be created before use.                Whilst all mempools must be initialized to tell                the system what memory to use for each pool,                it is only useful to initialize the blocksize of                fixed mempools up to this number;                the blocksize for higher numbered ones                will be defined when they are created."   }   cdl_option CYGDAT_UITRON_MEMPOOLFIXED_EXTERNS {       display          "Externs for initialization"       parent           CYGPKG_UITRON_MEMPOOLFIXED       type             multiline       description "Fixed mempool initializers may refer to external                objects such as memory for the pool to manage.                Use this option to define or declare any external                objects needed by the pool's static initializer below.                Example: create some memory for a mempool using                 'static char fpool1[2000];'                to set up a chunk of memory of 2000 bytes.                Note: this option is invoked in the 'outermost' context                of C++ source, where global/static objects are created;                it should contain valid, self-contained, C++ source."   }   cdl_option CYGDAT_UITRON_MEMPOOLFIXED_INITIALIZERS {       display          "Static initializers"       parent           CYGPKG_UITRON_MEMPOOLFIXED       type             multiline       description "Fixed block memory pools should be statically                initialized: enter a list of initializers                separated by commas, one per line.                An initializer is                'CYG_UIT_MEMPOOLFIXED(ADDR,SIZE,BLOCK)'                where addr is the address of memory to manage,                size is the total size of that memory, and                block is the block size for allocation by the pool.                If create and delete operations are supported,                initializers of the form                'CYG_UIT_MEMPOOLFIXED_NOEXS(ADDR,SIZE)' should be                used for pools which are not initially created, to tell                the system what memory to use for each pool.                Note: this option is invoked in the context of a                C++ array initializer, between curly brackets.                Ensure that the number of initializers here exactly                matches the total number of fixed pools specified."   }   }}CFG_DATA */#define CYGPKG_UITRON_MEMPOOLFIXED#define CYGNUM_UITRON_MEMPOOLFIXED 3

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩国产影片| 91在线观看污| 欧美va亚洲va| 国内精品伊人久久久久av影院| 91.成人天堂一区| 免费亚洲电影在线| 精品国产欧美一区二区| 国产精品一线二线三线精华| 久久人人爽人人爽| 不卡在线观看av| 一区二区三区电影在线播| 欧美亚洲国产一区在线观看网站 | 亚洲另类在线制服丝袜| 色婷婷久久一区二区三区麻豆| 亚洲一区二区五区| 欧美军同video69gay| 美女久久久精品| 欧美国产精品v| 在线观看一区日韩| 国产自产高清不卡| 中文字幕亚洲视频| 欧美精品久久99久久在免费线| 捆绑调教一区二区三区| 欧美激情在线一区二区三区| 91在线国内视频| 天天射综合影视| 中文字幕高清不卡| 欧美精品自拍偷拍动漫精品| 国产精品一级黄| 亚洲一本大道在线| www久久精品| 欧美中文字幕一区二区三区亚洲 | 精品精品国产高清一毛片一天堂| kk眼镜猥琐国模调教系列一区二区 | 国产成人精品免费在线| 亚洲精品亚洲人成人网 | 久久久久久一二三区| 日本久久精品电影| 国产精品一区二区免费不卡 | 久久精品久久精品| 亚洲欧美国产三级| 久久亚洲二区三区| 欧美精品日韩一区| 99久久国产综合精品女不卡| 麻豆极品一区二区三区| 一级日本不卡的影视| 久久蜜桃av一区二区天堂| 欧美性猛交xxxxxxxx| 国产精品888| 免费观看成人av| 性久久久久久久| 亚洲精品国产精品乱码不99| 国产三级精品三级| 日韩你懂的在线观看| 欧美日韩一区中文字幕| eeuss鲁片一区二区三区在线看| 久久狠狠亚洲综合| 午夜电影网一区| 亚洲一区二区三区自拍| 最新欧美精品一区二区三区| 亚洲精品一区二区三区福利| 欧美一级理论片| 欧美日韩国产影片| 欧美群妇大交群中文字幕| 色综合久久综合| 色视频成人在线观看免| 99久久精品久久久久久清纯| 国产盗摄一区二区| 国产成人99久久亚洲综合精品| 久久成人精品无人区| 蜜桃av一区二区三区| 日本欧美久久久久免费播放网| 亚洲一区二区精品视频| 亚洲一区二区三区美女| 亚洲视频一二三| 一区二区三区资源| 一区二区三区中文在线观看| 亚洲精品水蜜桃| 亚洲一卡二卡三卡四卡| 亚洲风情在线资源站| 五月婷婷综合激情| 日韩av不卡一区二区| 蜜臀av一区二区在线观看| 精品午夜久久福利影院 | 国产精品国产三级国产有无不卡| 久久综合久久99| 国产欧美一区二区精品性色超碰 | 日韩欧美成人午夜| 精品国产自在久精品国产| 久久影院视频免费| 欧美激情一二三区| 国产精品国产精品国产专区不片| 国产精品免费久久| 亚洲婷婷综合久久一本伊一区| 亚洲少妇30p| 日韩影院精彩在线| 韩国av一区二区| 91小视频免费看| 欧美日韩精品电影| 欧美不卡一二三| 欧美激情一区二区三区全黄 | 一区二区三区精品视频| 午夜激情一区二区| 国产精品中文字幕日韩精品| 99精品黄色片免费大全| 欧美午夜一区二区| 精品日韩欧美在线| 成人欧美一区二区三区白人| 亚洲图片自拍偷拍| 国内精品不卡在线| 北条麻妃国产九九精品视频| 欧美狂野另类xxxxoooo| 久久精品一区二区三区不卡| 国产精品久久久久久亚洲毛片| 亚洲成人午夜影院| 国产一区二区三区在线看麻豆| 99久久精品一区| 日韩午夜在线影院| 亚洲人成网站影音先锋播放| 肉肉av福利一精品导航| 成人精品gif动图一区| 在线不卡一区二区| 日本一区二区高清| 无码av中文一区二区三区桃花岛| 国产**成人网毛片九色| 欧美美女视频在线观看| 国产精品天天看| 亚洲高清视频中文字幕| thepron国产精品| 日韩欧美在线一区二区三区| 亚洲视频小说图片| 国产麻豆一精品一av一免费| 欧美无乱码久久久免费午夜一区 | 色婷婷亚洲一区二区三区| 精品久久久久香蕉网| 亚洲一区二区三区国产| 成人国产精品免费观看| 日韩女优av电影在线观看| 亚洲v日本v欧美v久久精品| 国产69精品久久久久777| 日韩美一区二区三区| 亚洲aⅴ怡春院| 一本到不卡免费一区二区| 欧美国产激情一区二区三区蜜月| 免费观看在线综合色| 欧美日韩国产综合一区二区 | 成人av免费观看| 欧美成人一区二区三区在线观看| 亚洲综合激情小说| 成人福利视频在线| 国产亚洲一区二区在线观看| 另类欧美日韩国产在线| 91麻豆精品国产91久久久久久久久| 亚洲免费观看高清完整版在线| 国产99久久久久| 国产色一区二区| 国产一区二区三区免费| 欧美va亚洲va| 韩国三级电影一区二区| 欧美xfplay| 久久精品国内一区二区三区| 日韩一区二区三区精品视频| 亚洲一二三四区不卡| 欧美影院一区二区三区| 亚洲国产欧美在线人成| 欧美在线一区二区三区| 一区二区成人在线视频| 欧美性生活影院| 午夜国产精品影院在线观看| 欧美男男青年gay1069videost| 亚洲国产成人porn| 欧美日韩电影一区| 日本不卡一二三| 欧美大片在线观看一区二区| 精品中文字幕一区二区| 久久久精品欧美丰满| 成人美女视频在线看| 《视频一区视频二区| 欧美亚洲日本国产| 日韩高清一区二区| 精品国精品自拍自在线| 国产成人午夜精品5599| 自拍偷自拍亚洲精品播放| 一本大道久久a久久精品综合| 亚洲亚洲精品在线观看| 91精品国产色综合久久不卡蜜臀 | 久久这里只精品最新地址| 国产麻豆一精品一av一免费| 国产精品理论片在线观看| 欧美艳星brazzers| 奇米色一区二区| 久久精品亚洲乱码伦伦中文| 91看片淫黄大片一级在线观看| 亚洲一区二区三区四区在线观看| 欧美日韩视频专区在线播放| 久久精品国产精品青草| 国产无一区二区| 91国产成人在线| 久久精品99国产精品| 亚洲欧美另类图片小说|