📄 util.h
字号:
/* * TOPPERS/JSP Kernel * Toyohashi Open Platform for Embedded Real-Time Systems/ * Just Standard Profile Kernel * * Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory * Toyohashi Univ. of Technology, JAPAN * Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering * Tomakomai National College of Technology, JAPAN * Copyright (C) 2001-2004 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プロジェクトは·塑ソフトウェアに簇して·その努脱材墙拉も * 崔めて·いかなる瘦沮も乖わないˉまた·塑ソフトウェアの网脱により木 * 儡弄または粗儡弄に栏じたいかなる禄巢に簇しても·その勒扦を砷わないˉ */#ifndef _UTIL_H_#define _UTIL_H_/* * このヘッダファイルに崔まれているマクロは、付搂として、カ〖ネル倡券荚に滦して * 给倡されているものである。そのため、パラメ〖タチェックなどが稍浇尸である。 * ユ〖ザ〖にあっては、极甘勒扦において网脱すること。 *//* * ビット戎规の年盗 */#define BIT0 0x1#define BIT1 0x2#define BIT2 0x4#define BIT3 0x8#define BIT4 0x10#define BIT5 0x20#define BIT6 0x40#define BIT7 0x80#define BIT8 0x100#define BIT9 0x200#define BIT10 0x400#define BIT11 0x800#define BIT12 0x1000#define BIT13 0x2000#define BIT14 0x4000#define BIT15 0x8000/* * バイトデ〖タ拎侯脱マクロ *//* 笆布において、x¨稍年 *//* 笆布のような今き数と、どっちが紊いか々 (UH) (((UW) (c)) & 0x0000ffff) (UH) (((UW) (c)) & 0xffff0000) >> 16*//* (UH) xxaa -> (UB) aa */ /* 布疤1バイト艰り叫し */#define LO8(c) (UB)( (UH)(c) & 0xff )/* (UH) aaxx -> (UB) aa */ /* 惧疤1バイト艰り叫し */#define HI8(c) LO8( (UH)(c) >> 8 )/* (UW) xxxxaaaa -> (UH) aaaa */ /* 布疤2バイト艰り叫し */#define LO16(c) (UH)( (UW)(c) & 0xffff )/* (UW) aaaaxxxx -> (UH) aaaa */ /* 惧疤2バイト艰り叫し */#define HI16(c) LO16( (UW)(c) >> 16 )/* (UH) aaaa, (UH) bbbb -> (UW) aaaabbbb */ /* 2バイトデ〖タの冯圭 */#define JOIN16(hi, lo) (UW)( ((UW)(hi) << 16) | (lo) )/* (UB) aa, (UB) bb -> (UH) aabb */ /* 1バイトデ〖タの冯圭 */#define JOIN8(hi, lo) (UH)( ((UH)(hi) << 8) | (lo) )/* (BIN) : 2渴眶 *//* (BIN) xxxxaaaa -> (BIN) 0000aaaa */ /* 0-3ビットに芹弥 */#define TO_LO4(c) ( (UB)(c) & 0xf )/* (BIN) xxxxaaaa -> (BIN) aaaa0000 */ /* 4-7ビットに芹弥 */#define TO_HI4(c) (((UB)(c) << 4) & 0xf0)/* * 眶猛デ〖タ矢机误步脱マクロ */#define _TO_STRING(arg) #arg#define TO_STRING(arg) _TO_STRING(arg)#endif /* _UTIL_H_ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -