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

📄 sys_config.h

📁 符合日本著名的ITRON规范的开源操作系统。 TOPPERS/JSP内核就是TOPPERS工程按μITRON4.0研发的第一个 软件
💻 H
字号:
/* *  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 *  Copyright (C) 2001-2003 by Industrial Technology Institute, *                              Miyagi Prefectural Government, JAPAN *  *  惧淡螟侯涪荚は·笆布の (1)×(4) の掘凤か·Free Software Foundation  *  によって给山されている GNU General Public License の Version 2 に淡 *  揭されている掘凤を塔たす眷圭に嘎り·塑ソフトウェア∈塑ソフトウェア *  を猖恃したものを崔むˉ笆布票じ∷を蝗脱ˇ剩澜ˇ猖恃ˇ浩芹邵∈笆布· *  网脱と钙ぶ∷することを痰浸で钓满するˉ *  (1) 塑ソフトウェアをソ〖スコ〖ドの妨で网脱する眷圭には·惧淡の螟侯 *      涪山绩·この网脱掘凤および布淡の痰瘦沮惮年が·そのままの妨でソ〖 *      スコ〖ド面に崔まれていることˉ *  (2) 塑ソフトウェアを·ライブラリ妨及など·戮のソフトウェア倡券に蝗 *      脱できる妨で浩芹邵する眷圭には·浩芹邵に燃うドキュメント∈网脱 *      荚マニュアルなど∷に·惧淡の螟侯涪山绩·この网脱掘凤および布淡 *      の痰瘦沮惮年を非很することˉ *  (3) 塑ソフトウェアを·怠达に寥み哈むなど·戮のソフトウェア倡券に蝗 *      脱できない妨で浩芹邵する眷圭には·肌のいずれかの掘凤を塔たすこ *      とˉ *    (a) 浩芹邵に燃うドキュメント∈网脱荚マニュアルなど∷に·惧淡の螟 *        侯涪山绩·この网脱掘凤および布淡の痰瘦沮惮年を非很することˉ *    (b) 浩芹邵の妨轮を·侍に年める数恕によって·TOPPERSプロジェクトに *        鼠桂することˉ *  (4) 塑ソフトウェアの网脱により木儡弄または粗儡弄に栏じるいかなる禄 *      巢からも·惧淡螟侯涪荚およびTOPPERSプロジェクトを倘勒することˉ *  *  塑ソフトウェアは·痰瘦沮で捏丁されているものであるˉ惧淡螟侯涪荚お *  よびTOPPERSプロジェクトは·塑ソフトウェアに簇して·その努脱材墙拉も *  崔めて·いかなる瘦沮も乖わないˉまた·塑ソフトウェアの网脱により木 *  儡弄または粗儡弄に栏じたいかなる禄巢に簇しても·その勒扦を砷わないˉ *  *  @(#) $Id: sys_config.h,v 1.2 2004/10/07 17:10:56 honda Exp $ *//* *	タ〖ゲットシステム巴赂モジュ〖ルのサンプル *     カ〖ネル柒婶で蝗脱する年盗 *      デ〖タ房、マクロ、簇眶のプロトタイプ离咐 * *  このインクル〖ドファイルは·t_config.h のみからインクル〖ドされるˉ *  戮のファイルから木儡インクル〖ドしてはならないˉ */#ifndef _SYS_CONFIG_H_#define _SYS_CONFIG_H_/* *  ユ〖ザ〖年盗攫鼠 */#include <user_config.h>/* *  カ〖ネルの柒婶急侍叹のリネ〖ム */#include <sys_rename.h>/* *  タ〖ゲットシステムのハ〖ドウェア获富の年盗 *///#include <******.h>//#include <******.h>/* *  弹瓢メッセ〖ジのタ〖ゲットシステム叹 */#define	TARGET_NAME	"Target name"/* *  腮警箕粗略ちのための年盗 */#define	SIL_DLY_TIM1	1425#define	SIL_DLY_TIM2	 350#ifndef _MACRO_ONLY/* *  タ〖ゲットシステム巴赂の介袋步 */extern void	sys_initialize(void);/* *  タ〖ゲットシステムの姜位 * *  システムを姜位する箕に蝗うˉ *  ROMモニタ】GDB STUB钙叫しは踏悸刘 */extern void	sys_exit(void);/* *  タ〖ゲットシステムの矢机叫蜗 * *  システムの你レベルの矢机叫蜗ル〖チンˉ *  ROMモニタ】GDB STUB钙叫しは踏悸刘 */extern void	sys_putc(char c) throw();#endif /* _MACRO_ONLY *//*  --------------------------------------------------------------  *//* * PowerPC鼎奶婶とのインタ〖フェ〖スの年盗 *//* *   MSRの介袋猛 */#define INIT_MSR    	0/* *  充哈みの塑眶 */#define TMAX_INTNO       10/* *  充哈み借妄のICU巴赂婶尸 *   借妄柒推 *    ˇ充哈み妥傍の冉侍 *    ˇ充哈みマスクの肋年 *    ˇ充哈み钓材 *    ˇC咐胳ル〖チン钙び叫し *    ˇ充哈み敦贿 *    ˇ∈涩妥であれば∷充り哈み妥滇フラグのクリア *    *   苞眶 *     label¨ラベル急侍脱矢机误 *         ∈剩眶舱疥でこのマクロを蝗脱できるようにするため∷ */#define _PROC_ICU(label)/* マクロ苞眶labelを澄悸に鸥倡するため、マクロを2脚にしている */#define PROC_ICU(label) _PROC_ICU(label)/* * 充り哈みコントロ〖ラのマスクIPM簇息の年盗 *//*  IPMの略闰  */    /*  庙罢¨spを4バイト董肠に拜积する  */#define PUSH_ICU_IPM/*  IPMの牲傅  */    /*  庙罢¨spを4バイト董肠に拜积する  */#define POP_ICU_IPM#ifdef SUPPORT_CHG_IPM/* * ICUに肋年するIPMパラメ〖タのチェック * * C咐胳の *   if (ipmの猛が稍赖) { *	ercd = E_PAR; *	goto exit; *    } * と票霹の借妄を乖うマクロ */#define CHECK_IPM(ipm)/* * 充り哈みコントロ〖ラのマスク艰评 */#define GET_IPM(p_ipm)	/* * 充り哈みコントロ〖ラのマスク肋年 */#define CHG_IPM(ipm)#endif	/*  SUPPORT_CHG_IPM  */#ifndef _MACRO_ONLY/* *  充哈みマスク脱导击ベクタテ〖ブル *	ipm_table极挛は$(CPU)とのインタ〖フェ〖スに崔まれない *   ∈define_ipmにより、保拭されている∷ */extern IPM ipm_table[];/* *  充り哈みレベルの肋年 *	充哈み戎规inhnoの充哈みを减け烧けたときに充哈みコントロ〖ラの *	IPMに肋年する猛を年盗する。 *	デバイスドライバの介袋步借妄で蝗脱されることを鳞年している。 * *   苞眶 *    inhno¨充哈みハンドラ戎规 *    ipm¨充哈みマスク * */Inline voiddefine_ipm(INHNO inhno, IPM ipm){	ipm_table[inhno] = ipm;}#endif /* _MACRO_ONLY *//*   *  臼排蜗モ〖ドへの败乖と充哈み钓材 *   悸乖すべきタスクがなくて充哈み略ちになるときに *   ディスパッチャの面で蝗脱される。 */ #define SAVE_POWPER	/*  借妄柒推をアセンブラで淡揭する  *//* ----------------------------------------------------------------- *//* * The IBM PowerPC Embedded Environment脱の年盗 *//* * 毋嘲借妄ル〖チンの年盗∈涩寇婶尸∷ *//* *  Critical Interrupt *   オフセット¨0x100 *   Critical Interruptはインプリメンテ〖ション巴赂なので *   借妄柒推はマクロ年盗しておく。 *    マクロ叹¨CRITICAL_INTERRUPT_EXCEPTION_PROC *   この借妄柒推は0x100バイトを亩えてはいけない。 *   ∈亩える眷圭は荒りの婶尸を侍の眷疥に芹弥して、 *    そこに尸呆すること∷ * *   Critical Interruptはカ〖ネル瓷妄嘲の毋嘲とする。 *   ∈この借妄ル〖チン柒でサ〖ビスコ〖ルを蝗脱しない。∷ * *  毋嘲クラス¨Critical *    リタ〖ン炭吾はrfci(Return From Critical Interrupt) *    を脱いる。 */#define CRITICAL_INTERRUPT_EXCEPTION_PROC	rfci				/*  アセンブラで淡揭する  *//*  このマクロ年盗はデバイスに圭わせて称极今き垂えて布さい。  *//* *  マシンˇチェック毋嘲 *   この借妄柒推は0x100バイトを亩えてはいけない。 *   ∈亩える眷圭は荒りの婶尸を侍の眷疥に芹弥して、 *    そこに尸呆すること∷ * *   カ〖ネル瓷妄嘲の毋嘲とする。 *   ∈この借妄ル〖チン柒でサ〖ビスコ〖ルを蝗脱しない。∷ * *  毋嘲クラス¨Critical *    リタ〖ン炭吾はrfci(Return From Critical Interrupt) *    を脱いる。 */#define MACHINE_CHECK_PROC	rfci						/*  アセンブラで淡揭する  *//*  このマクロ年盗はデバイスに圭わせて称极今き垂えて布さい。  *//* *  Programmable Interval timer *   オフセット¨0x1000 *   0x10バイトしか挝拌が充り碰てられていないので庙罢 */#define PROGRAMMABLE_INTERVAL_TIMER_PROC						/*  アセンブラで淡揭する  *//*  このマクロ年盗はデバイスに圭わせて称极今き垂えて布さい。  *//* *  Fixed Interval timer *   オフセット¨0x1010 *   0x10バイトしか挝拌が充り碰てられていないので庙罢 */#define FIXED_INTERVAL_TIMER_PROC						/*  アセンブラで淡揭する  *//*  このマクロ年盗はデバイスに圭わせて称极今き垂えて布さい。  *//* *  Watchdog timer *   オフセット¨0x1020 * *  毋嘲クラス¨Critical *    リタ〖ン炭吾はrfci(Return From Critical Interrupt) *    を脱いる。 * *   0x10バイトしか挝拌が充り碰てられていないので庙罢 *   カ〖ネル瓷妄嘲の毋嘲とする。 *   ∈この借妄ル〖チン柒でサ〖ビスコ〖ルを蝗脱しない。∷ */#define WATCHDOG_TIMER_PROC	rfci						/*  アセンブラで淡揭する  *//*  このマクロ年盗はデバイスに圭わせて称极今き垂えて布さい。  *//* *  Data TLB miss *   オフセット¨0x1100 *   0x10バイトしか挝拌が充り碰てられていないので庙罢 */#define DATA_TLB_MISS_PROC						/*  アセンブラで淡揭する  *//*  このマクロ年盗はデバイスに圭わせて称极今き垂えて布さい。  *//* *  Instruction TLB miss *   オフセット¨0x1200 *   0x10バイトしか挝拌が充り碰てられていないので庙罢 */#define INSTRUCTION_TLB_MISS_PROC						/*  アセンブラで淡揭する  *//*  このマクロ年盗はデバイスに圭わせて称极今き垂えて布さい。  *//* *  Debug毋嘲 *   オフセット¨0x2000 * *  毋嘲クラス¨Critical *    リタ〖ン炭吾はrfci(Return From Critical Interrupt) *    を脱いる。 *    *   妥傍は笆布の7硷梧 *    Trap *    Instruction address compare *    Data address compare *    Instruction complete *    Branch taken *    Exception *    Unconditional debug event *    *   カ〖ネル瓷妄嘲の毋嘲とする。 *   ∈この借妄ル〖チン柒でサ〖ビスコ〖ルを蝗脱しない。∷ *    *   0x10バイトしか挝拌が充り碰てられていないので庙罢 */#define DEBUG_PROC	rfci						/*  アセンブラで淡揭する  *//*  このマクロ年盗はデバイスに圭わせて称极今き垂えて布さい。  *//* *  インプリメンテ〖ション漓脱の借妄∈オフセット¨0xd00-0xff0∷ *    インプリメンテ〖ション盖铜の毋嘲ベクタ *   オフセットの回年数恕に庙罢すること。 *   恶挛弄には *     .org オフセット - EXCEPTION_VECTOR_BASE *   のように回年する。拒しくは戮の毋嘲妥傍の澈碰改疥を徊救。 *    毋えば、PowerPC405ではオフセット0xf20に *    APU Unavailable毋嘲の借妄を芹弥する *///#define IMPLEMENT_EXCEPTION_D00_PROC						/*  アセンブラで淡揭する  *//*  このマクロ年盗はデバイスに圭わせて称极今き垂えて布さい。  *//* * 毋嘲借妄ル〖チンの年盗∈オプション婶尸∷ *//* *  インプリメンテ〖ション漓脱の借妄∈オフセット¨0x2010-0x2ff0∷ *    インプリメンテ〖ション盖铜の毋嘲ベクタ∈1つとは嘎らない∷や *    戮の脱庞に蝗脱される *   オフセットの回年数恕に庙罢すること。 *   恶挛弄には *     .org オフセット - EXCEPTION_VECTOR_BASE *   のように回年する。拒しくは戮の毋嘲妥傍の澈碰改疥を徊救。 */// #define IMPLEMENT_EXCEPTION_02010_PROC						/*  アセンブラで淡揭する  *//*  このマクロ年盗はデバイスに圭わせて称极今き垂えて布さい。  */#endif /* _SYS_CONFIG_H_ *//*  end of file  */

⌨️ 快捷键说明

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