3 * Toyohashi Open Platform for Embedded Real-Time Systems/
4 * Advanced Standard Profile Kernel
6 * Copyright (C) 2008-2011 by Embedded and Real-Time Systems Laboratory
7 * Graduate School of Information Science, Nagoya Univ., JAPAN
9 * 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ
10 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改
11 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する.
12 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
13 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー
15 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
16 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用
17 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記
19 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
20 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ
22 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著
23 * 作権表示,この利用条件および下記の無保証規定を掲載すること.
24 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに
26 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
27 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること.
28 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理
29 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを
32 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お
33 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
34 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
35 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
38 * @(#) $Id: core_timer.h 2183 2011-07-23 10:29:36Z ertl-honda $
45 #ifndef TOPPERS_CORE_TIMER_H
46 #define TOPPERS_CORE_TIMER_H
53 #define INHNO_TIMER IRQNO_SYSTICK /* 割込みハンドラ番号 */
54 #define INTNO_TIMER IRQNO_SYSTICK /* 割込み番号 */
56 #ifndef TOPPERS_MACRO_ONLY
61 typedef uint32_t CLOCK;
64 * タイマ値の内部表現とミリ秒・μ秒単位との変換
67 #define TO_CLOCK(nume, deno) ((CLOCK)(TIMER_CLOCK * (nume) / (deno)))
68 #define TO_USEC(clock) (((SYSUTM) clock) * 1000U / TIMER_CLOCK)
71 * 設定できる最大のタイマ周期(単位は内部表現)
73 #define MAX_CLOCK ((CLOCK) 0x00ffffffU)
78 * タイマを初期化し,周期的なタイマ割込み要求を発生させる.
80 extern void target_timer_initialize(intptr_t exinf);
87 extern void target_timer_terminate(intptr_t exinf);
93 target_timer_get_current(void)
95 return(TO_CLOCK(TIC_NUME, TIC_DENO) - sil_rew_mem((void*)SYSTIC_CURRENT_VALUE));
102 target_timer_probe_int(void)
104 return((sil_rew_mem((void*)SYSTIC_CONTROL_STATUS) & SYSTIC_COUNTFLAG) == SYSTIC_COUNTFLAG);
110 extern void target_timer_handler(void);
112 #endif /* TOPPERS_MACRO_ONLY */
113 #endif /* TOPPERS_CORE_TIMER_H */