2 * TOPPERS/OSEK Kernel
\r
3 * Toyohashi Open Platform for Embedded Real-Time Systems/
\r
6 * Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
\r
7 * Toyohashi Univ. of Technology, JAPAN
\r
8 * Copyright (C) 2004 by Embedded and Real-Time Systems Laboratory
\r
9 * Graduate School of Information Science, Nagoya Univ., JAPAN
\r
10 * Copyright (C) 2004-2006 by Witz Corporation, JAPAN
\r
12 *
\8fã
\8bL
\92\98\8dì
\8c \8eÒ
\82Í
\81C
\88È
\89º
\82Ì (1)
\81`(4)
\82Ì
\8fð
\8c\8f\82©
\81CFree Software Foundation
\r
13 *
\82É
\82æ
\82Á
\82Ä
\8cö
\95\
\82³
\82ê
\82Ä
\82¢
\82é GNU General Public License
\82Ì Version 2
\82É
\8bL
\r
14 *
\8fq
\82³
\82ê
\82Ä
\82¢
\82é
\8fð
\8c\8f\82ð
\96\9e\82½
\82·
\8fê
\8d\87\82É
\8cÀ
\82è
\81C
\96{
\83\
\83t
\83g
\83E
\83F
\83A
\81i
\96{
\83\
\83t
\83g
\83E
\83F
\83A
\r
15 *
\82ð
\89ü
\95Ï
\82µ
\82½
\82à
\82Ì
\82ð
\8aÜ
\82Þ
\81D
\88È
\89º
\93¯
\82¶
\81j
\82ð
\8eg
\97p
\81E
\95¡
\90»
\81E
\89ü
\95Ï
\81E
\8dÄ
\94z
\95z
\81i
\88È
\89º
\81C
\r
16 *
\97\98\97p
\82Æ
\8cÄ
\82Ô
\81j
\82·
\82é
\82±
\82Æ
\82ð
\96³
\8f\9e\82Å
\8b\96\91ø
\82·
\82é
\81D
\r
17 * (1)
\96{
\83\
\83t
\83g
\83E
\83F
\83A
\82ð
\83\
\81[
\83X
\83R
\81[
\83h
\82Ì
\8c`
\82Å
\97\98\97p
\82·
\82é
\8fê
\8d\87\82É
\82Í
\81C
\8fã
\8bL
\82Ì
\92\98\8dì
\r
18 *
\8c \95\
\8e¦
\81C
\82±
\82Ì
\97\98\97p
\8fð
\8c\8f\82¨
\82æ
\82Ñ
\89º
\8bL
\82Ì
\96³
\95Û
\8fØ
\8bK
\92è
\82ª
\81C
\82»
\82Ì
\82Ü
\82Ü
\82Ì
\8c`
\82Å
\83\
\81[
\r
19 *
\83X
\83R
\81[
\83h
\92\86\82É
\8aÜ
\82Ü
\82ê
\82Ä
\82¢
\82é
\82±
\82Æ
\81D
\r
20 * (2)
\96{
\83\
\83t
\83g
\83E
\83F
\83A
\82ð
\81C
\83\89\83C
\83u
\83\89\83\8a\8c`
\8e®
\82È
\82Ç
\81C
\91¼
\82Ì
\83\
\83t
\83g
\83E
\83F
\83A
\8aJ
\94
\82É
\8eg
\r
21 *
\97p
\82Å
\82«
\82é
\8c`
\82Å
\8dÄ
\94z
\95z
\82·
\82é
\8fê
\8d\87\82É
\82Í
\81C
\8dÄ
\94z
\95z
\82É
\94º
\82¤
\83h
\83L
\83\85\83\81\83\93\83g
\81i
\97\98\97p
\r
22 *
\8eÒ
\83}
\83j
\83\85\83A
\83\8b\82È
\82Ç
\81j
\82É
\81C
\8fã
\8bL
\82Ì
\92\98\8dì
\8c \95\
\8e¦
\81C
\82±
\82Ì
\97\98\97p
\8fð
\8c\8f\82¨
\82æ
\82Ñ
\89º
\8bL
\r
23 *
\82Ì
\96³
\95Û
\8fØ
\8bK
\92è
\82ð
\8cf
\8dÚ
\82·
\82é
\82±
\82Æ
\81D
\r
24 * (3)
\96{
\83\
\83t
\83g
\83E
\83F
\83A
\82ð
\81C
\8b@
\8aí
\82É
\91g
\82Ý
\8d\9e\82Þ
\82È
\82Ç
\81C
\91¼
\82Ì
\83\
\83t
\83g
\83E
\83F
\83A
\8aJ
\94
\82É
\8eg
\r
25 *
\97p
\82Å
\82«
\82È
\82¢
\8c`
\82Å
\8dÄ
\94z
\95z
\82·
\82é
\8fê
\8d\87\82É
\82Í
\81C
\8e\9f\82Ì
\82¢
\82¸
\82ê
\82©
\82Ì
\8fð
\8c\8f\82ð
\96\9e\82½
\82·
\82±
\r
27 * (a)
\8dÄ
\94z
\95z
\82É
\94º
\82¤
\83h
\83L
\83\85\83\81\83\93\83g
\81i
\97\98\97p
\8eÒ
\83}
\83j
\83\85\83A
\83\8b\82È
\82Ç
\81j
\82É
\81C
\8fã
\8bL
\82Ì
\92\98\r
28 *
\8dì
\8c \95\
\8e¦
\81C
\82±
\82Ì
\97\98\97p
\8fð
\8c\8f\82¨
\82æ
\82Ñ
\89º
\8bL
\82Ì
\96³
\95Û
\8fØ
\8bK
\92è
\82ð
\8cf
\8dÚ
\82·
\82é
\82±
\82Æ
\81D
\r
29 * (b)
\8dÄ
\94z
\95z
\82Ì
\8c`
\91Ô
\82ð
\81C
\95Ê
\82É
\92è
\82ß
\82é
\95û
\96@
\82É
\82æ
\82Á
\82Ä
\81CTOPPERS
\83v
\83\8d\83W
\83F
\83N
\83g
\82É
\r
30 *
\95ñ
\8d\90\82·
\82é
\82±
\82Æ
\81D
\r
31 * (4)
\96{
\83\
\83t
\83g
\83E
\83F
\83A
\82Ì
\97\98\97p
\82É
\82æ
\82è
\92¼
\90Ú
\93I
\82Ü
\82½
\82Í
\8aÔ
\90Ú
\93I
\82É
\90¶
\82¶
\82é
\82¢
\82©
\82È
\82é
\91¹
\r
32 *
\8aQ
\82©
\82ç
\82à
\81C
\8fã
\8bL
\92\98\8dì
\8c \8eÒ
\82¨
\82æ
\82ÑTOPPERS
\83v
\83\8d\83W
\83F
\83N
\83g
\82ð
\96Æ
\90Ó
\82·
\82é
\82±
\82Æ
\81D
\r
34 *
\96{
\83\
\83t
\83g
\83E
\83F
\83A
\82Í
\81C
\96³
\95Û
\8fØ
\82Å
\92ñ
\8b\9f\82³
\82ê
\82Ä
\82¢
\82é
\82à
\82Ì
\82Å
\82 \82é
\81D
\8fã
\8bL
\92\98\8dì
\8c \8eÒ
\82¨
\r
35 *
\82æ
\82ÑTOPPERS
\83v
\83\8d\83W
\83F
\83N
\83g
\82Í
\81C
\96{
\83\
\83t
\83g
\83E
\83F
\83A
\82É
\8aÖ
\82µ
\82Ä
\81C
\82»
\82Ì
\93K
\97p
\89Â
\94\
\90«
\82à
\r
36 *
\8aÜ
\82ß
\82Ä
\81C
\82¢
\82©
\82È
\82é
\95Û
\8fØ
\82à
\8ds
\82í
\82È
\82¢
\81D
\82Ü
\82½
\81C
\96{
\83\
\83t
\83g
\83E
\83F
\83A
\82Ì
\97\98\97p
\82É
\82æ
\82è
\92¼
\r
37 *
\90Ú
\93I
\82Ü
\82½
\82Í
\8aÔ
\90Ú
\93I
\82É
\90¶
\82¶
\82½
\82¢
\82©
\82È
\82é
\91¹
\8aQ
\82É
\8aÖ
\82µ
\82Ä
\82à
\81C
\82»
\82Ì
\90Ó
\94C
\82ð
\95\89\82í
\82È
\82¢
\81D
\r
42 *
\83^
\83X
\83N
\83R
\83\93\83e
\83L
\83X
\83g
\91\80\8dì
\83\8b\81[
\83`
\83\93\81iAT91SAM7S
\97p
\81j
\r
44 *
\82±
\82Ì
\83t
\83@
\83C
\83\8b\82ð cpu_config.h
\82Æ
\95ª
\97£
\82µ
\82Ä
\82¢
\82é
\82Ì
\82Í
\81C
\82±
\82Ì
\83t
\83@
\83C
\83\8b\82Í TCB
\r
45 *
\82ª
\92è
\8b`
\82³
\82ê
\82½
\8cã
\82É
\93Ç
\82Þ
\95K
\97v
\82ª
\82 \82é
\82Ì
\82É
\91Î
\82µ
\82Ä
\81Ccpu_config.h
\82É
\82Í TCB
\82ð
\r
46 *
\92è
\8b`
\82·
\82é
\91O
\82É
\93Ç
\82Þ
\95K
\97v
\82ª
\82 \82é
\92è
\8b`
\82ð
\8aÜ
\82ñ
\82Å
\82¢
\82é
\82½
\82ß
\82Å
\82 \82é
\81D
\r
50 #ifndef _CPU_CONTEXT_H_
\r
51 #define _CPU_CONTEXT_H_
\r
54 *
\83^
\83X
\83N
\82ð
\8bN
\93®
\82Å
\82«
\82é
\8fó
\91Ô
\82É
\90Ý
\92è
\82·
\82é
\8aÖ
\90\94\82Ì(cpu_support.S)
\83v
\83\8d\83g
\83^
\83C
\83v
\90é
\8c¾
\r
56 Inline void activate_context(TaskType TaskID);
\r
58 *
\83^
\83X
\83N
\82Ì
\8bN
\93®
\8aÖ
\90\94(cpu_support.S)
\83v
\83\8d\83g
\83^
\83C
\83v
\90é
\8c¾
\r
60 extern void activate_r(void);
\r
63 *
\83^
\83X
\83N
\82Ì
\8bN
\93®
\8f\80\94õ(TCB
\82Ì
\8f\89\8aú
\89»)
\r
65 *
\83^
\83X
\83N
\82ª
\8bx
\8e~
\8fó
\91Ô
\82©
\82ç
\8eÀ
\8ds
\82Å
\82«
\82é
\8fó
\91Ô
\82É
\88Ú
\8ds
\82·
\82é
\8e\9e\82É
\8cÄ
\82Î
\82ê
\82é
\81D
\r
68 activate_context(TaskType TaskID)
\r
70 /*
\83f
\83B
\83X
\83p
\83b
\83`
\8cã
\8eÀ
\8ds
\8aJ
\8en
\88Ê
\92u
\90Ý
\92è */
\r
71 tcxb_pc[TaskID] = (FP)activate_r; /* cpu_support.S */
\r
73 /*
\83X
\83^
\83b
\83N
\83|
\83C
\83\93\83^
\8f\89\8aú
\92l
\90Ý
\92è */
\r
74 tcxb_sp[TaskID] = (VP)( (UINT32)tinib_stk[TaskID] + (UINT32)tinib_stksz[TaskID]);
\r
78 #endif /* _CPU_CONTEXT_H_ */
\r