?? 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 + -