source: atk1_sh2/trunk/syslib/sh2-gnu/cq7144a/hw_sys_timer.c@ 4

Last change on this file since 4 was 4, checked in by msugi, 14 years ago

Interface誌2006年8月号添付のTOPPERS/OSEK用SH2をTOPPERS/ATK1に対応させました.多少のバグフィックスも行っています.

File size: 2.9 KB
Line 
1/*
2 * TOPPERS/OSEK Kernel
3 * Toyohashi Open Platform for Embedded Real-Time Systems/
4 * OSEK Kernel
5 *
6 * Copyright (C) 2004-2006 by Witz Corporation, JAPAN
7 *
8 * ã‹L’˜ìŒ ŽÒ‚́CˆÈ‰º‚Ì (1)`(4) ‚ÌðŒ‚©CFree Software Foundation
9 * ‚É‚æ‚Á‚ÄŒö•\‚³‚ê‚Ä‚¢‚é GNU General Public License ‚Ì Version 2 ‚É‹L
10 * q‚³‚ê‚Ä‚¢‚éðŒ‚ð–ž‚½‚·ê‡‚ÉŒÀ‚èC–{ƒ\ƒtƒgƒEƒFƒAi–{ƒ\ƒtƒgƒEƒFƒA
11 * ‚ð‰ü•Ï‚µ‚½‚à‚Ì‚ðŠÜ‚ށDˆÈ‰º“¯‚¶j‚ðŽg—pE•¡»E‰ü•ÏEÄ”z•ziˆÈ‰ºC
12 * —˜—p‚ƌĂԁj‚·‚邱‚Ƃ𖳏ž‚Å‹–‘ø‚·‚éD
13 * (1) –{ƒ\ƒtƒgƒEƒFƒA‚ðƒ\[ƒXƒR[ƒh‚ÌŒ`‚Å—˜—p‚·‚éê‡‚ɂ́Cã‹L‚Ì’˜ì
14 * Œ •\Ž¦C‚±‚Ì—˜—pðŒ‚¨‚æ‚щº‹L‚Ì–³•ÛØ‹K’肪C‚»‚Ì‚Ü‚Ü‚ÌŒ`‚Ń\[
15 * ƒXƒR[ƒh’†‚ÉŠÜ‚Ü‚ê‚Ä‚¢‚邱‚ƁD
16 * (2) –{ƒ\ƒtƒgƒEƒFƒA‚ðCƒ‰ƒCƒuƒ‰ƒŠŒ`Ž®‚ȂǁC‘¼‚̃\ƒtƒgƒEƒFƒAŠJ”­‚ÉŽg
17 * —p‚Å‚«‚éŒ`‚ōĔz•z‚·‚éê‡‚ɂ́CÄ”z•z‚É”º‚¤ƒhƒLƒ…
18ƒƒ“ƒgi—˜—p
19 * ŽÒƒ}ƒjƒ…
20ƒAƒ‹‚Ȃǁj‚ɁCã‹L‚Ì’˜ìŒ •\Ž¦C‚±‚Ì—˜—pðŒ‚¨‚æ‚щº‹L
21 * ‚Ì–³•ÛØ‹K’è‚ðŒfÚ‚·‚邱‚ƁD
22 * (3) –{ƒ\ƒtƒgƒEƒFƒA‚ðC‹@Ší‚É‘g‚ݍž‚ނȂǁC‘¼‚̃\ƒtƒgƒEƒFƒAŠJ”­‚ÉŽg
23 * —p‚Å‚«‚È‚¢Œ`‚ōĔz•z‚·‚éê‡‚ɂ́CŽŸ‚Ì‚¢‚¸‚ê‚©‚ÌðŒ‚ð–ž‚½‚·‚±
24 * ‚ƁD
25 * (a) Ä”z•z‚É”º‚¤ƒhƒLƒ…
26ƒƒ“ƒgi—˜—pŽÒƒ}ƒjƒ…
27ƒAƒ‹‚Ȃǁj‚ɁCã‹L‚Ì’˜
28 * ìŒ •\Ž¦C‚±‚Ì—˜—pðŒ‚¨‚æ‚щº‹L‚Ì–³•ÛØ‹K’è‚ðŒfÚ‚·‚邱‚ƁD
29 * (b) Ä”z•z‚ÌŒ`‘Ô‚ðC•Ê‚É’è‚ß‚é•û–@‚É‚æ‚Á‚āCTOPPERSƒvƒƒWƒFƒNƒg‚É
30 * •ñ‚·‚邱‚ƁD
31 * (4) –{ƒ\ƒtƒgƒEƒFƒA‚Ì—˜—p‚É‚æ‚è’¼Ú“I‚Ü‚½‚͊ԐړI‚ɐ¶‚¶‚é‚¢‚©‚Ȃ鑹
32 * ŠQ‚©‚ç‚àCã‹L’˜ìŒ ŽÒ‚¨‚æ‚ÑTOPPERSƒvƒƒWƒFƒNƒg‚ð–Ɛӂ·‚邱‚ƁD
33 *
34 * –{ƒ\ƒtƒgƒEƒFƒA‚́C–³•ÛØ‚Å’ñ‹Ÿ‚³‚ê‚Ä‚¢‚é‚à‚Ì‚Å‚ ‚éDã‹L’˜ìŒ ŽÒ‚¨
35 * ‚æ‚ÑTOPPERSƒvƒƒWƒFƒNƒg‚́C–{ƒ\ƒtƒgƒEƒFƒA‚ÉŠÖ‚µ‚āC‚»‚Ì“K—p‰Â”\«‚à
36 * ŠÜ‚߂āC‚¢‚©‚È‚é•ÛØ‚às‚í‚È‚¢D‚Ü‚½C–{ƒ\ƒtƒgƒEƒFƒA‚Ì—˜—p‚É‚æ‚è’¼
37 * Ú“I‚Ü‚½‚͊ԐړI‚ɐ¶‚¶‚½‚¢‚©‚Ȃ鑹ŠQ‚ÉŠÖ‚µ‚Ä‚àC‚»‚̐ӔC‚𕉂í‚È‚¢D
38 *
39 */
40
41/*
42 * ƒTƒ“ƒvƒ‹Œü‚¯ƒ^[ƒQƒbƒgˆË‘¶ƒVƒXƒeƒ€ƒ^ƒCƒ}ƒ‚ƒWƒ…
43[ƒ‹iCQ7144A—pj
44 */
45
46
47#include "hw_sys_timer.h"
48
49
50/*
51 * ƒVƒXƒeƒ€ƒ^ƒCƒ}‚Ì‹N“®ˆ—
52 *
53 * Š„ž‚Ý‹ÖŽ~ó‘ԂŌďo‚·‚±‚ƁD
54 */
55void
56InitHwSysTimer( void )
57{
58 /*
59 * CMTƒ‚ƒWƒ…
60[ƒ‹ƒXƒ^ƒ“ƒoƒC‰ðœ
61 */
62 MSTCR2 &= (UINT16)~0x1000; /* CMT—LŒø */
63
64 /*
65 * ƒRƒ“ƒyƒAƒ}ƒbƒ`ƒ^ƒCƒ}‚ð’âŽ~‚µ‚ÄŠeƒŒƒWƒXƒ^Ý’è
66 * ƒRƒ“ƒyƒAƒ}ƒbƒ`ƒ^ƒCƒ}0‚ðŽg—p‚·‚éD
67 */
68 CMSTR &= (UINT16)~0x0001; /* ƒJƒEƒ“ƒg’âŽ~ */
69
70 /*
71 * •ªŽü”ä Žü•ÓƒNƒƒbƒN 1/8, Š„‚荞‚Ý‹ÖŽ~
72 * CMCSR ‚Ì bit7 ‚ªŠ„ž‚Ý—v‹ƒtƒ‰ƒO‚Å‚ ‚èC“¯Žž‚ɃNƒŠƒA‚µ‚Ä‚¢‚éD
73 */
74 CMCSR_0 = (UINT16)0x0000;
75
76 /*
77 * ƒRƒ“ƒyƒ}ƒbƒ`ƒJƒEƒ“ƒ^–Ú•W’lÝ’è
78 */
79 CMCOR_0 = CFG_SYSCLK;
80
81 /*
82 * ƒ^ƒCƒ}ƒRƒ“ƒyƒAŠ„ž‚݃Œƒxƒ‹Ý’èiÝ’背ƒxƒ‹‚̓wƒbƒ_ŽQÆj
83 */
84 IPRG = (UINT16)((IPRG & ~(0xFu << 4)) | (CFG_INTLVL_SYSCLK << 4));
85
86 /*
87 * ƒJƒEƒ“ƒ^ƒNƒŠƒA‚ÆŠ„ž‚Ý‹–‰Â
88 */
89 CMCNT_0 = (UINT16)0x0000; /* ƒJƒEƒ“ƒgƒNƒŠƒA */
90 CMCSR_0 |= (UINT16)0x0040; /* ƒRƒ“ƒyƒAƒ}ƒbƒ`Š„ž‚Ý‹–‰Â */
91
92 CMSTR |= (UINT16)0x0001; /* ƒJƒEƒ“ƒgŠJŽn */
93
94} /* InitHwSysTimer */
95
96
97/*
98 * ƒVƒXƒeƒ€ƒ^ƒCƒ}‚Ì’âŽ~ˆ—
99 *
100 * Š„ž‚Ý‹ÖŽ~ó‘ԂŌďo‚·‚±‚ƁD
101 */
102void
103TermHwSysTimer( void )
104{
105 CMSTR &= (UINT16)~0x0001; /* ƒJƒEƒ“ƒg’âŽ~ */
106 CMCSR_0 = (UINT16)0x0000; /* ‹@”\‰Šú‰» */
107} /* TermHwSysTimer */
108
109
Note: See TracBrowser for help on using the repository browser.