📄 h8.txt
字号:
♂ TOPPERS/JSPカ〖ネル ユ〖ザズマニュアル ♂ ∈H8 タ〖ゲット巴赂婶∷ ∈Release 1.3滦炳·呵姜构糠: 10-Apl-2002∷ ------------------------------------------------------------------------ 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) 2001 by Industrial Technology Institute, Miyagi Prefectural Government, JAPAN Copyright (C) 2001,2002 by Dep. of Computer Science and Engineering Tomakomai National College of Technology, JAPAN 惧淡螟侯涪荚は·Free Software Foundation によって给山されている GNU General Public License の Version 2 に淡揭されている掘凤か·笆 布の(1)×(4)の掘凤を塔たす眷圭に嘎り·塑ソフトウェア∈塑ソフトウェ アを猖恃したものを崔むˉ笆布票じ∷を蝗脱ˇ剩澜ˇ猖恃ˇ浩芹邵∈笆布· 网脱と钙ぶ∷することを痰浸で钓满するˉ (1) 塑ソフトウェアをソ〖スコ〖ドの妨で网脱する眷圭には·惧淡の螟侯 涪山绩·この网脱掘凤および布淡の痰瘦沮惮年が·そのままの妨でソ〖 スコ〖ド面に崔まれていることˉ (2) 塑ソフトウェアを浩网脱材墙なバイナリコ〖ド∈リロケ〖タブルオブ ジェクトファイルやライブラリなど∷の妨で网脱する眷圭には·网脱 に燃うドキュメント∈网脱荚マニュアルなど∷に·惧淡の螟侯涪山绩· この网脱掘凤および布淡の痰瘦沮惮年を非很することˉ (3) 塑ソフトウェアを浩网脱稍材墙なバイナリコ〖ドの妨または怠达に寥 み哈んだ妨で网脱する眷圭には·肌のいずれかの掘凤を塔たすことˉ (a) 网脱に燃うドキュメント∈网脱荚マニュアルなど∷に·惧淡の螟侯 涪山绩·この网脱掘凤および布淡の痰瘦沮惮年を非很することˉ (b) 网脱の妨轮を·侍に年める数恕によって·惧淡螟侯涪荚に鼠桂する ことˉ (4) 塑ソフトウェアの网脱により木儡弄または粗儡弄に栏じるいかなる禄 巢からも·惧淡螟侯涪荚を倘勒することˉ 塑ソフトウェアは·痰瘦沮で捏丁されているものであるˉ惧淡螟侯涪荚は· 塑ソフトウェアに簇して·その努脱材墙拉も崔めて·いかなる瘦沮も乖わ ないˉまた·塑ソフトウェアの网脱により木儡弄または粗儡弄に栏じたい かなる禄巢に簇しても·その勒扦を砷わないˉ @(#) $Id: h8.txt,v 1.3 2002/04/10 10:40:53 honda Exp $ ------------------------------------------------------------------------1. H8 タ〖ゲット巴赂婶の车妥1. 1 タ〖ゲットシステムと倡券茨董 H8 プロセッサのタ〖ゲットシステムは、H8/3048F と H8/3067F を烹很した笆布のボ〖ドである。 ˇ(臭) 僵奉排灰奶睛澜の AKI-H8/3048F ˇ(臭) 僵奉排灰奶睛澜の AKI-H8/3067Fなお、部もしないタスク 1 改の呵井菇喇でも、涩妥な RAM 推翁は H8 の柒垄RAM 推翁の 4[Kbyte] を亩える。このため嘲婶 RAM の笼肋が涩妥で、 嘲婶アドレス鄂粗を铜跟にする涩妥がある。 附哼の菇喇では、H8/3048F がモ〖ド 5の柒垄 ROM 铜跟橙磨 1M バイトモ〖ド、H8/3067F もモ〖ド 5 の柒垄 ROM 铜跟橙磨 16M バイトモ〖ドを鳞年している。 倡券茨董は、Windows 2000 惧の cygwin の倡券茨董を脱いた。また、 デバッグモ〖ドとリリ〖スモ〖ドでモジュ〖ルの悸乖数恕が佰なっている。デバッグモ〖ドでは (臭) 僵奉排灰奶睛澜のモニタ〖デバッカを H8 の柒垄フラッシュROM に今き哈み、 デバッグするモジュ〖ルを嘲婶 RAM にロ〖ドしてデバッグを乖う。リリ〖スモ〖ドでは、デバッグの姜位したモジュ〖ルを柒垄フラッシュROM に今き哈むことを鳞年している。デバッグモ〖ドとリリ〖スモ〖ドの磊り仑えは、 ディレクトリ $(CPU)/$(SYS) にある Makefile.config のAKI_MONITOR の年盗による。1. 2 サポ〖トする怠墙の车妥 拉墙删擦脱システム箕癸徊救怠墙 (vxget_tim) はサポ〖トしているが、 充哈みマスクの恃构ˇ徊救 (chg_ixx、 get_ixx)、 充り哈みの敦贿と钓材(dis_int、ena_int) はサポ〖トしていない。1. 3 戮のタ〖ゲットへのポ〖ティング H8/300H シリ〖ズであれば、ポ〖ティングは推白に叫丸ると蛔われる。またH8S シリ〖ズの H8S/2350 へのポ〖ティングも乖われており、经丸弄に H8 とH8S シリ〖ズを琵圭する徒年である。1. 4 シリアルポ〖ト (SCI) H8/3048F には SCI0 と SCI1 の 2 塑、 H8/3067F には SCI0 から SCI2 の3 塑のシリアルポ〖トがあり、 sys_config.h に年盗している NUM_PORT により部塑蝗脱するか回年できる。 附哼の悸刘では 2 塑まで蝗脱できる。JSP カ〖ネルのログ叫蜗脱には SCI1 を蝗脱している。シリアルポ〖トの肋年を笆布に绩す。 ˇボ〖レイト、H8/3048F は 9600[bps]、H8/3067F は 19200[bps] ˇデ〖タ墓、8 ビット ˇストップビット、1 ビット ˇパリティなし2. H8 プロセッサ巴赂婶の怠墙 カ〖ネルとシステムサ〖ビス怠墙の面で、 H8 巴赂の婶尸について豺棱する。 2. 1 デ〖タ房 int 房と unsigned int 房のサイズは 32 ビットである。2. 2 充哈み瓷妄怠墙と充哈みハンドラ NMI はカ〖ネル瓷妄嘲の充り哈みである。 CCR レジスタの I ビットと UIビットをセットすることによって、CPU ロック箕や介袋步ル〖チン柒で、 NMI笆嘲の充り哈みは链て敦贿材墙である。 H8 の充哈みマスクは、CCR レジスタの I ビットと UI ビットであるが、塑悸刘では SYSCR レジスタの UE ビットをクリアし、I ビットを 1 に盖年して、UI ビットで链挛の充り哈みを扩告している。 柒垄ディバイスや嘲婶充哈みは改侍のレジスタにあるビットのマスクと、充哈み庭黎レジスタ (IPRA と IPRB) の改侍充り哈みの庭黎刨で扩告している。マスクが尸欢しているので、 chg_ipm 霹の IPM の拎侯怠墙はサポ〖トしていない。2. 3 CPU 毋嘲瓷妄怠墙と CPU 毋嘲ハンドラ 充哈みハンドラ戎规のデ〖タ房 (EXCNO) は unsigned int 房に年盗されている。 H8 の充哈みと CPU 毋嘲ベクタは ROM 挝拌にあり、瓢弄に柒推を恃构するためには泼侍の数恕が涩妥であるため、瓢弄なハンドラの判峡怠墙はない。骄って、充哈みハンドラの肋年簇眶 define_inh、 CPU 毋嘲ハンドラの肋年簇眶 define_exc は、部もしない簇眶である。2. 4 スタ〖トアップモジュ〖ル H8 巴赂のスタ〖トアップモジュ〖ル (start.S) は肌に绩す介袋步を悸乖した稿、 カ〖ネル (kernel_start) を弹瓢する。ただし、kernel_start から提ってくることは鳞年していない。 (1) スタックポインタの肋年 (2) hardware_init_hook の钙叫し hardware_init_hook が 0 でなければ、hardware_init_hook を钙 叫す。hardware_init_hook はカ〖ネルを弹瓢する涟に、タ〖ゲット 巴赂のハ〖ドウェア弄な介袋步を乖うために脱罢されている。 塑悸 刘では、 SYSCR レジスタの UE ビットのクリア、充哈み庭黎レジス タ (IPRA と IPRB) の改侍充り哈みの庭黎刨の肋年、 嘲婶メモリ鄂 粗の铜跟步を乖っている。hardware_init_hook が踏年盗の眷圭、リ ンカスクリプトの淡揭によりこのシンボルが 0 に年盗される。 (3) bss セクションの介袋步 bss セクションの链挝拌を 0 クリア〖する。 (4) data セクションの介袋步 data セクションを嘲婶 RAM に啪流する。 (5) software_init_hook の钙叫し software_init_hook が 0 でなければ、software_init_hook を钙 叫す。software_init_hook はカ〖ネルを弹瓢する涟に、ソフトウェ ア茨董 (ライブラリ霹) 巴赂の介袋步を乖うために脱罢されている。 毋えば、ライブラリの介袋肋年などである。software_init_hook が 踏年盗の眷圭、リンカスクリプトの淡揭によりこのシンボルが 0 に 年盗される。2. 5 充哈み券栏箕のスタック蝗脱翁について 充哈みネストレベルが 0 で充哈みが券栏すると、 タスク迫惟婶脱スタックにレジスタを瘦赂した稿、充哈み脱スタックに磊り仑えるため、タスク迫惟婶脱スタック蝗脱翁は PC+CCR と ER0 から ER6 の 32 バイトである。 SP(ER7)は充哈み脱のスタックに瘦赂される。 充哈みネストレベル 0 では、 タスク迫惟婶脱スタックにレジスタを瘦赂するため、充哈み脱のスタック蝗脱翁は PC+CCR と ER0 から ER6 の 32 バイト∵(呵络ネスト眶-1) と、充哈みネストレベル 0 で瘦赂される SP(ER7) の 32バイト∵(呵络ネスト眶 - 1) + 4バイトである。呵井菇喇では、驴脚充哈みを券栏するディバイスは、タイマとシリアル掐叫蜗の 3 改なので、充哈み脱のスタック蝗脱翁は 32バイト∵(3 - 1) + 4バイト = 68 バイトである。3. システム巴赂婶の怠墙3. 1 システムクロックドライバ システムクロックドライバが isig_tim を钙叫す件袋は、 sys_defs.h 柒のTIC_NUME と TIC_DENO で年盗されており、ディフォルトは 1[ms] 件袋である。この年盗を恃构することで、 isig_tim を钙叫す件袋を恃构できる。ただし、H8/3048F のクロックが 16[MHz]、 H8/3067F のクロックが 20[MHz] の眷圭、タイマの篮刨が 0.5[us] のため、 0.5[us] 帽疤で眉眶になる猛を肋年すると、|isig_tim の钙叫し件袋に疙汗が券栏する。 ディフォルトのクロックディバイスは H8/3048F が ITU0、 H8/3067F が 16ビットタイマユニット 0 を蝗脱している。3. 2 拉墙删擦脱システム箕癸徊救怠墙 H8 では、拉墙删擦脱システム箕癸徊救怠墙 (vxget_tim) をサポ〖トしている。篮刨は 0.5[us] で、SYSUTIM 房は UD 房 (64 ビット射规なし腊眶房) である。3. 3 シリアルインタフェ〖スドライバ H8/3048F には SCI0 と SCI1 の 2 塑、 H8/3067F には SCI0 から SCI2 の3 塑のシリアルポ〖トがあり、 sys_config.h に年盗している NUM_PORT により部塑蝗脱するか回年できる。 附哼の悸刘では 2 塑まで蝗脱できる。JSP カ〖ネルのログ叫蜗脱には SCI1 を蝗脱している。
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -