📄 s1c33.txt
字号:
亖 TOPPERS/JSP僇乕僱儖 儐乕僓僘儅僯儏傾儖 亖
乮s1c33 僞乕僎僢僩埶懚晹乯
乮Release 1.4.1懳墳丆嵟廔峏怴: 04-Jan-2005乯
------------------------------------------------------------------------
TOPPERS/JSP Kernel
Toyohashi Open Platform for Embedded Real-Time Systems/
Just Standard Profile Kernel
Copyright (C) 2000,2001 by Embedded and Real-Time Systems Laboratory
Toyohashi Univ. of Technology, JAPAN
Copyright (C) 2004 by SEIKO EPSON Corp, JAPAN
忋婰挊嶌尃幰偼丆Free Software Foundation 偵傛偭偰岞昞偝傟偰偄傞
GNU General Public License 偺 Version 2 偵婰弎偝傟偰偄傞忦審偐丆埲
壓偺(1)乣(4)偺忦審傪枮偨偡応崌偵尷傝丆杮僜僼僩僂僃傾乮杮僜僼僩僂僃
傾傪夵曄偟偨傕偺傪娷傓丏埲壓摨偠乯傪巊梡丒暋惢丒夵曄丒嵞攝晍乮埲壓丆
棙梡偲屇傇乯偡傞偙偲傪柍彏偱嫋戻偡傞丏
(1) 杮僜僼僩僂僃傾傪僜乕僗僐乕僪偺宍偱棙梡偡傞応崌偵偼丆忋婰偺挊嶌
尃昞帵丆偙偺棙梡忦審偍傛傃壓婰偺柍曐徹婯掕偑丆偦偺傑傑偺宍偱僜乕
僗僐乕僪拞偵娷傑傟偰偄傞偙偲丏
(2) 杮僜僼僩僂僃傾傪嵞棙梡壜擻側僶僀僫儕僐乕僪乮儕儘働乕僞僽儖僆僽
僕僃僋僩僼傽僀儖傗儔僀僽儔儕側偳乯偺宍偱棙梡偡傞応崌偵偼丆棙梡
偵敽偆僪僉儏儊儞僩乮棙梡幰儅僯儏傾儖側偳乯偵丆忋婰偺挊嶌尃昞帵丆
偙偺棙梡忦審偍傛傃壓婰偺柍曐徹婯掕傪宖嵹偡傞偙偲丏
(3) 杮僜僼僩僂僃傾傪嵞棙梡晄壜擻側僶僀僫儕僐乕僪偺宍傑偨偼婡婍偵慻
傒崬傫偩宍偱棙梡偡傞応崌偵偼丆師偺偄偢傟偐偺忦審傪枮偨偡偙偲丏
(a) 棙梡偵敽偆僪僉儏儊儞僩乮棙梡幰儅僯儏傾儖側偳乯偵丆忋婰偺挊嶌
尃昞帵丆偙偺棙梡忦審偍傛傃壓婰偺柍曐徹婯掕傪宖嵹偡傞偙偲丏
(b) 棙梡偺宍懺傪丆暿偵掕傔傞曽朄偵傛偭偰丆忋婰挊嶌尃幰偵曬崘偡傞
偙偲丏
(4) 杮僜僼僩僂僃傾偺棙梡偵傛傝捈愙揑傑偨偼娫愙揑偵惗偠傞偄偐側傞懝
奞偐傜傕丆忋婰挊嶌尃幰傪柶愑偡傞偙偲丏
杮僜僼僩僂僃傾偼丆柍曐徹偱採嫙偝傟偰偄傞傕偺偱偁傞丏忋婰挊嶌尃幰偼丆
杮僜僼僩僂僃傾偵娭偟偰丆偦偺揔梡壜擻惈傕娷傔偰丆偄偐側傞曐徹傕峴傢
側偄丏傑偨丆杮僜僼僩僂僃傾偺棙梡偵傛傝捈愙揑傑偨偼娫愙揑偵惗偠偨偄
偐側傞懝奞偵娭偟偰傕丆偦偺愑擟傪晧傢側偄丏
------------------------------------------------------------------------
侾丏S1C33 僞乕僎僢僩埶懚晹偺奣梫
1.1 僞乕僎僢僩僔僗僥儉偲奐敪娐嫬
S1C33僾儘僙僢僒偺僞乕僎僢僩僔僗僥儉偲偟偰偼丆S1C33209, S1C33L11, S1C33
401傪搵嵹偟偨埲壓偺儃乕僪傪僒億乕僩偟偰偄傞丏
丒僙僀僐乕僄僾僜儞姅幃夛幮 DMT33209 儃乕僪 乮CPU:S1C33209乯
丒僙僀僐乕僄僾僜儞姅幃夛幮 LUXUN2 儃乕僪 乮CPU:S1C33L11乯
丒僙僀僐乕僄僾僜儞姅幃夛幮 DMT33401 儃乕僪 乮CPU:S1C33401乯
丒僙僀僐乕僄僾僜儞姅幃夛幮 LUXUN4 儃乕僪 乮CPU:S1C33401乯
奐敪娐嫬偼僙僀僐乕僄僾僜儞姅幃夛幮偺奐敪娐嫬S5U1C33001C乮GNU33乯傪梡偄傞丏
偙傟偼GNU奐敪娐嫬傪S1C33梡偵堏怉偟偨傕偺偱偁傝丆僆僽僕僃僋僩僼傽僀儖
僼僅乕儅僢僩偼 ELF 傪昗弨偲偡傞丏
僨傿儗僋僩儕柤
s1c33 GNU奐敪娐嫬梡乮尰帪揰偱枹僒億乕僩乯
dmt33209 DMT33209 乮僙僀僐乕僄僾僜儞乯
luxun2 LUXUN2 乮僙僀僐乕僄僾僜儞乯
dmt33401 DMT33401 乮僙僀僐乕僄僾僜儞乯
luxun4 LUXUN4 乮僙僀僐乕僄僾僜儞乯
s1c33-gnu33 GNU33奐敪娐嫬梡
dmt33209 DMT33209 乮僙僀僐乕僄僾僜儞乯
luxun2 LUXUN2 乮僙僀僐乕僄僾僜儞乯
dmt33401 DMT33401 乮僙僀僐乕僄僾僜儞乯
luxun4 LUXUN4 乮僙僀僐乕僄僾僜儞乯
1.2 僒億乕僩偡傞婡擻偺奣梫
S1C33埶懚偺婡擻偲偟偰丆妱崬傒偺嬛巭偲嫋壜乮dis_int丆ena_int乯媦傃丆妱崬傒
儅僗僋偺曄峏丒嶲徠乮chg_ilv丆get_ilv乯傪僒億乕僩偟偰偄傞丏
惈擻昡壙梡僔僗僥儉帪崗嶲徠婡擻乮vxget_tim乯偼僒億乕僩偟偰偄側偄丏
1.3 懠偺僞乕僎僢僩傊偺億乕僥傿儞僌
S1C33僾儘僙僢僒偼丆S1C33209傪巒傔偲偡傞僗僞儞僟乕僪儅僋儘僾儘僙僢僒偲丆
S1C33401傪巒傔偲偡傞傾僪僶儞僗僩儅僋儘僾儘僙僢僒偲偵戝暿偝傟傞偑丆奺
宯摑偵偍偗傞忋埵屳姺僾儘僙僢僒偱偁傟偽丆偦偺傑傑摦嶌偡傞丏
偨偩偟壓埵僾儘僙僢僒偵側偄捛壛婡擻傪巊梡偡傞応崌丆揔媂IO儗僕僗僞傾僪
儗僗摍傪僞乕僎僢僩偵崌傢偣偰曄峏偡傞昁梫偑偁傞丏
1.4 僔儕傾儖億乕僩
僠儍僱儖0(LUXUN4偼僠儍僱儖2)傪巊梡偟偨僔儕傾儖捠怣傪僒億乕僩偟偰偄傞丏
DMT33MON儃乕僪傪暿搑梡堄偡傞偙偲偵傛傝丆RS232-C働乕僽儖偱偺愙懕偑壜擻
偲側傞丏
捠怣忦審偼埲壓偺偲偍傝偱偁傞丏
捠怣曽幃 : 挷曕摨婜 8價僢僩
捠怣懍搙 : 115,200bps
僷儕僥傿 : 側偟
僗僩僢僾價僢僩 : 1價僢僩
俀丏S1C33僾儘僙僢僒埶懚晹偺婡擻
偙偺愡偱偼丆僇乕僱儖偍傛傃僔僗僥儉僒乕價僗偺婡擻偺拞偱丆S1C33埶懚偺晹暘
偵偮偄偰夝愢偡傞丏
2.1 僨乕僞宆
int宆偍傛傃 unsigned int宆偺僒僀僘偼 32價僢僩偱偁傞丏傑偨丆妱傝崬傒儗
儀儖傪昞偡僨乕僞宆 ILEVNO 偼unsigned int宆偱掕媊偝傟偰偄傞.
2.2 妱崬傒娗棟婡擻偲妱崬傒僴儞僪儔
CPU儘僢僋忬懺傗弶婜壔儖乕僠儞撪偱偼丆TPS_CPULOCK_LEV偲偟偰掕媊偝傟偨妱
傝崬傒儗儀儖枹枮偺儅僗僋壜擻側妱崬傒偼偡傋偰嬛巭偝傟偰偄傞丏嬶懱揑偵偼丆
PSR乮Processor Status Register乯儗僕僗僞偺IL乮Interrupt Level乯僼傿乕
儖僪偵0x5偑愝掕偝傟傞丏僇乕僱儖偵傛偭偰娗棟偝傟傞妱傝崬傒偼丆妱傝崬傒
儗儀儖傪TPS_CPULOCK_LEV枹枮偲偟側偗傟偽側傜側偄丏乮愝掕壜擻側妱傝崬傒
儗儀儖偺忋尷偼TPS_INTLEV_MAX偲偟偰掕媊偝傟偰偄傞乯
TPS_CPULOCK_LEV丆TPS_INTLEV_MAX偼cpu_config.h偵偰掕媊偝傟偰偍傝丆昁梫
偱偁傟偽曄峏偡傞偙偲偑偱偒傞丏
S1C33僾儘僙僢僒偼0乣7傑偱偺妱傝崬傒儗儀儖傪愝掕偡傞偙偲偑偱偒傞丏
儗儀儖5乮僨僼僅儖僩乯偺妱傝崬傒偍傛傃NMI偱偼丆僒乕價僗僐乕儖偺巊梡傪
嬛巭偡傞丏
DEF_INH 偱巜掕偡傞妱崬傒僴儞僪儔斣崋乮inhno乯偼丆儅僗僋壜擻側妱傝崬傒
偲偟偰掕傔傜傟偨儀僋僞斣崋偱偁傞16斣埲崀傪巜掕偡傞丏
儀僋僞斣崋偲偟偰桳岠偱側偄斣崋傪巜掕偝傟偨応崌偺摦嶌偼枹掕媊偱偁傞丏
桳岠側儀僋僞斣崋偵偮偄偰偼丆奺CPU偺儅僯儏傾儖傪嶲徠偝傟偨偄丏
S1C33僾儘僙僢僒埶懚晹偱偼懡廳妱傝崬傒傪僒億乕僩偟偰偄傞丏偦偺偨傔丆妱
傝崬傒敪惗帪偵張棟偝傟傞妱傝崬傒僴儞僪儔擖傝岥張棟偱偼丆IE價僢僩偵1傪
愝掕偟丆妱傝崬傒僱僗僩僇僂儞僞傪僀儞僋儕儊儞僩偟偰偄傞丏妱傝崬傒張棟撪
偱懠偺妱傝崬傒傪嬛巭偡傞偵偼丆iloc_cpu 傪屇傃弌偡側偳丆柧帵揑偵妱傝崬
傒傪嬛巭偡傞昁梫偑偁傞丏
IL偼妱傝崬傒敪惗帪偵偁傜偐偠傔愝掕偝傟偨妱傝崬傒儗儀儖偵曄峏偝傟傞丏
巊梡偡傞妱傝崬傒偺儗儀儖傪偡傋偰摨堦偵偡傟偽丆懡廳妱傝崬傒偼敪惗偟側偄丏
S1C33僾儘僙僢僒埶懚晹偱偼丆婡庬埶懚僒乕價僗僐乕儖偲偟偰摿掕偺妱傝崬傒
傪嬛巭乛嫋壜偡傞僒乕價僗僐乕儖dis_int, ena_int, 妱傝崬傒儗儀儖傪曄峏乛
庢摼偡傞僒乕價僗僐乕儖chg_ilv, get_ilv傪僒億乕僩偟偰偄傞丏dis_int,
ena_int偼僐儞僥僉僗僩忬懺偵埶懚偟側偄丏僞僗僋僐儞僥僉僗僩丆旕僞僗僋
僐儞僥僉僗僩偺偳偪傜偱傕屇傃弌偡偙偲偑偱偒傞丏chg_ilv, get_ilv偼僐儞
僥僉僗僩忬懺偵埶懚偟丆旕僞僗僋僐儞僥僉僗僩傑偨偼CPU儘僢僋忬懺偱偼巊梡
偱偒側偄丏
S1C33埶懚偺妱傝崬傒儗儀儖偺曄峏乛嶲徠丆偍傛傃妱傝崬傒嬛巭乛嫋壜偺偨傔偺
僒乕價僗僐乕儖偺巇條偼埲壓偺捠傝丏
(1) chg_ilv 妱傝崬傒儗儀儖偺曄峏
亂C尵岅API亃
ER ercd = chg_ilv(ILEVNO ilevno);
亂僷儔儊乕僞亃
ILEVNO ilevno 愝掕偡傋偒 IL 偺抣
亂儕僞乕儞僷儔儊乕僞亃
ER ercd 僄儔乕僐乕僪
亂僄儔乕僐乕僪亃
E_CTX 僐儞僥僉僗僩僄儔乕
E_PAR 僷儔儊乕僞僄儔乕乮ilevno 偑晄惓乯
亂婡擻亃
IL乮Interrupt Level乯傪 ilevno 偱巜掕偝傟偨抣偵愝掕偡傞丏巜掕偟偨抣偑
TPS_INTLEV_MAX偲偟偰掕媊偝傟偨妱傝崬傒儗儀儖傪挻偊偰偄傞応崌丆E_PAR
僄儔乕偲側傞丏IL 傪 0乣TPS_INTLEV_MAX偵愝掕偟偨応崌偱傕丆僨傿僗僷僢僠
偼嬛巭偝傟側偄丏
偙偺僒乕價僗僐乕儖偼丆僞僗僋僐儞僥僉僗僩偱 CPU儘僢僋夝彍忬懺偺帪偺傒屇
傃弌偡偙偲偑偱偒傞丏旕僞僗僋僐儞僥僉僗僩傗 CPU儘僢僋忬懺偱屇傃弌偟偨応
崌偵偼丆E_CTX僄儔乕偲側傞丏
chg_ilv偵傛傝曄峏偟偨儗儀儖偼尨懃偲偟偰僨傿僗僷僢僠屻傕宲彸偝傟傞偑丆
曐忈偼偝傟側偄丏椺偊偽妱傝崬傒僴儞僪儔偵傛傝僨傿僗僷僢僠偝傟偨僞僗僋偱
妱傝崬傒儗儀儖傪曄峏偟偨応崌丆妱傝崬傒敪惗捈慜偵幚峴偝傟偰偄偨僞僗僋傊
暅婣偡傞偲妱傝崬傒儗儀儖傕尦偵栠傞丏
(2) get_ilv 妱傝崬傒儗儀儖偺嶲徠
亂C尵岅API亃
ER ercd = get_ilv(ILEVNO *p_ilevno);
亂僷儔儊乕僞亃
側偟
亂儕僞乕儞僷儔儊乕僞亃
ER ercd 僄儔乕僐乕僪
ILEVNO *p_ilevno 尰嵼偺 IL 偺抣
亂僄儔乕僐乕僪亃
E_CTX 僐儞僥僉僗僩僄儔乕
E_PAR 僷儔儊乕僞僄儔乕乮p_ilevno偑NULL乯
亂婡擻亃
尰嵼偺 IL乮Interrupt Level乯偺抣傪撉傒弌偟丆*p_ilevno 偵曉偡丏
偙偺僒乕價僗僐乕儖偼丆僞僗僋僐儞僥僉僗僩偱 CPU儘僢僋夝彍忬懺偺帪偺傒屇
傃弌偡偙偲偑偱偒傞丏旕僞僗僋僐儞僥僉僗僩傗 CPU儘僢僋忬懺偱屇傃弌偟偨応
崌偵偼丆E_CTX僄儔乕偲側傞丏
(3) dis_int 妱傝崬傒偺嬛巭
亂C尵岅API亃
ER ercd = dis_int(INTNO intno);
亂僷儔儊乕僞亃
INTNO intno 嬛巭偡傞妱傝崬傒偺儀僋僞斣崋
亂儕僞乕儞僷儔儊乕僞亃
ER ercd 僄儔乕僐乕僪
亂僄儔乕僐乕僪亃
E_PAR 僷儔儊乕僞僄儔乕乮intno 偑晄惓乯
亂婡擻亃
巜掕偝傟偨儀僋僞斣崋偵懳墳偡傞妱傝崬傒傪嬛巭偡傞丏
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -