⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 h8s.txt

📁 嵌入式系统开发 TOPPERS and JSP Kernel Release 1.3 TOPPERS = Toyohashi Open Platform for Embedded Real-Tim
💻 TXT
📖 第 1 页 / 共 2 页
字号:
	    ♂ TOPPERS/JSPカ〖ネル ユ〖ザズマニュアル ♂    		    ∈H8S タ〖ゲット巴赂婶∷	    ∈Release 1.3 滦炳·呵姜构糠: 13-Apr-2001∷------------------------------------------------------------------------ TOPPERS/JSP Kernel     Toyohashi Open Platform for Embedded Real-Time Systems/     Just Standard Profile Kernel Copyright (C) 2000-2002 by Embedded and Real-Time Systems Laboratory                             Toyohashi Univ. of Technology, JAPAN Copyright (C) 2001,2002 by Dep. of Computer Science and Engineering                    Tomakomai National College of Technology, JAPAN Copyright (C) 2001,2002 by Industrial Technology Institute,                             Miyagi Prefectural Government, JAPAN 惧淡螟侯涪荚は·Free Software Foundation によって给山されている GNU General Public License の Version 2 に淡揭されている掘凤か·笆 布の(1)×(4)の掘凤を塔たす眷圭に嘎り·塑ソフトウェア∈塑ソフトウェ アを猖恃したものを崔むˉ笆布票じ∷を蝗脱ˇ剩澜ˇ猖恃ˇ浩芹邵∈笆布· 网脱と钙ぶ∷することを痰浸で钓满するˉ (1) 塑ソフトウェアをソ〖スコ〖ドの妨で网脱する眷圭には·惧淡の螟侯     涪山绩·この网脱掘凤および布淡の痰瘦沮惮年が·そのままの妨でソ〖     スコ〖ド面に崔まれていることˉ (2) 塑ソフトウェアを浩网脱材墙なバイナリコ〖ド∈リロケ〖タブルオブ     ジェクトファイルやライブラリなど∷の妨で网脱する眷圭には·网脱     に燃うドキュメント∈网脱荚マニュアルなど∷に·惧淡の螟侯涪山绩·     この网脱掘凤および布淡の痰瘦沮惮年を非很することˉ (3) 塑ソフトウェアを浩网脱稍材墙なバイナリコ〖ドの妨または怠达に寥     み哈んだ妨で网脱する眷圭には·肌のいずれかの掘凤を塔たすことˉ   (a) 网脱に燃うドキュメント∈网脱荚マニュアルなど∷に·惧淡の螟侯       涪山绩·この网脱掘凤および布淡の痰瘦沮惮年を非很することˉ   (b) 网脱の妨轮を·侍に年める数恕によって·惧淡螟侯涪荚に鼠桂する       ことˉ (4) 塑ソフトウェアの网脱により木儡弄または粗儡弄に栏じるいかなる禄     巢からも·惧淡螟侯涪荚を倘勒することˉ 塑ソフトウェアは·痰瘦沮で捏丁されているものであるˉ惧淡螟侯涪荚は· 塑ソフトウェアに簇して·その努脱材墙拉も崔めて·いかなる瘦沮も乖わ ないˉまた·塑ソフトウェアの网脱により木儡弄または粗儡弄に栏じたい かなる禄巢に簇しても·その勒扦を砷わないˉ @(#) $Id: h8s.txt,v 1.3 2002/04/13 13:13:01 imai Exp $------------------------------------------------------------------------  このドキュメントでは、TOPPERS/JSPカ〖ネル H8S惹について豺棱する。1ˉH8Sタ〖ゲット巴赂婶の车妥1.1 タ〖ゲットシステムと倡券茨董	H8Sプロセッサのタ〖ゲットシステムは、H8S/2350を烹很した笆布のボ   〖ドをサポ〖トしている。       ˇ臭及柴家 ミスポ MISPO H8S/2350 EVA	倡券茨董には、泣惟エンジニアリング臭及柴家澜のH8S帴H8/300シリ〖   ズC/C++コンパイラ∈V3.0A)を脱いている。1.2 サポ〖トする怠墙の车妥	拉墙删擦脱システム箕癸徊救怠墙(vxget_tim)·充哈みマスクの恃构帴徊   救(chg_ipm,get_ipm)はサポ〖トしているが·充哈みの敦贿と钓材(dis_int,   ena_int)は附箕爬ではサポ〖トしていない。(2.2.4第び3.2徊救。)1.3 戮のタ〖ゲットへのポ〖ティング	H8Sシリ〖ズであれば、ポ〖ティングは推白に叫丸ると蛔われるが、   H8S/2350笆嘲は拇汉していない。1.4 シリアルポ〖ト(SCI)	H8S/2350はSCI0とSCI1の2塑のシリアルポ〖トがあり、sys_config.hに   年盗しているNUM_PORTにより部塑蝗脱するか回年できるが、附哼の悸刘で   は、1塑のみ蝗脱叫丸る。JSPカ〖ネルのログ叫蜗脱には、SCI0を蝗脱して   いる。シリアルポ〖トの肋年を笆布に绩す。		ˇボ〖レイト¨9600[bps]		ˇデ〖タ墓 ¨8ビット		ˇストップビット¨1ビット		ˇパリティなし2ˉH8Sプロセッサ巴赂婶の怠墙2.1 デ〖タ房	int房第びunsigned int房のサイズは、16ビットである。∈H8S,H8/300   シリ〖ズC/C++コンパイラ∈V3.0A)ではint房は16ビット盖年であり、コン   パイルオプションによって、32ビットに恃构することはできない。∷    ポインタのサイズは、32ビットである。       ˇVP_INT¨32ビット       ˇVP¨32ビット     int房のサイズとポインタのサイズが佰なる爬は、庙罢が涩妥である。      毋えば、タスクの橙磨攫鼠は、VP_INT房で畔すので、int房で畔した眷    圭には、エラ〖となる。        また、64ビット腊眶房は蝗脱できないために、笆布のデ〖タ房は蝗脱    できない。       ˇD(射规烧き64ビット腊眶)       ˇUD(射规痰し64ビット腊眶)       ˇVD(デ〖タタイプが年まらない64ビットの猛)2.2 充哈み瓷妄怠墙と充哈みハンドラ	カ〖ネル瓷妄嘲の充哈みはNMIのみである。CPUロック觉轮や介袋步ル〖   チン柒ではNMI笆嘲の充哈みは链て敦贿される。恶挛弄には、IPM(Interrupt    Priority Mask)が7に肋年される。2.2.1 充哈み扩告モ〖ド	H8S/2350では、モ〖ド0とモ〖ド2の2つの充哈み扩告モ〖ドを联买できる   が、附檬超では、モ〖ド2のみをサポ〖トしている。2.2.2 ベクタテ〖ブルの淡揭数恕	H8S/2350では、ベクタテ〖ブルは盖年であり、ROM挝拌に毋嘲借妄ベクタ   テ〖ブルを芹弥している。そのために、毋嘲借妄の掐庚借妄のラベルは、     sys_support.src柒に木儡今き哈む涩妥がある。毋嘲借妄の掐庚借妄のラベ     ルの叹は·笆布のように肋年する涩妥がある。       ˇ毋嘲借妄のC咐胳ル〖チン叹 ¨ *******       ˇ毋嘲借妄の掐り庚借妄のラベル叹 ¨ _*******_entry	恶挛弄には、SCI(シリアルコミュニケ〖ションインタ〖フェ〖ス∷の充哈      みにおいて、充哈みのC咐胳ル〖チン叹が、serial_in_handlerである眷圭、      ベクタテ〖ブルに淡揭するその掐庚借妄のラベル叹は、      _serial_in_handler_entryとする涩妥がある。	また、ROM挝拌にある毋嘲借妄ベクタテ〖ブルの柒推を瓢弄に恃构するた   めには、泼侍の数恕が涩妥であるために、 充哈みハンドラの肋年簇眶   define_inhとCPU毋嘲ハンドラの肋年簇眶define_excは、部もしない簇眶と   なっている。2.2.4 充哈みマスク恃构帴徊救のためのサ〖ビスコ〖ルについて	   1.2にも淡很したように、H8S巴赂の怠墙として、充哈み扩告モ〖ドがモ〖	ド2の眷圭に、EXR(エクステンドレジスタ)面の充哈みマスクビット(I2×I0)         の猛を恃构するためのサ〖ビスコ〖ルchg_ipmと、徊救するためのサ〖ビ         スコ〖ルget_ipmをサポ〖トしている。なお、充哈みマスクビットの猛を         绩すデ〖タ房IPMは、UB(射规痰し8ビット腊眶)に年盗されている。          これらのサ〖ビスコ〖ルは、タスクコンテキストでCPUロック豺近觉轮     の眷圭にのみ钙び叫すことができる。chg_ipmによりIPMを0笆嘲にした眷     圭(部らかの充哈みが敦贿されている觉轮)でも、ディスパッチは敦贿され     ず、chg_ipmにより恃构したIPMの猛は、ディスパッチ稿のタスクに苞き费     がれる。	  chg_ipmをサポ〖トするために、充哈みハンドラの叫掐り庚借妄などに     オ〖バ〖ヘッドを栏じている。しかし、附檬超では、これらのサ〖ビスコ     〖ルを蝗脱する眷圭にしか滦炳していない。海稿は、SUPPORT_CHG_IPMと     いうマクロを脱罢し、これらのサ〖ビスコ〖ルをサポ〖トするかどうか磊     り仑えられるようにしていく数克である。∈SUPPORT_CHG_IPMは、     cpu_config.hの面でマクロ年盗しているが、このマクロ年盗を嘲しても、     附檬超では、充哈みハンドラの叫掐り庚借妄などのオ〖バ〖ヘッドは猖帘     されない。∷       H8S巴赂の充哈みマスクの恃构帴徊救のためのサ〖ビスコ〖ルの慌屯は     笆布の奶りである。∈1)chg_ipm		充哈みマスクの恃构    ≮C咐胳のAPI≯         ER ercd = chg_ipm(IPM ipm);        ≮パラメ〖タ≯         IPM ipm	肋年すべきIPMの猛    ≮リタ〖ンパラメ〖タ≯         ER  ercd  エラ〖コ〖ド    ≮エラ〖コ〖ド≯         E_CTX  コンテキストエラ〖         E_PAX  パラメ〖タエラ〖(ipmが稍赖)    ≮怠墙≯       IPM(Interrupt Priority Mask)をipmで回年した猛に肋年する。回年      し猛が0×6笆嘲の眷圭·E_PARエラ〖となる。IPMを0笆嘲(1×MAX_IPM-1)      に肋年した眷圭でも、ディスパッチは敦贿されない。また、肋年した      IPMの猛は、ディスパッチ敦贿稿も苞き费がれる。       このサ〖ビスコ〖ルは、タスクコンテキストでCPUロック豺近觉轮の      箕のみ钙び叫すことができる。润タスクコンテキストやCPUロック觉轮      で钙び叫した眷圭には、E_CTXエラ〖となる。       なお、このサ〖ビスコ〖ルを脱いて、IPMをMAX_IPM(链ての充哈みを      敦贿)に肋年することはできない。IPMをMAX_IPMにしたい眷圭には、      loc_cpuを蝗脱すべきである。      (2)get_ipm		充哈みマスクの徊救    ≮C咐胳のAPI≯         ER ercd = get_ipm(IPM *p_ipm);        ≮パラメ〖タ≯         なし    ≮リタ〖ンパラメ〖タ≯         ER ercd   エラ〖コ〖ド         IPM ipm   附哼のIPMの猛    ≮エラ〖コ〖ド≯         E_CTX   コンテキストエラ〖    ≮怠墙≯       附哼のIPM(Interrupt Priority Mask)の猛を粕み叫し、ipmに手す。      このサ〖ビスコ〖ルは、タスクコンテキストでCPUロック豺近觉轮のと      きのみ钙び叫すことができる。润タスクコンテキストやCPUロック觉轮      で钙び叫した眷圭には、E_CTXエラ〖となる。2.3  スタ〖トアップモジュ〖ル	 H8S巴赂のスタ〖トアップモジュ〖ル(start.src)は、肌に绩す介袋步を悸    乖した稿、カ〖ネル(kernel_start)を弹瓢する。芒し、kernel_startから提    ってくることは鳞年していない。        (1) スタックポインタの肋年        (2) hardware_init_hookの钙び叫し              hardware_init_hookが0でなければ、hardware_init_hook             を钙び叫す。hardware_init_hookはカ〖ネルを弹瓢する涟

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -