
		TOPPERS/ASPJ[l̎dlTv

		Ήo[W: Release 1.4
		ŏIXV: 2009N429

̃hLǵCTOPPERS/ASPJ[l̎dlTvɂĐ̂
DITRON4.0dl̃X^_[hvt@Cɑ΂gѕύX
𒆐SɐD

----------------------------------------------------------------------
 TOPPERS/ASP Kernel
     Toyohashi Open Platform for Embedded Real-Time Systems/
     Advanced Standard Profile Kernel

 Copyright (C) 2005-2009 by Embedded and Real-Time Systems Laboratory
             Graduate School of Information Science, Nagoya Univ., JAPAN
 
 L쌠҂́Cȉ(1)`(4)̏𖞂ꍇɌC{\tgEF
 Ai{\tgEFAς̂܂ށDȉjgpEE
 ρEĔzziȉCpƌĂԁj邱Ƃ𖳏ŋD
 (1) {\tgEFA\[XR[ȟ`ŗpꍇɂ́CL̒
     \C̗pщL̖ۏ؋K肪Ĉ܂܂̌`Ń\[
     XR[hɊ܂܂Ă邱ƁD
 (2) {\tgEFACCu`ȂǁC̃\tgEFAJɎg
     pł`ōĔzzꍇɂ́CĔzzɔhLgip
     ҃}jAȂǁjɁCL̒쌠\C̗pщL
     ̖ۏ؋Kfڂ邱ƁD
 (3) {\tgEFAC@ɑgݍނȂǁC̃\tgEFAJɎg
     płȂ`ōĔzzꍇɂ́Ĉꂩ̏𖞂
     ƁD
   (a) ĔzzɔhLgip҃}jAȂǁjɁCL̒
       쌠\C̗pщL̖ۏ؋Kfڂ邱ƁD
   (b) Ĕzž`ԂCʂɒ߂@ɂāCTOPPERSvWFNg
       񍐂邱ƁD
 (4) {\tgEFA̗pɂ蒼ړI܂͊ԐړIɐ邢Ȃ鑹
     QCL쌠҂TOPPERSvWFNgƐӂ邱ƁD
     ܂C{\tgEFÃ[U܂̓Gh[ÛȂ闝
     RɊÂCL쌠҂TOPPERSvWFNg
     Ɛӂ邱ƁD
 
 {\tgEFÁCۏ؂Œ񋟂Ă̂łDL쌠҂
 TOPPERSvWFNǵC{\tgEFAɊւāC̎gpړI
 ɑ΂K܂߂āCȂۏ؂sȂD܂C{\tgEF
 A̗pɂ蒼ړI܂͊ԐړIɐȂ鑹QɊւĂC
 ̐ӔC𕉂ȂD
 
 @(#) $Id: asp_spec.txt 1532 2009-04-29 10:05:42Z ertl-hiro $
----------------------------------------------------------------------

OƂȂ镶

[1] g: ITRON4.0dl, Ver.4.02.00, 2004N.

[2] g: ITRON4.0dl ی@\giITRON4.0/PXdlj,
	Ver.1.00.00, 2002N.

[3] TOPPERSvWFNg: TOPPERS/JSPJ[l [UY}jA
	Release 1.4.3Ή, ŏIXV: 2007N423.

[4] TOPPERSvWFNg: TOPPERSWݏf, ŏIXV: 2008N
	411.

dl̊T

TOPPERS/ASPJ[l̎dĺCITRON4.0dl̃X^_[hvt@C
x[XɁĈ悤ȊgEǂ̂łD

Eݏ@\ɂẮCTOPPERSWݏfɏD
EITRON4.0dl̃X^_[hvt@CŐ@\̈ꕔ𓱓D
Eꕔ̎dlɂāCITRON4.0dlɑ΂ĕύXD
EJSPJ[lɂƎ̊g@\ꕔύXĎD
EASPJ[lɂƎ̊g@\VɎD
EVXeRtBM[VSʓIɌD
ETOPPERSg݃R|[lgVXe̓D

̂ASPJ[ĺCITRON4.0dlɊSɏĂ킯ł͂ȂC
JSPJ[l̏ʌ݊ɂȂĂȂD

ITRON4.0dlł́CƎɗpӂÓIAPIуT[rXR[̖
ɂ́C擪ɂꂼ"V""v"̕t̂ƂĂ邪CASPJ[
lł͂̋K͍̗pȂD

ȉł́CITRON4.0dl̃X^_[hvt@Cɑ΂gѕ
XӏɂĐD

X^_[hvt@CŐ@\̈ꕔ

ITRON4.0dlɂ͋K肳Ă邪CX^_[hvt@CɊ܂܂
i܂́C܂܂Ƃ͌Ȃj@\ƂāC̋@\D

(1) CxgtO̕^XN҂

CxgtOɑ΂镡^XN҂̋@\iTA_WMUL̃CxgtOj
D

ɂCCxgtÕZbgiset_flgCiset_flgjŕ̃^XN
N\D̃^XN𓯎ɑ҂ꍇCJ[l
ł̊݋֎~ԂȂ邽߁CgpɂĂ͒ӂKvłD

(2) A[nh

A[nh̋@\DA[nh@\̂߂Ɏ
ÓIAPIуT[rXR[͎̒ʂłD

	CRE_ALM		A[nh̐iÓIAPIj
	sta_alm		A[nh̓Jn
	ista_alm	A[nh̓Jni^XNReLXgpj
	stp_alm		A[nh̓~
	istp_alm	A[nh̓~i^XNReLXgpj

(3) ݃T[rX[`

X^_[hvt@Cł́C݃nhƊ݃T[rX[`
ꂩT|[g΂悢ƂɂȂĂDJSPJ[lł͊݃n
ĥ݂Ă邪CASPJ[lł̗͂҂D

݃T[rX[`̎dlɂẮCTOPPERSWݏf̋K
ɏD݃T[rX[`ǉT[rXR[ƂāC
̐ÓIAPID̐ÓIAPI̎dlɂẮCTOPPERSWݏ
fɂāCITRON4.0dlɑ΂ĊgĂD

	ATT_ISR		݃T[rX[`̒ǉiÓIAPIj

(4) ݊Ǘ@\

X^_[hvt@CɊ܂܂Ȃ݊Ǘ@\ƂāC̃T[rX
R[DJSPJ[lł́C̃T[rXR[邩
̓^[QbgˑƂȂĂ邪CASPJ[lł́CTOPPERSW
f̋KɏāC^[QbgˑɎD

	dis_int		݂̋֎~
	ena_int		݂̋
	chg_ipm		ݗDx}XN̕ύX
	get_ipm		ݗDx}XN̎Q

(5) IuWFNg̏ԎQƋ@\

ɃfobŐ@\ƂāCIuWFNg̏ԎQƋ@\D
̓Iɂ́C̃T[rXR[D

	ref_tsk		^XN̏ԎQ
	ref_tex		^XNȌԎQ
	ref_sem		Z}tH̏ԎQ
	ref_flg		CxgtȌԎQ
	ref_dtq		f[^L[̏ԎQ
	ref_mbx		[{bNX̏ԎQ
	ref_mpf		Œ蒷v[̏ԎQ
	ref_cyc		nh̏ԎQ
	ref_alm		A[nh̏ԎQ

ITRON4.0dlɑ΂ύX

(1) ITRONWf[^^̌

TCY̌܂^iBCH, WȂǁjȂǂɂāCC99ɏ^̖
́iint8_tCint16_tCint32_tȂǁj₻Ƒǂ̂ɕύXD
ITRONWf[^^iBCH, WȂǁjKvƂAvP[V̂߂ɁC
itron.hpӂD

(2) ^XNReLXgext_tsk

^XNReLXgext_tskĂ΂ꂽꍇCE_CTXG[Ԃ̂
DɂƂȂāCext_tsk^[\̂ƂCԂ
ľ^ERƂD

(3) CPUOnhōs鑀

CPUOnhōs鑀ɂẮCTOPPERSWݏfɏ
邱ƂƂCJSPJ[l̎dl𓥏PCITRON4.0dlɂ]ȂD
̂߂̃T[rXR[ƂāC̃T[rXR[D

	xsns_dpn	CPUÕfBXpb`ۗԂ̎Q
	xsns_xpn	CPUÕ^XNOۗԂ̎Q

(4) J[l̗pǗ̈̕

ITRON4.0/PXdlɂēꂽITRON4.0dlɑ΂ύXƂāCJ[
l̗pǗ̈̕Ɋւdlꕔ̗pD

܂CŒ蒷v[̎ɂāCJ[l̗pǗ̈𕪗
邱ƂɔCŒ蒷v[𐶐ÓIAPIiCRE_MPFj̃p[
^ɁCŒ蒷v[Ǘ̈̐擪ԒnimpfmbjǉD

܂Cɂ킹āCf[^L[𐶐ÓIAPIiCRE_DTQj̍Ō
p[^̖̂Cf[^L[Ǘ̈̐擪ԒnidtqmbjɕύXD

ȂC[{bNX́CITRON4.0dlƂ̌݊̂߂ɎcĂ@\
ƈʒutCJ[l̗pǗ͍̈̕sȂD̂߁C[
{bNX𐶐ÓIAPIiCRE_MBXjɑ΂ύX͂ȂD

(5) Pʂƃ̈̃f[^^̌

Pʂ̃GgԒñf[^^Cp[^fȂFP^ł͂
CPʖ̐p̃f[^^ƂDႦ΁C^XÑGgԒñf[
^^TASK^C^XNO[`̃f[^^TEXRTN^ƂD

܂CX^bN̈ƌŒ蒷v[̈̃f[^^CꂼSTK_T^
MPF_T^ƂD

(6) l0̒萔iIuWFNgǰ

R[fBO~Xh߂ɁCl0̒萔̈DIuWFNg
iTA_TFIFOjɂẮCl0̂̂̓ftHgĔp~C`
itron.hɈڂDl0̃T[rXR[̓샂[hiTWF_ANDWjIuWF
Ng̏ԁiTTEX_ENAjɂẮClύXD

(7) ҂vlXg̔p~

҂vlXg@\p~DƁC҂vlX
g̍ől1ɌŒ肷DɔCfrsm_tsk͔p~Citron.hɂ
frsm_tskrsm_tskɃ}N`D܂CTMAX_SUSCNT̒`itron.h
ڂD

(8) VXe̐ݒ@\̔p~

set_timiVXe̐ݒjp~D

(9) nh̎dlύX

sta_cycĂяoCŏɎnhN鎞ύXD
ITRON4.0dlł́Csta_cycĂяoĂnh̋NŎw
ΎԌƂĂ邪CASPJ[lł́CNʑŎw肵Ύ
ƂD

JSPJ[lɂƎ̊g@\

JSPJ[lɂƎ̊g@\̒ŁCȉ̋@\D

(1) \]pVXeQƋ@\

\]pVXeQƋ@\Ƃ́CASPJ[lœ삷^XNASP
J[lg̐\v邽߂́CVXeʕbPʂœǂݏo@
\łD̋@\̂߂̃T[rXR[͎̒ʂłiJSPJ[l
͖̂ύXjD

	get_utm		\]pVXe̎Q

JSPJ[l̎dlύXƂāCget_utm͔Cӂ̃ReLXgĂяo
Ƃł̂D܂C\]pVXě^iSYSUTMjC
^[Qbgˑulong_tɒ`D

(2) I[`@\

ASPJ[lł́CVXȅIɌĂяoI[`o^
邽߂̋@\T|[gD̋@\̂߂̐ÓIAPI͎̒ʂłD

	ATT_TER		I[`̒ǉiÓIAPIj

(3) J[lԂ̎Q

J[lœ삷^XNĂяo֐CJ[l̏
OIJnɂĂяo\ꍇɂ́C̒ŃJ[l
̃T[rXR[Ăяo邩𔻕ʂ邱ƂKvƂȂD̋@\
߂̃T[rXR[͎̒ʂłiJSPJ[lƂ͖̂ύXjD

	sns_ker		J[l񓮍Ԃ̎Q

ASPJ[lɂƎ̊g@\

(1) ݗvC̑̐ݒ

ݗvC̑ݒ肷@\ƂāCTOPPERSWݏf
ŋK肳ꂽ̐ÓIAPID

	CFG_INT		ݗvC̑̐ݒiÓIAPIj

(2) EʐMIuWFNg̍ď@\

EʐMIuWFNgԂɖ߂߂̋@\ƂāC̃T[rXR[
D

	ini_sem		Z}tH̍ď
	ini_flg		CxgtO̍ď
	ini_dtq		f[^L[̍ď
	ini_mbx		[{bNX̍ď
	ini_mpf		Œ蒷v[̍ď

EʐMIuWFNg̍ď̍ۂɁC̓EʐMIuWFNgɑ
đ҂ԂƂȂĂ^XNׂ͂đ҂D҂ꂽ^
XNɑ΂ẮCE_DLTԂDE_DLT́CX^_[hvt@Cł͎gp
ĂȂG[R[hłD

̂߁C̃T[rXR[ɂC̃^XNN\
D̃^XN𓯎ɑ҂ꍇCJ[lł̊݋
~ԂȂ邽߁CgpɂĂ͒ӂKvłD

EʐMIuWFNgďۂɁCAvP[VƂ̐
ۂ̂̓AvP[V̐ӔCłD̓Iɂ́CŒ蒷v[
ďۂɂ́Clς݂̃ubNȍ~g
悤ɂȂ΂ȂȂD܂C[{bNXďۂɂ́C
[{bNXɑMꂽbZ[ẄȂ΂ȂȂD

(3) Dxf[^L[̐V

Dxt̃f[^L[̋@\V݂DDxtf[^L[@\
߂ɎÓIAPIуT[rXR[͎̒ʂłD

	CRE_PDQ		Dxf[^L[̐
	snd_pdq		Dxf[^L[ւ̑M
	psnd_pdq	Dxf[^L[ւ̑Mi|[Oj
	ipsnd_pdq	Dxf[^L[ւ̑Mi|[OC^XNReLXgj
	tsnd_pdq	Dxf[^L[ւ̑Mi^CAEgj
	rcv_pdq		Dxf[^L[̎M
	prcv_pdq	Dxf[^L[̎Mi|[Oj
	trcv_pdq	Dxf[^L[̎Mi^CAEgj
	ini_pdq		Dxf[^L[̍ď
	ref_pdq		Dxf[^L[̏ԎQ

ŁCDxf[^L[ɒ~ςꂽf[^̐ꍇCDxf[
^L[ւ̃f[^̑MsT[rXR[isnd_pdqCpsnd_pdqC
ipsnd_pdqCtsnd_pdqj̏ԂȂCJ[lł̊݋֎~
Ȃ邽߁CgpɂĂ͒ӂKvłD

(4) ^XN̊g̎Q

^XN̊gQƂ邽߂̃T[rXR[V݂DCu
̒ŗp邱Ƃz肵ĂD

	get_inf		^XN̊g̎Q

(5) J[l̏I

vIȃG[NꍇȂǂɃJ[lI邽߂̃T[rXR[
V݂D̋@\́CITRON4.0dl̋@\ނł́CVXe\
@\ɕނiJSPJ[lł́Ckernel_exitƂ̂ŁCIɂ
̋@\pӂĂjD

	ext_ker		J[l̏I

ASPJ[lł́C̃T[rXR[烊^[邱Ƃ͂ȂCی@
\J[lł̓G[^[\邽߁CԂľ^
ERƂD

ɔāCJSPJ[lkernel_startCsta_kerɖ̕ύXD
Csta_ker̓T[rXR[Ƃ͌ȂȂƂɂD

(6) ^XNReLXgp̃X^bN̈̐ݒ

^XNReLXgp̃X^bN̈̐擪ԒnƃTCYw肷邽߂
ÓIAPIV݂D܂C̐ÓIAPIɂC^XNReLXgp̃X
^bN̈̃TCŶ݂w肷邱ƂłD

	DEF_ICS		^XNReLXgp̃X^bN̈̒`

JSPJ[lɂ`^ˑK肩̕ύX

ITRON4.0dlŎ`܂͎ˑƂĂdl̒ŁCȉ̂
̂ɂJSPJ[lύXD

(1) AvP[ṼCN[ht@C̍\̐

J[lĂяoAvP[Vkernel.hCSILĂяoAv
P[Vsil.hCN[h΂悢̂ƂCt_services.h
s_services.h͔p~D

܂Ckernel.hsil.h̋ʕƂt_stddef.hpӂCJ[lSIL
̂ĂяoȂAvP[V́Ct_stddef.hCN[h
΂悢̂ƂDitron.h́CITRON4.0dlƂ̌݊Kvȏꍇ
CN[ĥƂD

(2) ݏ^O֘Ǎ^̒`̕ύX

݃nhԍ̌^iINHNOjCݔԍ̌^iINTNOjCCPUOnh
ԍ̌^iEXCNOjC^[QbgˑŁCuint_t^ɒ`D

(3) Pʂ̎sJn^^[̃VXeԂ̋K

Pʂ̎sJn^^[̃VXeԂɂāCITRON4.0dl
Ďˑł_ɋK肵C^[QbgɂႢȂ
悤ɂD

(4) isig_tim̈̕ύX

VXeXV@\J[lɎƂCT[rXR[
ƂĂisig_tim͔p~D

(5) J[l̗p̈̎w@

JSPJ[lł́CJ[l̗pׂ̈͂ĎtłCASP
J[lł́C^XÑX^bN̈ƌŒ蒷v[̌Œ蒷v[
̈ɂẮCÓIAPIŐ擪Ԓnw肷邱Ƃł̂Ƃi
tT|[gjD

(6) J[lǗO݂̊̈̋K

JSPJ[lł̓^[Qbgɒ߂ĂJ[lǗO݂̊̈C
ASPJ[lł́CTOPPERSWݏf̋KɏāC\Ȕ
͂ŕWDCNMIȊOɃJ[lǗO݂݂̊邩C
̊ݗDx荂̂J[lǗOƂ邩́C^[Qbgɒ
߂D

VXeRtBM[V̌

VXeRtBM[VSʓIɌCVXeRtBM
[Vt@CɂC̃vvZbTfBNeBü
ÓIAPĨp[^̕ނύXD

TOPPERSg݃R|[lgVXeiTECSj̓

foCXhCoVXeO@\Ƃ̐ڑTOPPERSg݃R|[lg
VXeiTECSj𓱓D܂CJ[lIuWFNgTECS̃R|[
lgƂĈ悤ɂD

ȂCRelease 1.4̎_ł́CTECSɑΉ邽߂̏ĆCTECS̔zzpb
P[WɊ܂܂ĂCASPJ[l̔zzpbP[Wɂ͊܂܂ĂȂD

ȏ
