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

📄 hw_timer.h

📁 FDMP the body of the kernel, the Information-Technology Promotion Agency (IPA) adopted by the unexpl
💻 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 *                2003      by  Advanced Data Controls, Corp *  Copyright (C) 2006      by Embedded and Real-Time Systems Laboratory *              Graduate School of Information Science, Nagoya Univ., JAPAN       *  *  惧淡螟侯涪荚は·笆布の (1)×(4) の掘凤か·Free Software Foundation  *  によって给山されている GNU General Public License の Version 2 に淡 *  揭されている掘凤を塔たす眷圭に嘎り·塑ソフトウェア∈塑ソフトウェア *  を猖恃したものを崔むˉ笆布票じ∷を蝗脱ˇ剩澜ˇ猖恃ˇ浩芹邵∈笆布· *  网脱と钙ぶ∷することを痰浸で钓满するˉ *  (1) 塑ソフトウェアをソ〖スコ〖ドの妨で网脱する眷圭には·惧淡の螟侯 *      涪山绩·この网脱掘凤および布淡の痰瘦沮惮年が·そのままの妨でソ〖 *      スコ〖ド面に崔まれていることˉ *  (2) 塑ソフトウェアを·ライブラリ妨及など·戮のソフトウェア倡券に蝗 *      脱できる妨で浩芹邵する眷圭には·浩芹邵に燃うドキュメント∈网脱 *      荚マニュアルなど∷に·惧淡の螟侯涪山绩·この网脱掘凤および布淡 *      の痰瘦沮惮年を非很することˉ *  (3) 塑ソフトウェアを·怠达に寥み哈むなど·戮のソフトウェア倡券に蝗 *      脱できない妨で浩芹邵する眷圭には·肌のいずれかの掘凤を塔たすこ *      とˉ *    (a) 浩芹邵に燃うドキュメント∈网脱荚マニュアルなど∷に·惧淡の螟 *        侯涪山绩·この网脱掘凤および布淡の痰瘦沮惮年を非很することˉ *    (b) 浩芹邵の妨轮を·侍に年める数恕によって·TOPPERSプロジェクトに *        鼠桂することˉ *  (4) 塑ソフトウェアの网脱により木儡弄または粗儡弄に栏じるいかなる禄 *      巢からも·惧淡螟侯涪荚およびTOPPERSプロジェクトを倘勒することˉ *  *  塑ソフトウェアは·痰瘦沮で捏丁されているものであるˉ惧淡螟侯涪荚お *  よびTOPPERSプロジェクトは·塑ソフトウェアに簇して·その努脱材墙拉も *  崔めて·いかなる瘦沮も乖わないˉまた·塑ソフトウェアの网脱により木 *  儡弄または粗儡弄に栏じたいかなる禄巢に簇しても·その勒扦を砷わないˉ *  *  @(#) $Id: hw_timer.h,v 1.1 2006/09/21 07:16:56 honda Exp $ *//* *  CPU巴赂タイマモジュ〖ル∈MPCore脱∷ *  コア柒垄タイマを蝗脱 */#ifndef _HW_TIMER_H_#define _HW_TIMER_H_#include <s_services.h>#include <ct11mpcore_eb.h>/* *  タイマ充哈みの充哈み戎规 */#define    INHNO_TIMER    DIC_INTID_TM#ifndef _MACRO_ONLY/* *  タイマ猛の柒婶山附の房 */typedef UW    CLOCK;/* *  タイマ猛の柒婶山附とミリ擅ˇμ擅帽疤との恃垂 *  TIMER_CLOCK はタ〖ゲットボ〖ド髓に肋年 */#define TO_CLOCK(nume, deno) (TIMER_CLOCK * (nume) / (deno))#define TO_USEC(clock)       ((clock) * 1000 / TIMER_CLOCK)/* *  肋年できる呵络のタイマ件袋∈帽疤は柒婶山附∷ */#define MAX_CLOCK    ((CLOCK) 0xffffffff)/* *  タイマの附哼猛を充哈み券栏涟の猛とみなすかの冉们 */#define GET_TOLERANCE    100#define BEFORE_IREQ(clock) \        ((clock) >= TO_CLOCK(TIC_NUME, TIC_DENO) - GET_TOLERANCE)/* *  タイマ充哈み妥滇のクリア */Inline voidhw_timer_int_clear(){	/* ペンディングビットをクリア */	sil_wrw_mem((VP)MPCORE_TM_ISR, MPCORE_TM_ISR_SCBIT);}/* *  タイマの匿贿借妄 */Inline voidhw_timer_terminate(){	/* タイマ匿贿  */ 	sil_wrw_mem((VP)MPCORE_TM_CNT, 0x00);		/* ペンディングビットクリア */ 	hw_timer_int_clear();		/*	 * 充哈み敦贿	 */ 	mpcore_dic_int_disable(DIC_INTID_TM);}/* *  タイマの弹瓢借妄 * *  タイマを介袋步し·件袋弄なタイマ充哈み妥滇を券栏させるˉ */Inline voidhw_timer_initialize(){	/* タイマ〖の匿贿*/	hw_timer_terminate();	/* ロ〖ド猛を肋年 */	sil_wrw_mem((VP)MPCORE_TM_LR, TO_CLOCK(TIC_NUME, TIC_DENO) - 1);	/*     * タイマ〖スタ〖ト(充哈み钓材)     * 1Mhzでカウントするようにプリスケ〖ラ〖を肋年	 */	sil_wrw_mem((VP)MPCORE_TM_CNT,				(MPCORE_TM_PS_1MHZ << MPCORE_TM_CNT_PS_OFFSET)				| MPCORE_TM_CNT_IEN | MPCORE_TM_CNT_AR | MPCORE_TM_CNT_EN);	/*	 * 充哈みを钓材する	 */ 	mpcore_dic_init_int_source(DIC_INTID_TM,							   MPCORE_TM_INT_LEVEL, /* 庭黎刨       */							   0,                   /* 极プロセッサ */							   0x00);               /* レベル充哈み */	}/* *  タイマの附哼猛の粕みだし * *  充哈み敦贿惰粗面で钙び叫すことˉ */Inline CLOCKhw_timer_get_current(void){    return(TO_CLOCK(TIC_NUME, TIC_DENO) - sil_rew_mem((VP)MPCORE_TM_COUNT));		   }/* * 充哈み觉轮のチェック */ Inline BOOLhw_timer_fetch_interrupt(void){	if((sil_rew_mem((VP)MPCORE_TM_ISR) & MPCORE_TM_ISR_SCBIT) == MPCORE_TM_ISR_SCBIT){		return TRUE;	}	else {		return FALSE;			}}#endif /* _MACRO_ONLY */#endif /* _HW_TIMER_H_ */

⌨️ 快捷键说明

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