📄 configurator.txt
字号:
亖 JSP僇乕僱儖 僐儞僼傿僊儏儗乕僞巇條 亖
乮Release 1.4懳墳丆嵟廔峏怴: 4-Jun-2003乯
------------------------------------------------------------------------
TOPPERS/JSP Kernel
Toyohashi Open Platform for Embedded Real-Time Systems/
Just Standard Profile Kernel
Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
Toyohashi Univ. of Technology, JAPAN
忋婰挊嶌尃幰偼丆埲壓偺 (1)乣(4) 偺忦審偐丆Free Software Foundation
偵傛偭偰岞昞偝傟偰偄傞 GNU General Public License 偺 Version 2 偵婰
弎偝傟偰偄傞忦審傪枮偨偡応崌偵尷傝丆杮僜僼僩僂僃傾乮杮僜僼僩僂僃傾
傪夵曄偟偨傕偺傪娷傓丏埲壓摨偠乯傪巊梡丒暋惢丒夵曄丒嵞攝晍乮埲壓丆
棙梡偲屇傇乯偡傞偙偲傪柍彏偱嫋戻偡傞丏
(1) 杮僜僼僩僂僃傾傪僜乕僗僐乕僪偺宍偱棙梡偡傞応崌偵偼丆忋婰偺挊嶌
尃昞帵丆偙偺棙梡忦審偍傛傃壓婰偺柍曐徹婯掕偑丆偦偺傑傑偺宍偱僜乕
僗僐乕僪拞偵娷傑傟偰偄傞偙偲丏
(2) 杮僜僼僩僂僃傾傪丆儔僀僽儔儕宍幃側偳丆懠偺僜僼僩僂僃傾奐敪偵巊
梡偱偒傞宍偱嵞攝晍偡傞応崌偵偼丆嵞攝晍偵敽偆僪僉儏儊儞僩乮棙梡
幰儅僯儏傾儖側偳乯偵丆忋婰偺挊嶌尃昞帵丆偙偺棙梡忦審偍傛傃壓婰
偺柍曐徹婯掕傪宖嵹偡傞偙偲丏
(3) 杮僜僼僩僂僃傾傪丆婡婍偵慻傒崬傓側偳丆懠偺僜僼僩僂僃傾奐敪偵巊
梡偱偒側偄宍偱嵞攝晍偡傞応崌偵偼丆師偺偄偢傟偐偺忦審傪枮偨偡偙
偲丏
(a) 嵞攝晍偵敽偆僪僉儏儊儞僩乮棙梡幰儅僯儏傾儖側偳乯偵丆忋婰偺挊
嶌尃昞帵丆偙偺棙梡忦審偍傛傃壓婰偺柍曐徹婯掕傪宖嵹偡傞偙偲丏
(b) 嵞攝晍偺宍懺傪丆暿偵掕傔傞曽朄偵傛偭偰丆TOPPERS僾儘僕僃僋僩偵
曬崘偡傞偙偲丏
(4) 杮僜僼僩僂僃傾偺棙梡偵傛傝捈愙揑傑偨偼娫愙揑偵惗偠傞偄偐側傞懝
奞偐傜傕丆忋婰挊嶌尃幰偍傛傃TOPPERS僾儘僕僃僋僩傪柶愑偡傞偙偲丏
杮僜僼僩僂僃傾偼丆柍曐徹偱採嫙偝傟偰偄傞傕偺偱偁傞丏忋婰挊嶌尃幰偍
傛傃TOPPERS僾儘僕僃僋僩偼丆杮僜僼僩僂僃傾偵娭偟偰丆偦偺揔梡壜擻惈傕
娷傔偰丆偄偐側傞曐徹傕峴傢側偄丏傑偨丆杮僜僼僩僂僃傾偺棙梡偵傛傝捈
愙揑傑偨偼娫愙揑偵惗偠偨偄偐側傞懝奞偵娭偟偰傕丆偦偺愑擟傪晧傢側偄丏
@(#) $Id: configurator.txt,v 1.15 2003/06/04 09:44:17 hiro Exp $
------------------------------------------------------------------------
偙偺僪僉儏儊儞僩偱偼丆JSP僇乕僱儖偺僐儞僼傿僊儏儗乕僞偑惗惉偡傋偒僼傽
僀儖偺撪梕偵偮偄偰夝愢偡傞丏
JSP僇乕僱儖偺僐儞僼傿僊儏儗乕僞偼丆僔僗僥儉僐儞僼傿僊儏儗乕僔儑儞僼傽
僀儖傪張棟偟偰丆僇乕僱儖峔惉僼傽僀儖乮kernel_cfg.c乯偲ID帺摦妱晅偗寢壥
僼傽僀儖乮kernel_id.h乯傪惗惉偡傞丏傑偨丆惷揑API偺僷儔儊乕僞僠僃僢僋偵
梡偄傞僼傽僀儖乮kernel_chk.c乯傪惗惉偡傞丏
ID帺摦妱晅偗寢壥僼傽僀儖偼丆僐儞僼傿僊儏儗乕僞偑ID斣崋傪妱傝晅偗偨僆僽
僕僃僋僩偺柤慜傪丆妱傝晅偗偨ID斣崋偵掕媊偡傞僼傽僀儖偱偁傞丏
埲壓偱偼丆僇乕僱儖峔惉僼傽僀儖偺撪梕偵偮偄偰夝愢偡傞丏
(1) 屌掕惗惉晹暘
(1-1) 昗弨僀儞僋儖乕僪僼傽僀儖
kernel_cfg.c 梡偺僀儞僋儖乕僪僼傽僀儖傪僀儞僋儖乕僪偡傞僾儕僾儘僙僢僒
僨傿儗僋僥傿僽乮#include乯傪惗惉偡傞丏嬶懱揑偵偼丆師偺峴傪惗惉偡傞丏
#include "kernel_cfg.h"
傑偨丆昁梫偱偁傟偽丆ID帺摦妱晅偗寢壥僼傽僀儖傪僀儞僋儖乕僪偡傞僾儕僾儘
僙僢僒僨傿儗僋僥傿僽乮#include乯傪惗惉偡傞丏嬶懱揑偵偼丆師偺峴傪惗惉偡
傞丏
#include "kernel_id.h"
(1-2) 儅僋儘偺抲姺弴彉偺惂屼
儅僋儘偺抲姺弴彉傪曄偊傞偨傔偵丆埲壓偺儅僋儘掕媊峴傪惗惉偡傞丏
#define CFG_INTHDR_ENTRY(inthdr) INTHDR_ENTRY(inthdr)
#define CFG_EXCHDR_ENTRY(exchdr) EXCHDR_ENTRY(exchdr)
#define CFG_INT_ENTRY(inthdr) INT_ENTRY(inthdr)
#define CFG_EXC_ENTRY(exchdr) EXC_ENTRY(exchdr)
側偍丆偙傟傜偺儅僋儘偼丆尦乆偼夁嫀偺僶乕僕儑儞偲偺屳姺惈傪曐偮偨傔偵擖
傟偨傕偺偱偁傞丏偨偩偟丆夁嫀偺僶乕僕儑儞偲偺屳姺惈偑昁梫側偔偰傕丆儅僋
儘偺抲姺弴彉傪曄偊傞偨傔偵昁梫偱偁傞丏
(2)乽INCLUDE乿惷揑API偺張棟
僔僗僥儉僐儞僼傿僊儏儗乕僔儑儞僼傽僀儖偵娷傑傟傞乽INCLUDE乿惷揑API偵懳
墳偡傞僾儕僾儘僙僢僒僨傿儗僋僥傿僽乮#include乯傪惗惉偡傞丏椺偊偽丆
INCLUDE("\"sample1.h\"");
偲偄偆惷揑API偵懳偟偰丆
#include "sample1.h"
偲偄偆僨傿儗僋僥傿僽傪惗惉偡傞丏惗惉偡傞僨傿儗僋僥傿僽偺弴彉偼丆僔僗僥
儉僐儞僼傿僊儏儗乕僔儑儞僼傽僀儖拞偱偺惷揑API偺弴彉偵堦抳偝偣傞丏
(3) 奺僇乕僱儖僆僽僕僃僋僩偵娭偡傞掕媊
僔僗僥儉僐儞僼傿僊儏儗乕僔儑儞僼傽僀儖拞偵丆僆僽僕僃僋僩傪惗惉偡傞惷揑
API乽CRE_XXX乿偑娷傑傟傞奺僇乕僱儖僆僽僕僃僋僩偵娭偟偰丆僆僽僕僃僋僩惗
惉偺偨傔偺掕媊傪惗惉偡傞丏
僐儞僼傿僊儏儗乕僞偼丆摨偠庬椶偺僆僽僕僃僋僩傪惗惉偡傞惷揑API傪廤傔丆
偦傟傜傪ID斣崋偺弴偵暲傋懼偊傞丏摨偠ID斣崋偺僆僽僕僃僋僩傪惗惉偡傞惷揑
API偑暋悢娷傑傟偰偄傞応崌偵偼丆僐儞僼傿僊儏儗乕僞偑僄儔乕傪曬崘偡傞丏
JSP僇乕僱儖偼丆僆僽僕僃僋僩偺ID斣崋偑楢懕偟偰偄傞偙偲傪壖掕偟偰幚憰偟
偰偁傞丏ID斣崋偑楢懕偟偰偄側偄応崌偵偼丆僐儞僼傿僊儏儗乕僞偑僄儔乕傪曬
崘偡傞丏
傑偨丆僐儞僼傿僊儏儗乕僞偼丆僆僽僕僃僋僩偺ID斣崋偺戙傢傝偵幆暿巕偑婰弎
偝傟偰偄傞応崌偵丆偦偺僆僽僕僃僋僩偵ID斣崋傪妱傝晅偗傞丏ID斣崋偼丆懠偺
僆僽僕僃僋僩偺ID斣崋偲廳暋偑側偔丆ID斣崋偑偱偒傞尷傝楢懕偡傞傛偆偵妱傝
晅偗傞丏偦傟偱傕ID斣崋偑楢懕偵側傜側偄応崌偵偼丆僐儞僼傿僊儏儗乕僞偑僄
儔乕傪曬崘偡傞丏
奺僇乕僱儖僆僽僕僃僋僩偵娭偡傞掕媊偺昗弨揑側峔惉偼丆師偺捠傝偱偁傞丏僆
僽僕僃僋僩偵傛偭偰椺奜偑偁傞応崌偵偼丆僆僽僕僃僋僩枅偺崁偱愢柧偡傞丏
(a) 僆僽僕僃僋僩偺悢
僆僽僕僃僋僩偺悢傪儅僋儘掕媊偡傞僾儕僾儘僙僢僒僨傿儗僋僥傿僽乮#define乯
傪惗惉偡傞丏嬶懱揑偵偼丆僆僽僕僃僋僩偺徣棯婰崋傪乽XXX乿偲偡傞偲丆師偺
傛偆側峴傪惗惉偡傞丏
#define TNUM_XXXID <僆僽僕僃僋僩偺悢>
(b) 嵟戝偺僆僽僕僃僋僩ID偺曄悢偺掕媊
嵟戝偺僆僽僕僃僋僩ID傪帩偮曄悢偺掕媊傪惗惉偡傞丏嬶懱揑偵偼丆僆僽僕僃僋
僩偺徣棯婰崋傪乽XXX乛xxx乿偲偡傞偲丆師偺傛偆側峴傪惗惉偡傞丏
const ID tmax_xxxid = (TMIN_XXXID + TNUM_XXXID - 1);
(c) 僆僽僕僃僋僩偵昁梫側儊儌儕椞堟偺掕媊
僆僽僕僃僋僩偵傛偭偰偼丆僆僽僕僃僋僩偵昁梫側儊儌儕椞堟偺掕媊傪惗惉偡傞丏
嬶懱揑偵偼丆僆僽僕僃僋僩枅偺崁偱愢柧偡傞丏
(d) 僆僽僕僃僋僩偺弶婜壔僽儘僢僋偺掕媊
僆僽僕僃僋僩偺弶婜壔僽儘僢僋偺掕媊傪惗惉偡傞丏嬶懱揑偵偼丆僆僽僕僃僋僩
偺徣棯婰崋傪乽XXX乛xxx乿偲偡傞偲丆師偺傛偆側峴傪惗惉偡傞丏
const XXXINIB xxxinib_table[TNUM_XXXID] = {
<僆僽僕僃僋僩ID偑 1 偺僆僽僕僃僋僩偺弶婜壔忣曬>,
<僆僽僕僃僋僩ID偑 2 偺僆僽僕僃僋僩偺弶婜壔忣曬>,
乧乧
<僆僽僕僃僋僩ID偑 tmax_xxxid 偺僆僽僕僃僋僩偺弶婜壔忣曬>
};
僆僽僕僃僋僩偺弶婜壔忣曬偺宍幃偼丆僆僽僕僃僋僩枅偵堎側傞丏嬶懱揑偵偼丆
僆僽僕僃僋僩枅偺崁偱愢柧偡傞丏
(e) 僆僽僕僃僋僩偺僐儞僩儘乕儖僽儘僢僋偺掕媊
僆僽僕僃僋僩偺僐儞僩儘乕儖僽儘僢僋偺掕媊傪惗惉偡傞丏嬶懱揑偵偼丆僆僽僕僃
僋僩偺徣棯婰崋傪乽XXX乛xxx乿偲偡傞偲丆師偺傛偆側峴傪惗惉偡傞丏
XXXCB xxxcb_table[TNUM_XXXID];
(3-1) 僞僗僋偵娭偡傞掕媊
JSP僇乕僱儖偼丆僞僗僋偑堦偮傕側偄働乕僗偵懳墳偟偰偄側偄偨傔丆僞僗僋偵
娭偡傞掕媊偼昁偢惗惉偟側偗傟偽側傜側偄丏
僞僗僋偵娭偡傞掕媊偺僀儞僋儖乕僪僼傽僀儖柤偲僆僽僕僃僋僩偺徣棯婰崋偼師
偺捠傝偱偁傞丏偨偩偟丆僞僗僋弶婜壔僽儘僢僋偺僨乕僞宆偼 TINIB丆曄悢柤偼
tinib_table丆僞僗僋僐儞僩儘乕儖僽儘僢僋偺僨乕僞宆偼 TCB丆曄悢柤偼
tcb_table 偱偁傞乮偄偢傟傕乽TSK乛tsk乿偵戙偊偰乽T乛t乿傪梡偄偰偄傞乯丏
僀儞僋儖乕僪僼傽僀儖柤: task.h
僆僽僕僃僋僩偺徣棯婰崋: TSK
僞僗僋弶婜壔僽儘僢僋偵偼丆乽CRE_TSK乿惷揑API偱巜掕偝傟傞忣曬偵壛偊偰丆
乽DEF_TEX乿惷揑API偱巜掕偝傟傞忣曬傪娷傔傞丏
埲壓偱偼丆僔僗僥儉僐儞僼傿僊儏儗乕僔儑儞僼傽僀儖偵師偺惷揑API偑娷傑傟
偰偄傞帪偵惗惉偡傋偒忣曬偵偮偄偰弎傋傞丏
CRE_TSK(tskid, { tskatr, exinf, task, itskpri, stksz, stack });
DEF_TEX(tskid, { texatr, texrtn });
(3-1-1) 僞僗僋偵昁梫側儊儌儕椞堟偺掕媊
僞僗僋偵昁梫側儊儌儕椞堟偲偟偰丆僞僗僋偺僗僞僢僋椞堟偑偁傞丏惗惉偡傞奺
僞僗僋枅偵丆巜掕偝傟偨僒僀僘偺僗僞僢僋椞堟傪掕媊偡傞丏嬶懱揑偵偼丆忋婰
偺惷揑API偵懳偟偰丆師偺掕媊傪惗惉偡傞丏
static VP <僗僞僢僋椞堟偺曄悢柤>[TCOUNT_VP(stksz)];
偙偙偱丆<僗僞僢僋椞堟偺曄悢柤> 偼丆僞僗僋枅偵堎側傞幆暿巕傪惗惉偟偰梡
偄傞丏
(3-1-2) 僞僗僋偺弶婜壔忣曬
僞僗僋弶婜壔僽儘僢僋拞偵惗惉偡傞僞僗僋偺弶婜壔忣曬偼丆師偺宍幃偲偡傞丏
{ tskatr, (VP_INT)(exinf), (FP)(task), INT_PRIORITY(itskpri),
TROUND_VP(stksz), <僗僞僢僋椞堟偺曄悢柤>, texatr, (FP)(texrtn) }
偙偙偱丆CRE_TSK 偵懳墳偡傞 DEF_TEX 偑側偄応崌偵偼丆texatr 傪 TA_NULL丆
texrtn 傪 NULL 偲偡傞丏
(3-1-3) 僞僗僋惗惉弴彉僥乕僽儖偺掕媊
僞僗僋偵懳偟偰偼丆惗惉偝傟偨弴彉乮僞僗僋傪惗惉偡傞惷揑API偑婰弎偝傟偨
弴彉乯傪僥乕僽儖偵弌椡偡傞昁梫偑偁傞丏偙傟偼丆僞僗僋偺惗惉偝傟偨弴彉偱丆
僞僗僋偺弶婜壔乮傛傝嬶懱揑偵偼丆僞僗僋偺婲摦乯傪峴偆昁梫偑偁傞偨傔偱偁
傞丏
嬶懱揑偵偼丆師偺傛偆側峴傪惗惉偡傞丏
const ID torder_table[TNUM_TSKID] = {
<嵟弶偵惗惉偝傟偨僞僗僋偺僞僗僋ID>,
<2斣栚偵惗惉偝傟偨僞僗僋偺僞僗僋ID>,
乧乧
<嵟屻偵惗惉偝傟偨僞僗僋偺僞僗僋ID>
};
(3-1-4) 僄儔乕忦審
僞僗僋偺弶婜壔偵娭偡傞僄儔乕忦審偼師偺捠傝偱偁傞丏
丒DEF_TEX 偵懳墳偡傞 CRE_TSK 偑側偄応崌乮E_NOEXS乯
丒(tskatr & ~(TA_ACT)) 偑 0 偱側偄応崌乮E_RSATR乯
丒(TMIN_TPRI <= itskpri && itskpri <= TMAX_TPRI) 偱側偄応崌乮E_PAR乯
丒stack 偑 NULL 偱側偄応崌乮E_NOSPT乯
丒texatr 偑 0 偱側偄応崌乮E_RSATR乯
仸 偙偺懠偵丆task 傗 texrtn 偑僾儘僌儔儉偺奐巒斣抧偲偟偰惓偟偄側偄応崌
傗丆stksz 偑彫偝偡偓傞応崌偵傕僄儔乕偲偡傋偒偩偑丆僄儔乕忦審偑僞乕僎僢
僩偵埶懚偟偰偟傑偆偨傔丆崱屻偺壽戣偲偡傞丏
(3-2) 僙儅僼僅偵娭偡傞掕媊
僙儅僼僅偵娭偡傞掕媊偺僀儞僋儖乕僪僼傽僀儖柤偲僆僽僕僃僋僩偺徣棯婰崋偼
師偺捠傝偱偁傞丏
僀儞僋儖乕僪僼傽僀儖柤: semaphore.h
僆僽僕僃僋僩偺徣棯婰崋: SEM
埲壓偱偼丆僔僗僥儉僐儞僼傿僊儏儗乕僔儑儞僼傽僀儖偵師偺惷揑API偑娷傑傟
偰偄傞帪偵惗惉偡傋偒忣曬偵偮偄偰弎傋傞丏側偍丆僙儅僼僅偵昁梫側儊儌儕椞
堟偼側偄丏
CRE_SEM(semid, { sematr, isemcnt, maxsem });
(3-2-1) 僙儅僼僅偺弶婜壔忣曬
僙儅僼僅弶婜壔僽儘僢僋拞偵惗惉偡傞僙儅僼僅偺弶婜壔忣曬偼丆師偺宍幃偲偡
傞丏
{ sematr, isemcnt, maxsem }
(3-2-2) 僄儔乕忦審
僙儅僼僅偺弶婜壔偵娭偡傞僄儔乕忦審偼師偺捠傝偱偁傞丏
丒(sematr & ~(TA_TPRI)) 偑 0 偱側偄応崌乮E_RSATR乯
丒(isemcnt > maxsem) 偺応崌乮E_PAR乯
丒(1 <= maxsem && maxsem <= TMAX_MAXMSE) 偱側偄応崌乮E_PAR乯
(3-3) 僀儀儞僩僼儔僌偵娭偡傞掕媊
僀儀儞僩僼儔僌偵娭偡傞掕媊偺僀儞僋儖乕僪僼傽僀儖柤偲僆僽僕僃僋僩偺徣棯
婰崋偼師偺捠傝偱偁傞丏
僀儞僋儖乕僪僼傽僀儖柤: eventflag.h
僆僽僕僃僋僩偺徣棯婰崋: FLG
埲壓偱偼丆僔僗僥儉僐儞僼傿僊儏儗乕僔儑儞僼傽僀儖偵師偺惷揑API偑娷傑傟
偰偄傞帪偵惗惉偡傋偒忣曬偵偮偄偰弎傋傞丏側偍丆僀儀儞僩僼儔僌偵昁梫側儊
儌儕椞堟偼側偄丏
CRE_FLG(flgid, { flgatr, iflgptn });
(3-3-1) 僀儀儞僩僼儔僌偺弶婜壔忣曬
僀儀儞僩僼儔僌弶婜壔僽儘僢僋拞偵惗惉偡傞僀儀儞僩僼儔僌偺弶婜壔忣曬偼丆
師偺宍幃偲偡傞丏
{ flgatr, iflgptn }
(3-3-2) 僄儔乕忦審
僀儀儞僩僼儔僌偺弶婜壔偵娭偡傞僄儔乕忦審偼師偺捠傝偱偁傞丏
丒(flgatr & ~(TA_TPRI|TA_CLR)) 偑 0 偱側偄応崌乮E_RSATR乯
(3-4) 僨乕僞僉儏乕偵娭偡傞掕媊
僨乕僞僉儏乕偵娭偡傞掕媊偺僀儞僋儖乕僪僼傽僀儖柤偲僆僽僕僃僋僩偺徣棯婰
崋偼師偺捠傝偱偁傞丏
僀儞僋儖乕僪僼傽僀儖柤: dataqueue.h
僆僽僕僃僋僩偺徣棯婰崋: DTQ
埲壓偱偼丆僔僗僥儉僐儞僼傿僊儏儗乕僔儑儞僼傽僀儖偵師偺惷揑API偑娷傑傟
偰偄傞帪偵惗惉偡傋偒忣曬偵偮偄偰弎傋傞丏
CRE_DTQ(dtqid, { dtqatr, dtqcnt, dtq });
(3-4-1) 僨乕僞僉儏乕偵昁梫側儊儌儕椞堟偺掕媊
僨乕僞僉儏乕偵昁梫側儊儌儕椞堟偲偟偰丆僨乕僞僉儏乕椞堟偑偁傞丏惗惉偡傞
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -