📄 configurator.txt
字号:
♂ JSPカ〖ネル コンフィギュレ〖タ慌屯 ♂ ∈Release 1.3滦炳·呵姜构糠: 9-Apr-2002∷------------------------------------------------------------------------ TOPPERS/JSP Kernel Toyohashi Open Platform for Embedded Real-Time Systems/ Just Standard Profile Kernel Copyright (C) 2000-2002 by Embedded and Real-Time Systems Laboratory Toyohashi Univ. of Technology, JAPAN 惧淡螟侯涪荚は·Free Software Foundation によって给山されている GNU General Public License の Version 2 に淡揭されている掘凤か·笆 布の(1)×(4)の掘凤を塔たす眷圭に嘎り·塑ソフトウェア∈塑ソフトウェ アを猖恃したものを崔むˉ笆布票じ∷を蝗脱ˇ剩澜ˇ猖恃ˇ浩芹邵∈笆布· 网脱と钙ぶ∷することを痰浸で钓满するˉ (1) 塑ソフトウェアをソ〖スコ〖ドの妨で网脱する眷圭には·惧淡の螟侯 涪山绩·この网脱掘凤および布淡の痰瘦沮惮年が·そのままの妨でソ〖 スコ〖ド面に崔まれていることˉ (2) 塑ソフトウェアを浩网脱材墙なバイナリコ〖ド∈リロケ〖タブルオブ ジェクトファイルやライブラリなど∷の妨で网脱する眷圭には·网脱 に燃うドキュメント∈网脱荚マニュアルなど∷に·惧淡の螟侯涪山绩· この网脱掘凤および布淡の痰瘦沮惮年を非很することˉ (3) 塑ソフトウェアを浩网脱稍材墙なバイナリコ〖ドの妨または怠达に寥 み哈んだ妨で网脱する眷圭には·肌のいずれかの掘凤を塔たすことˉ (a) 网脱に燃うドキュメント∈网脱荚マニュアルなど∷に·惧淡の螟侯 涪山绩·この网脱掘凤および布淡の痰瘦沮惮年を非很することˉ (b) 网脱の妨轮を·侍に年める数恕によって·惧淡螟侯涪荚に鼠桂する ことˉ (4) 塑ソフトウェアの网脱により木儡弄または粗儡弄に栏じるいかなる禄 巢からも·惧淡螟侯涪荚を倘勒することˉ 塑ソフトウェアは·痰瘦沮で捏丁されているものであるˉ惧淡螟侯涪荚は· 塑ソフトウェアに簇して·その努脱材墙拉も崔めて·いかなる瘦沮も乖わ ないˉまた·塑ソフトウェアの网脱により木儡弄または粗儡弄に栏じたい かなる禄巢に簇しても·その勒扦を砷わないˉ @(#) $Id: configurator.txt,v 1.13 2002/04/14 15:27:12 hiro Exp $------------------------------------------------------------------------このドキュメントでは·JSPカ〖ネルのコンフィギュレ〖タが栏喇すべきファイルの柒推について豺棱するˉJSPカ〖ネルのコンフィギュレ〖タは·システムコンフィギュレ〖ションファイルを借妄して·カ〖ネル菇喇ファイル∈kernel_cfg.c∷とID极瓢充烧け冯蔡ファイル∈kernel_id.h∷を栏喇するˉまた·琅弄APIのパラメ〖タチェックに脱いるファイル∈kernel_chk.c∷を栏喇するˉID极瓢充烧け冯蔡ファイルは·コンフィギュレ〖タがID戎规を充り烧けたオブジェクトの叹涟を·充り烧けたID戎规に年盗するファイルであるˉ笆布では·カ〖ネル菇喇ファイルの柒推について豺棱するˉ(1) 盖年栏喇婶尸(1-1) 筛洁インクル〖ドファイルJSPカ〖ネルの筛洁インクル〖ドファイルをインクル〖ドするプリプロセッサディレクティブ∈#include∷を栏喇するˉ恶挛弄には·肌の乖を栏喇するˉ#include "jsp_kernel.h"また·涩妥であれば·ID极瓢充烧け冯蔡ファイルをインクル〖ドするプリプロセッサディレクティブ∈#include∷を栏喇するˉ恶挛弄には·肌の乖を栏喇するˉ#include "kernel_id.h"(1-2) 册殿との般いの帝箭册殿のバ〖ジョンとの高垂拉を瘦つために·笆布の乖を栏喇するˉ#if TKERNEL_PRVER >= 0x1011 #define CFG_INTHDR_ENTRY(inthdr) INTHDR_ENTRY(inthdr) #define CFG_EXCHDR_ENTRY(exchdr) EXCHDR_ENTRY(exchdr) #else #define CFG_INTHDR_ENTRY(inthdr) INTHDR_ENTRY(ENTRY(inthdr), inthdr) #define CFG_EXCHDR_ENTRY(exchdr) EXCHDR_ENTRY(ENTRY(exchdr), exchdr) #define INT_ENTRY(inthdr) ENTRY(inthdr) #define EXC_ENTRY(exchdr) ENTRY(exchdr)#endif(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) オブジェクトに簇するインクル〖ドファイルオブジェクトの介袋步ブロックやコントロ〖ルブロックの年盗などを崔んだインクル〖ドファイルをインクル〖ドするプリプロセッサディレクティブ∈#include∷を栏喇するˉ恶挛弄には·インクル〖ドファイルの叹涟を ≈xxxxxx.h∽とすると·肌のような乖を栏喇するˉ#include "xxxxxx.h"(b) オブジェクトの眶オブジェクトの眶をマクロ年盗するプリプロセッサディレクティブ∈#define∷を栏喇するˉ恶挛弄には·オブジェクトの臼维淡规を≈XXX∽とすると·肌のような乖を栏喇するˉ#define TNUM_XXXID <オブジェクトの眶>(c) 呵络のオブジェクトIDの恃眶の年盗呵络のオブジェクトIDを积つ恃眶の年盗を栏喇するˉ恶挛弄には·オブジェクトの臼维淡规を≈XXX】xxx∽とすると·肌のような乖を栏喇するˉconst ID tmax_xxxid = (TMIN_XXXID + TNUM_XXXID - 1);(d) オブジェクトに涩妥なメモリ挝拌の年盗オブジェクトによっては·オブジェクトに涩妥なメモリ挝拌の年盗を栏喇するˉ恶挛弄には·オブジェクト髓の灌で棱汤するˉ(e) オブジェクトの介袋步ブロックの年盗オブジェクトの介袋步ブロックの年盗を栏喇するˉ恶挛弄には·オブジェクトの臼维淡规を≈XXX】xxx∽とすると·肌のような乖を栏喇するˉconst XXXINIB xxxinib_table[TNUM_XXXID] = { <オブジェクトIDが 1 のオブジェクトの介袋步攫鼠>, <オブジェクトIDが 2 のオブジェクトの介袋步攫鼠>, ∧∧ <オブジェクトIDが tmax_xxxid のオブジェクトの介袋步攫鼠>};オブジェクトの介袋步攫鼠の妨及は·オブジェクト髓に佰なるˉ恶挛弄には·オブジェクト髓の灌で棱汤するˉ(f) オブジェクトのコントロ〖ルブロックの年盗オブジェクトのコントロ〖ルブロックの年盗を栏喇するˉ恶挛弄には·オブジェクトの臼维淡规を≈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), task, INT_PRIORITY(itskpri), TROUND_VP(stksz), <スタック挝拌の恃眶叹>, texatr, texrtn }ここで·CRE_TSK に滦炳する DEF_TEX がない眷圭には·texatr を TA_NULL·texrtn を NULL とするˉ(3-1-3) エラ〖掘凤タスクの介袋步に簇するエラ〖掘凤は肌の奶りであるˉˇ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∷ˇ(maxsem > TMAX_MAXSEM) の眷圭∈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) デ〖タキュ〖に涩妥なメモリ挝拌の年盗デ〖タキュ〖に涩妥なメモリ挝拌として·デ〖タキュ〖挝拌があるˉ栏喇する称デ〖タキュ〖髓に·涩妥なサイズのデ〖タキュ〖挝拌を年盗するˉ恶挛弄には·惧淡の琅弄APIに滦して·肌の年盗を栏喇するˉ#if (dtqcnt) > 0static VP_INT <デ〖タキュ〖挝拌の恃眶叹>[dtqcnt];#else#define <デ〖タキュ〖挝拌の恃眶叹> NULL#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -