📄 h8-renesas.txt
字号:
亖 TOPPERS/JSP僇乕僱儖 儐乕僓僘儅僯儏傾儖 亖
乮H8僞乕僎僢僩埶懚晹 (H8C(HEW)懳墳斉)乯
乮Release 1.4.2懳墳丆嵟廔峏怴: 07-Dec-2005乯
------------------------------------------------------------------------
TOPPERS/JSP Kernel
Toyohashi Open Platform for Embedded Real-Time Systems/
Just Standard Profile Kernel
Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
Toyohashi Univ. of Technology, JAPAN
Copyright (C) 2001-2005 by Industrial Technology Institute,
Miyagi Prefectural Government, JAPAN
Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
Tomakomai National College of Technology, JAPAN
Copyright (C) 2001-2004 by Kunihiko Ohnaka
Copyright (C) 2004 by Katsuhiro Amano
忋婰挊嶌尃幰偼丆埲壓偺 (1)乣(4) 偺忦審偐丆Free Software Foundation
偵傛偭偰岞昞偝傟偰偄傞 GNU General Public License 偺 Version 2 偵婰
弎偝傟偰偄傞忦審傪枮偨偡応崌偵尷傝丆杮僜僼僩僂僃傾乮杮僜僼僩僂僃傾
傪夵曄偟偨傕偺傪娷傓丏埲壓摨偠乯傪巊梡丒暋惢丒夵曄丒嵞攝晍乮埲壓丆
棙梡偲屇傇乯偡傞偙偲傪柍彏偱嫋戻偡傞丏
(1) 杮僜僼僩僂僃傾傪僜乕僗僐乕僪偺宍偱棙梡偡傞応崌偵偼丆忋婰偺挊嶌
尃昞帵丆偙偺棙梡忦審偍傛傃壓婰偺柍曐徹婯掕偑丆偦偺傑傑偺宍偱僜乕
僗僐乕僪拞偵娷傑傟偰偄傞偙偲丏
(2) 杮僜僼僩僂僃傾傪丆儔僀僽儔儕宍幃側偳丆懠偺僜僼僩僂僃傾奐敪偵巊
梡偱偒傞宍偱嵞攝晍偡傞応崌偵偼丆嵞攝晍偵敽偆僪僉儏儊儞僩乮棙梡
幰儅僯儏傾儖側偳乯偵丆忋婰偺挊嶌尃昞帵丆偙偺棙梡忦審偍傛傃壓婰
偺柍曐徹婯掕傪宖嵹偡傞偙偲丏
(3) 杮僜僼僩僂僃傾傪丆婡婍偵慻傒崬傓側偳丆懠偺僜僼僩僂僃傾奐敪偵巊
梡偱偒側偄宍偱嵞攝晍偡傞応崌偵偼丆師偺偄偢傟偐偺忦審傪枮偨偡偙
偲丏
(a) 嵞攝晍偵敽偆僪僉儏儊儞僩乮棙梡幰儅僯儏傾儖側偳乯偵丆忋婰偺挊
嶌尃昞帵丆偙偺棙梡忦審偍傛傃壓婰偺柍曐徹婯掕傪宖嵹偡傞偙偲丏
(b) 嵞攝晍偺宍懺傪丆暿偵掕傔傞曽朄偵傛偭偰丆TOPPERS僾儘僕僃僋僩偵
曬崘偡傞偙偲丏
(4) 杮僜僼僩僂僃傾偺棙梡偵傛傝捈愙揑傑偨偼娫愙揑偵惗偠傞偄偐側傞懝
奞偐傜傕丆忋婰挊嶌尃幰偍傛傃TOPPERS僾儘僕僃僋僩傪柶愑偡傞偙偲丏
杮僜僼僩僂僃傾偼丆柍曐徹偱採嫙偝傟偰偄傞傕偺偱偁傞丏忋婰挊嶌尃幰偍
傛傃TOPPERS僾儘僕僃僋僩偼丆杮僜僼僩僂僃傾偵娭偟偰丆偦偺揔梡壜擻惈傕
娷傔偰丆偄偐側傞曐徹傕峴傢側偄丏傑偨丆杮僜僼僩僂僃傾偺棙梡偵傛傝捈
愙揑傑偨偼娫愙揑偵惗偠偨偄偐側傞懝奞偵娭偟偰傕丆偦偺愑擟傪晧傢側偄丏
@(#) $Id: h8-renesas.txt,v 1.1 2006/04/14 02:46:17 9564907 Exp $
------------------------------------------------------------------------
1. H8僞乕僎僢僩埶懚晹偺奣梫
1. 1 僞乕僎僢僩僔僗僥儉偲奐敪娐嫬
丒Release1.4.1傑偱偺僶乕僕儑儞傪偍巊偄偺曽傊
丂Release1.4.2偐傜妱崬傒偺埖偄偑戝暆偵曄峏偝傟偰偄傞偨傔丄媽僶乕僕儑儞
傪偛巊梡偺曽偼乽2.2.1 妱崬傒僴儞僪儔偺搊榐曽朄乿傪嶲徠偝傟偨偄丅
丂杮幚憰偼gcc懳墳偩偭偨H8埶懚晹傪(姅)儖僱僒僗 僜儕儏乕僔儑儞僘惢偺奐敪
娐嫬H8C(HEW)偵懳墳偝偣偨傕偺偱偁傞丅
H8 僾儘僙僢僒偺僞乕僎僢僩僔僗僥儉偼丄H8/3048F-ONE傪搵嵹偟偨埲壓偺
儃乕僪偱偁傞丅
丒(姅)杒搇揹巕 H8/3048F-ONE僗僞乕僞僉僢僩乮宆斣HSB8F3048BF25乯
側偍丄壗傕偟側偄僞僗僋 1 屄偺嵟彫峔惉偱傕丄昁梫側 RAM 梕検偼 H8 偺撪憼
RAM偺梕検傪挻偊傞丅 偙偺偨傔丄奜晹傾僪儗僗嬻娫傪桳岠偵偡傞昁梫偑偁傞丅
CPU儌乕僪偼傾僪僶儞僗僪儌乕僪偱巊梡偡傞偙偲傪慜採偲偟偰偄傞丅僲乕儅儖
儌乕僪偱巊梡偡傞応崌偼丄傾僙儞僽儔晹暘傪廋惓偡傞昁梫偑偁傞丅
1. 2 僒億乕僩偡傞婡擻偺奣梫
惈擻昡壙梡僔僗僥儉帪崗嶲徠婡擻 (vxget_tim)丄妱崬傒儅僗僋偺曄峏丒嶲徠
(chg_ipm丄 get_ipm)傪僒億乕僩偟偰偄傞偑丄 妱傝崬傒偺嬛巭偲嫋壜
(dis_int丄ena_int) 偼僒億乕僩偟偰偄側偄丅
1. 3 懠偺僞乕僎僢僩傊偺億乕僥傿儞僌
H8/300H 僔儕乕僘偱偁傟偽丄億乕僥傿儞僌偼梕堈偵弌棃傞偲巚傢傟傞丅
1. 4 僔儕傾儖億乕僩 (SCI)
H8/3048F偵偼SCI0偲SCI1偺2杮偺僔儕傾儖億乕僩偑偁傝丄user_config.h偵
掕媊偟偰偄傞TNUM_PORT偵傛傝壗杮巊梡偡傞偐巜掕偱偒傞丅
尰嵼偺幚憰偱偼2杮傑偱巊梡偱偒傞丅 JSP 僇乕僱儖偺儘僌弌椡梡偵偼SCI0傪
巊梡偟偰偄傞丅 僔儕傾儖億乕僩偺愝掕傪埲壓偵帵偡丅
丒儃乕儗乕僩丂丂丂38400[bps]
丒僨乕僞挿丂丂丂丂8價僢僩
丒僗僩僢僾價僢僩丂1價僢僩
丒僷儕僥傿側偟
2. H8 僾儘僙僢僒埶懚晹偺婡擻
僇乕僱儖偲僔僗僥儉僒乕價僗婡擻偺拞偱丄H8埶懚偺晹暘偵偮偄偰夝愢偡傞丅
2. 1 僨乕僞宆
int宆偲unsigned int宆偺僒僀僘偼 16價僢僩偱偁傞丅傑偨丄張棟宯偺惂栺偐
傜丄64價僢僩惍悢偼僒億乕僩偟偰偄側偄丅
2. 2 妱崬傒娗棟婡擻偲妱崬傒僴儞僪儔
僇乕僱儖娗棟奜偺妱崬傒偼NMI偺傒偱偁傞丏傛偭偰丆CPU儘僢僋忬懺傗弶婜壔
儖乕僠儞撪偱偼丆NMI埲奜偺妱崬傒偼偡傋偰嬛巭偝傟偰偄傞丏嬶懱揑偵偼丄CPU
儘僢僋忬懺偱偼CCR儗僕僗僞偺I價僢僩偲UI價僢僩傪僙僢僩偟丄偝傜偵僇乕僱儖
撪偺僼儔僌曄悢傪僙僢僩偟偰偄傞丅
丂杮幚憰偱偼SYSCR儗僕僗僞偺UE價僢僩傪僋儕傾偟丄CCR儗僕僗僞偺I價僢僩偲
UI價僢僩傪妱崬傒儅僗僋乮IPM丗Interrupt Priority Mask乯偲偟偰巊梡偟偰偄
傞丅乮儗儀儖0偲儗儀儖1偺妱崬傒偑巊梡偱偒傞丅乯
DEF_INH偱巜掕偡傞妱崬傒僴儞僪儔斣崋乮inhno乯偼丆H8偱偺椺奜儀僋僞斣崋傪
昞偟丆偦偺僨乕僞宆乮INHNO乯偼unsigned int宆偵掕媊偝傟偰偄傞丏
DEF_INH偱丆椺奜儀僋僞斣崋偲偟偰桳岠偱側偄抣傗丆奜晹妱崬傒偵懳墳偟側偄
斣崋傪巜掕偟偨応崌偺摦嶌偼曐徹偝傟側偄丏
2.2.1 妱崬傒僴儞僪儔偺搊榐曽朄
jsp-1.4.1 H8埶懚晹乮gcc斉乯偐傜妱崬傒僴儞僪儔偺搊榐曽朄偑曄峏偝傟偰偄傞丅
曄峏揰偼埲壓偺捠傝丅
丂1丏妱崬傒桪愭搙惂屼傪僒億乕僩
丂丂丂丒妱崬傒僾儔僀僆儕僥傿丒儗儀儖0
丂丂丂丒妱崬傒僾儔僀僆儕僥傿丒儗儀儖1
丂2丏妱崬傒儗儀儖偺愝掕偼2儢強偱峴偆丅
丂丂丂(1) 妱崬傒梫媮帪梡僾儔僀僆儕僥傿丒儗儀儖
丂丂丂丂丂丂僨僶僀僗偑妱崬傒僐儞僩儘乕儔偵梫媮偡傞妱崬傒儗儀儖
丂丂丂丂丂丂奺僨僶僀僗僪儔僀僶偺弶婜壔張棟偵偰IPRA丄IPRB儗僕僗僞偺
丂丂丂丂丂丂愝掕張棟傪峴偆丅
丂丂丂(2) 妱崬傒嫋壜帪梡僾儔僀僆儕僥傿丒儗儀儖
丂丂丂丂丂丂妱崬傒僴儞僪儔屇傃弌偟帪偵妱崬傒儅僗僋偵愝掕偡傞抣
丂丂丂丂丂丂懠偺妱崬傒梫媮傪僽儘僢僋偡傞偨傔偺抣
丂3丏僨僶僀僗僪儔僀僶偺弶婜壔張棟偱丄妱崬傒儗儀儖偺愝掕傪峴偆丅
丂丂丂define_int_plevel( )傪梡偄傞丅
丂4丏cpu_support.S偱峴偭偰偄偨埲壓偺婰弎偼晄梫偵側偭偨丅
丂丂乮妱崬傒儗儀儖惂屼傪峴偭偨偨傔乯
丂丂丂丒僴乕僪僂僃傾妱崬傒嫋壜丂_xxxxx_enable_int
丂丂丂丒僴乕僪僂僃傾妱崬傒嬛巭丂_xxxxx_disable_int
丂丂丂丂丂gcc斉偱偼丄妱崬傒梫媮傪僋儕傾偡傞張棟傪_xxxxx_disable_int偵
丂丂丂丂丂婰弎偟偰偄偨偑丄renesas斉偱偼妱崬傒僴儞僪儔偺C尵岅儖乕僠儞
丂丂丂丂丂傑偨偼偦偙偐傜屇偽傟傞娭悢撪偵婰弎偡傞曽朄傪昗弨偲偡傞丅
丂5丏儐乕僓乕偑曇廤偡傋偒晹暘偼暿僼傽僀儖偵暘棧偟偰偄傞丅
丂丂丂僔僗僥儉埶懚晹偺intmask.inc
丂6丏妱崬傒儀僋僞僥乕僽儖偺帺摦惗惉
丂丂丂僐儞僼傿僊儏儗乕僔儑儞帪偵DEF_INH( )偺堷悢偐傜帺摦惗惉偡傞丅
妱崬傒僴儞僪儔傪搊榐偡傞嶌嬈庤弴
丂僞僀儅妱崬傒傪椺偵愢柧偡傞丅
丂(1) 妱崬傒僴儞僪儔偺婰弎
丂丂丂媽斉偱偼丄妱崬傒梫媮傪僋儕傾偡傞張棟偑昁梫側応崌偼
丂丂丂_xxxxx_disable_int偵婰弎偟偰偄偨偑丄怴斉偱偼妱崬傒僴儞僪儔偺C尵
丂丂丂岅儖乕僠儞丄傑偨偼偦偙偐傜屇偽傟傞娭悢撪偵婰弎偡傞曽朄傪昗弨偲
丂丂丂偡傞丅
丂丂丂僞僀儅妱崬傒偱偺婰弎椺丗
丂丂丂丂jsp/systask/timer.c
丂丂丂 丂 timer_handler( )偐傜屇傃弌偝傟傞hw_timer_int_clear( )
丂丂丂丂丂丂乮jsp/config/h8-renesas/hw_timer.h乯
丂(2) 僐儞僼傿僊儏儗乕僔儑儞丒僼傽僀儖偺婰弎
丂丂丂僐儞僼傿僊儏儗乕僔儑儞丒僼傽僀儖偺婰弎曽朄偼懠偺僾儘僙僢僒偲摨條
丂丂丂偱偁傞丅
丂丂丂儀僋僞斣崋偼jsp/config/h8-renesas/h8_3048f.h摍偱儅僋儘掕媊偟偰偄傞丅
丂丂丂DEF_INH( )偺戞1堷悢偺妱崬傒僴儞僪儔斣崋偼僾儕僾儘僙僗屻偵惍悢掕悢
丂丂丂偵側偭偰偄側偗傟偽側傜側偄丅乮帺摦妱傝晅偗旕懳墳惍悢抣僷儔儊乕僞乯
丂丂丂儀僋僞僥乕僽儖帺摦惗惉帪傕偦傟傪壖掕偟偰偄傞丅
丂丂丂僞僀儅妱崬傒偱偺婰弎椺丗
丂丂丂丂jsp/systask/timer.cfg
丂丂丂丂DEF_INH(INHNO_TIMER, { TA_HLNG, timer_handler });
丂(3) 妱崬傒僾儔僀僆儕僥傿儗儀儖偺愝掕
丂丂丂IPRA,IPRB偵愝掕偡傞妱崬傒梫媮帪偺僾儔僀僆儕僥傿儗儀儖偲丄妱崬傒
丂丂丂僴儞僪儔屇傃弌偟帪偵妱崬傒儅僗僋偵愝掕偡傞僾儔僀僆儕僥傿儗儀儖
丂丂丂偺俀偮傪妱崬傒梫場枅偵愝掕偡傞丅
丂(3)-1 妱崬傒梫媮帪梡僾儔僀僆儕僥傿儗儀儖偺愝掕
丂丂丂弶婜壔張棟偺cpu_initialize( )偱偡傋偰偺妱崬傒傪儗儀儖0偵弶婜壔偟
丂丂丂偰偄傞丅
丂丂丂僨僶僀僗僪儔僀僶偺弶婜壔張棟偱妱崬傒梫場枅偺僾儔僀僆儕僥傿丒儗儀
丂丂丂儖傪愝掕偡傞偨傔偺娭悢偑梡堄偝傟偰偄傞丅
丂丂丂丂
丂丂丂亂C尵岅API亃
丂丂丂丂丂void define_int_plevel(const IRC *irc);
丂丂丂丂丂丂IRC丗Interrupt Request Controller
丂丂丂丂丂丂丂丂丂妱崬傒僐儞僩儘乕儔
丂丂丂亂僷儔儊乕僞亃
丂丂丂丂丂const IRC *irc丂愝掕僨乕僞傪奿擺偟偨椞堟偺愭摢傾僪儗僗
丂丂丂丂丂UB *ipr丗愝掕偡傞IPR儗僕僗僞偺斣抧
丂丂丂丂丂丂丂丂丂丂IPRA傑偨偼IPRB儗僕僗僞
丂丂丂丂丂UB bit 丗IPR儗僕僗僞偺奩摉偡傞價僢僩斣崋
丂丂丂 丂丂IPM ipm丗愝掕偡傞妱崬傒儗儀儖
丂丂丂丂丂丂丂丂丂丂IPM_LEVEL0,IPM_LEVEL1偺偄偢傟偐
丂丂丂亂儕僞乕儞僷儔儊乕僞亃
丂丂丂丂丂側偟
丂丂丂亂婡擻亃
丂丂丂丂丂irc偑巜偟帵偡椞堟偺僨乕僞傪梡偄偰丄僨僶僀僗偐傜偺妱崬傒偺
丂丂丂丂丂僾儔僀僆儕僥傿丒儗儀儖傪愝掕偡傞丅
丂丂丂丂丂偙偺娭悢傪屇傃弌偡慜偵h8_sil.h傪僀儞僋儖乕僪偡傞昁梫偑偁傞丅
丂丂丂亂僞僀儅妱崬傒偱偺婰弎椺亃
丂丂丂丂丂jsp/config/h8-renesas/cpu_config.c
丂丂丂丂丂丂const IRC TIMER_IRC = {(UB*)SYSTEM_TIMER_IPR,
丂丂丂丂丂丂SYSTEM_TIMER_IP_BIT,
丂丂丂丂丂丂SYSTEM_TIMER_IPM
丂丂丂丂丂丂};
丂丂丂丂丂jsp/config/h8-renesas/hw_timer.h
丂丂丂丂丂丂hw_timer_initialize( )
丂丂丂丂丂 define_int_plevel(&TIMER_IRC);
丂丂丂愝掕偵梡偄傞抣偼儅僋儘掕媊偝傟偰偄傞丅
丂丂丂
丂丂丂丒IPRA丄IPRB儗僕僗僞偺傾僪儗僗
丂丂丂jsp/config/h8-renesas/h8_3048f.h
#define H8IPRA 0xfffff8ul
#define H8IPRB 0xfffff9ul
丂丂丂丒IPRA丄IPRB儗僕僗僞偺價僢僩斣崋
丂丂丂jsp/config/h8-renesas/h8_3048f.h
丂丂丂丒IPRA
丂丂丂#define H8IPR_IRQ0_BIT 7u /* IRQ0 */
丂丂丂#define H8IPR_IRQ1_BIT 6u /* IRQ1 */
丂丂丂#define H8IPR_IRQ2_BIT 5u /* IRQ2 */
丂丂丂#define H8IPR_IRQ3_BIT 5u /* IRQ3 */
丂丂丂#define H8IPR_IRQ4_BIT 4u /* IRQ4 */
丂丂丂#define H8IPR_IRQ5_BIT 4u /* IRQ5 */
丂丂丂#define H8IPR_WDT_BIT 3u /* WDT */
丂丂丂#define H8IPR_CMI_BIT 3u /* CMI */
丂丂丂#define H8IPR_ITU0_BIT 2u /* ITU0 */
丂丂丂#define H8IPR_ITU1_BIT 1u /* ITU1 */
丂丂丂#define H8IPR_ITU2_BIT 0u /* ITU2 */
丂丂丂
丂丂丂丒IPRB
丂丂丂#define H8IPR_ITU3_BIT 7u /* ITU3 */
丂丂丂#define H8IPR_ITU4_BIT 6u /* ITU4 */
丂丂丂#define H8IPR_DMAC_BIT 5u /* DMAC (CH0,1) */
丂丂丂#define H8IPR_SCI0_BIT 3u /* SCI0 */
丂丂丂#define H8IPR_SCI1_BIT 2u /* SCI1 */
丂丂丂#define H8IPR_AD_BIT 1u /* A/D */
(3)-2 妱崬傒嫋壜帪梡僾儔僀僆儕僥傿儗儀儖偺愝掕
丂丂丒****_intmask儅僋儘偺掕媊
丂丂丂H8埶懚晹偱偼丄惷揑API DEF_INH( )偱妱崬傒僴儞僪儔傪掕媊偡傞偲丄
丂丂丂僇乕僱儖僐儞僼傿僊儏儗乕僔儑儞偵傛傝丄妱崬傒偺擖岥張棟偑
丂丂丂vector.src撪偵帺摦惗惉偝傟傞丅
丂丂丂偙偺擖岥張棟偱偼丄C尵岅儖乕僠儞****傪屇傃弌偡捈慜偺妱崬傒嫋壜帪
丂丂丂偵妱崬傒儅僗僋偵愝掕偡傞抣偲偟偰丄儅僋儘****_intmask偑掕媊偝傟偰
丂丂丂偄傞偲壖掕偟偰偄傞偺偱丄妱崬傒梫場枅偵IPM_LEVEL1丄IPM_LEVEL2偺偄
丂丂丂偢傟偐偵掕媊偡傞偙偲丅
丂丂丂帺暘偲摨偠儗儀儖偺妱崬傒傪儅僗僋偡傞偨傔丄IPM偵偼侾偮忋偺儗儀儖
丂丂丂傪愝掕偡傞昁梫偑偁傞偺偱丄拲堄偑昁梫偱偁傞丅
丂丂丂intmask.inc偱掕媊偡傞偺傪昗弨偲偡傞丅
丂丂丂亂僞僀儅妱崬傒偱偺婰弎椺亃
丂丂丂丂jsp/config/h8-renesas/hsb8f3048bf25/intmask.inc
丂丂丂丂
丂丂丂丂timer_handler_intmask: .DEFINE "IPM_LEVEL2"
丂丂丂丂
2.2.2 妱崬傒儅僗僋偺曄峏丒嶲徠
H8埶懚偺婡擻偲偟偰丆CCR儗僕僗僞拞偺IPM偺抣傪曄峏偡傞偨傔偺僒乕價僗僐乕
儖chg_ipm偲丆嶲徠偡傞偨傔偺僒乕價僗僐乕儖get_ipm傪僒億乕僩偟偰偄傞丏
側偍丆IPM偺抣傪昞偡僨乕僞宆IPM偼丆unsigned char宆偵掕媊偝傟偰偄傞丏
偙傟傜偺僒乕價僗僐乕儖偼丆僞僗僋僐儞僥僉僗僩偱CPU儘僢僋夝彍忬懺偺応崌
偵偺傒屇傃弌偡偙偲偑偱偒傞丏chg_ipm偵傛傝IPM傪儗儀儖0埲奜乮偡側傢偪丆
壗傜偐偺妱崬傒偑嬛巭偝傟偰偄傞忬懺乯偵偟偨応崌偱傕丆僨傿僗僷僢僠偼嬛巭
偝傟偢丆chg_ipm偵傛傝曄峏偟偨IPM偺抣偼丆僨傿僗僷僢僠屻偺僞僗僋偵堷偒宲
偑傟傞丏
椺偊偽丆偁傞僞僗僋偱IPM傪儗儀儖1偵曄峏偟偨屻丆壗傜偐偺妱崬傒偵傛傝暿偺
僞僗僋偵愗傝懼傢傞偲丆愗傝懼傢偭偨屻偺僞僗僋偱傕IPM偼儗儀儖1偵側傞丏
chg_ipm傪僒億乕僩偡傞偨傔偵丆妱崬傒僴儞僪儔偺弌擖岥張棟側偳偵僆乕僶
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -