📄 h8s.txt
字号:
に、ダ〖ゲット巴赂のハ〖ドウェア弄な介袋步を乖うため に脱罢されている。塑悸刘では、充哈み扩告モ〖ドの肋年 、柒垄RAM痰跟の肋年、バスコントロ〖ラのウエイトコン トロ〖ルレジスタ帴バスコントロ〖ルレジスタの肋年、I/O ポ〖トのバス扩告慨规叫蜗眉灰の肋年を乖っている。 hardware_init_hookがどこでも年盗されていない眷圭には、 このシンボルを0に年盗する。 (hardware_init_hookを极侯する眷圭には、rtsリタ〖ン 炭吾でなく、jmp炭吾でstart_1に提る∷ (3) bssセクションの介袋步 bssセクションの链挝拌を0クリア〖する。 (4) dataセクションの介袋步 dataセクションを嘲婶RAMに啪流する。 (4) software_init_hookの钙び叫し software_init_hookが0でなければ、software_init_hook を钙び叫す。software_init_hookはカ〖ネルを弹瓢する 、ソフトウェア茨董(ライブラリ霹)巴赂の介袋步を乖た めに脱罢されている。毋えば、ライブラリの介袋肋年で ある。software_init_hookがどこでも年盗されていない 眷圭には、このシンボルを0に年盗する。(start.src柒 に淡揭あり)2.4 充哈み券栏箕のスタック久锐翁について 笆布の妄统により、称タスクスタックはタスク极咳が蝗脱する尸に裁えて呵络 98バイト途尸に脱罢する涩妥がある。 JSPカ〖ネルでは、タスクスタックの戮に充哈みスタックを脱罢し、润タスク コンテキストは充哈みスタックで悸乖される。 H8Sは充哈み减烧箕に充哈み敦贿になる怠菇がハ〖ドウェアで脱罢されていな い。そのために、充哈みの掐庚借妄でソフトウェアによって充哈み敦贿にする涩 妥がある。掐庚借妄では、充哈み敦贿に败乖するために(充哈み钓材の觉轮で∷ スタックにer0,er1を锣闰させる。(PC(プログラムカウンタ)·CCR(コンディショ ンコ〖ドレジスタ)·EXR(エクステンドレジスタ)は充哈み减烧箕にハ〖ドウェア が极瓢弄に锣闰を乖う。) このとき、驴脚充哈みが券栏すると充哈みスタックに磊り仑える涟に票屯のフ レ〖ムがスタック惧に栏喇される。H8Sは充哈みが7檬あるので、呵碍のタイミン グで充哈みが券栏すると、スタックが98バイト久锐される。 ∈er1(4バイト),er0(4バイト),EXR(1バイト),CCR(1バイト), リザ〖ブ(1バイト),PC(3バイト√アドバンスモ〖ドの眷圭⊥), である。よって、14バイト∵7セット=98バイト)3 システム巴赂婶の怠墙3.1 システムクロックドライバ システムクロックドライバがisig_timを钙び叫す件袋は、sys_def.h柒の TIC_NUMEとTIC_DENOで年盗されており、デフォルトでは1m擅件袋である。 この年盗を恃构することで、isig_timを钙び叫す件袋を恃构できる。芒し、 タイマの篮刨が1μ擅であるために、1μ擅帽疤で眉眶になる猛を肋年した眷 圭には、isig_timの钙叫し件袋に疙汗が栏じることになる。デフォルトでは H8S柒垄タイマのチャネル0を蝗脱している。3.2 拉墙删擦脱システム箕癸徊救怠墙 H8S巴赂婶では、拉墙删擦脱システム徊救怠墙(vxget_tim)をサポ〖トして いる。篮刨は1μ擅で、SYSUTIM房はUW房(32ビット射规なし腊眶房)である。 (64ビット射规なし腊眶房は蝗脱できないため。2.1デ〖タ房を徊救。)3.3 シリアルインタ〖フェ〖スドライバ シリアルインタ〖フェ〖スドライバは、H8S柒垄のSCIのチャネル0をサポ 〖トしており、カ〖ネルのログ叫蜗脱に蝗脱している。3.4 メモリマップ メモリマップは笆布のように肋年している。 0x000000 - 0x01ffff : コ〖ド挝拌(128kB) 0x200000 - : デ〖タ挝拌(128kB) 0x21ffff : 润タスクコンテキスト脱のスタック挝拌 柒垄RAMは、附哼蝗脱していないが、蝗脱する眷圭には、hardware_init _hookの面で柒垄RAMを铜跟にする涩妥がある。(2.3 (2)を徊救。)4 倡券4.1 倡券茨董 倡券茨董には、泣惟エンジニアリング臭及柴家澜のH8S·H8/300シリ〖ズ C/C++コンパイラ∈V3.0A)を脱いている。 また、デバッグのために、Watchpoint MultiSTAC H8S/2000,2600(Ver2.3.0) を蝗脱している。4.2 倡券茨董の菇蜜 CygwinとDOS岭を驶脱する。 (ユ〖ザ〖ズマニュアル(user.txt)のサンプルプログラムの菇蜜を徊救。) ≮Cygwinで悸乖≯ 笆布、<OBJ>ディレクトリはアプリケ〖ションをコンパイルする 侯度ディレクトリを山す。 1.サンプルプログラムの菇蜜 %mkdir <OBJ> %cd <OBJ> %../configure -C h8s -S mispo_h8s -m (-m¨コンフィギュレ〖タのmakeを乖わない) 2.コンフィギュレ〖タ(cfg.exe)の栏喇 肌に、jsp/cfg柒で %make -f Makefile.h8s-mispo_h8s cfg ∈泣惟コンパイラ脱の、コンフィギュレ〖ションチェッカ〖は ない。∷ ≮DOS岭で悸乖≯ 茨董恃眶の肋年毋 path=c:\him\Tools\Hitachi\H8\3_0a_0\bin;D:\cygwin\bin; D:\cygwin\usr\local\bin;D:\cygwin\bin;%path% set CH38=c:\him\Tools\Hitachi\H8\3_0a_0\include set CH38TMP=c:\tmp set H38CPU=2000a:24 set HLNK_LIBRARY1=C:\him\Tools\Hitachi\H8\3_0a_0\lib\c8s26a.lib cd C:\him\Tools\Hitachi\H8\3_0a_0\jsp_h8s_hitachi\sample 3.DOSプロンプトによりコンパイルする %cd <OBJ> %make4.3 Makefileの饯赖 (ユ〖ザ〖マニュアル(user.txt)の7.5Makefileの饯赖を徊救。∷ 泣惟Cコンパイラでは、コンパイル脱のコマンドラインオプションとア センブル脱のコンパイルオプションは侍」に年盗する涩妥がある。その ために、H8S惹では、コンパイルオプションの纳裁の狠には、笆布の恃眶 の年盗を恃构する。そのコンパイルオプションが泼年のタ〖ゲットで撅 に涩妥な眷圭には、jsp/config/h8s唆はjsp/config/h8s/mispo_h8sディ レクトリ柒のMakefile.configを饯赖すべきである。 ≮コンパイル帴アセンブル鼎奶オプション≯ INCLUDE -iオプションを淡揭する ≮コンパイルオプション≯ CDEFS -defオプションを淡揭する CFLAGS コンパイラに滦するその戮のオプションを淡揭する ≮アセンブルオプション≯ ASMDEFS -DEFオプションを淡揭する ASMFLAGS アセンブラに滦するその戮のオプションを淡揭する ≮リンクオプション≯ LDFLAGS リンカに滦するオプションを淡揭する ≮ライブラリリンクオプション≯ LIBS ライブラリリンクのためのオプションを淡揭する5 扩嘎祸灌 ˇ瓢侯澄千の狠には、ICEのエミュレ〖ションメモリを蝗脱している。 ˇ64ビット腊眶房(D,UD,VD)は蝗脱できない。(それに燃い、拉墙删擦 脱システム徊救怠墙(vxget_tim)にて蝗脱しているSYSUTIM房はUW房 である。) ˇ充哈み扩告モ〖ドは、モ〖ド0には滦炳していない。 ˇ泣惟澜琵圭倡券茨董には滦炳していない。 ∈コンフィギュレ〖タがコマンドライン漓脱のため。∷ ˇコンフィギュレ〖ションチェッカ〖は蝗脱できない。 (gcc漓脱のため。) ˇmake dependは蝗脱できない。(gcc漓脱のため。∷6 その戮 ˇ矢机コ〖ド ソ〖スコ〖ドの矢机コ〖ドはEUCである。∈SJISではない。∷7 ディレクトリ帴ファイル菇喇 H8Sタ〖ゲット巴赂婶のファイルの车妥は笆布の奶り config/h8s/ Makefile.config MakefileのH8S巴赂年盗 cpu_defs.h プロセッサ巴赂婶のアプリケ〖ション脱年盗 cpu_config.h プロセッサ巴赂婶の菇喇年盗(C咐胳脱) cpu_config_asm.h プロセッサ巴赂婶の菇喇年盗(アセンブラ咐胳脱) cpu_config.c プロセッサ巴赂婶の簇眶 cpu_support.src プロセッサ巴赂婶のサブル〖チン cpu_context.h コンテキスト拎侯 makeoffset.c offset.h 栏喇サポ〖トプログラム cpu_insn.h 你レベルのプロセッサ拎侯ル〖チン start.src スタ〖トアップモジュ〖ル hw_timer.h タイマ拎侯ル〖チン hw_serial.h シリアルポ〖ト拎侯ル〖チン gen_int.pl 充哈みの叫掐り庚借妄の栏喇 make_asm_path.pl アセンブラのパス侯喇 make_sub.pl サブコマンドファイルの侯喇 offset_of.pl offset.hの侯喇 bit_of.pl offset.hの侯喇 int_header.txt 充哈みの叫掐り庚借妄 (perlスクリプト(utilsフォルダ柒のgen_int.pl∷に よって充哈みの叫掐り庚借妄を栏喇する狠に蝗脱して いる) config/h8s/mispo_h8s/ Makefile.config MakefileのH8S/2350EVAボ〖ド巴赂年盗 h8s_2350.h H8S/2350EVAハ〖ドウェア年盗(C咐胳脱) h8s_2350_asm.h H8S/2350EVAハ〖ドウェア年盗(アセンブラ咐胳脱) sys_config.c システム巴赂婶の簇眶 sys_config.h システム巴赂婶の菇喇年盗(C咐胳脱) sys_config_asm.h システム巴赂婶の菇喇年盗(アセンブラ咐胳脱) sys_defs.h システム巴赂婶のアプリケ〖ション脱年盗 sys_support.src システム巴赂婶のサブル〖チン link.sub リンカスクリプト
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -