HEW (3) ビルドフェーズの作成 ― 2008年12月09日 21時10分57秒
前回HEWにツールを登録したが、その中に obj2bin のバッチファイルがあった。
それと同じ機能を実現するにはビルドフェーズを新規作成すればよい。
メニュから ビルド¥ビルドフェーズ を実行し、追加 をクリック
フェーズ名: obj2bin
コマンド: C:\PROGRA~1\Renesas\Hew\Tools\KPITCU~1\GNUSH-~1\v0601\sh-elf\bin\sh-elf-objcopy.exe
デフォルトオプション: -O binary $(FULLFILE) $(PROJECTNAME).bin
初期ディレクトリ: $(CONFIGDIR)
追加したフェーズをビルドの順序で linker output file を選択し obj2bin を指定する。
これでHEWから bin フォーマットを出力できる。
しかし、元の S-Record file に戻そうとすると戻らない。
PROJECTNAME.hwp の中に不具合ができてしまうからだ。
HEWからはどうにもならないので直接 PROJECTNAME.hwp を編集することになる。
やることは同じなのだが ビルドフェーズ を使うとすこし面倒だ。
コンパイラのバージョンは
KPIT GNUSH [ELF] v0601 Windows Tool Chain
KPIT GNUH8 [ELF] v0601 Windows Tool Chain
KPIT GNUM16CM32C [ELF] v0601 Windows Tool Chain
HEW のバージョンは 4.05.00.059
それと同じ機能を実現するにはビルドフェーズを新規作成すればよい。
メニュから ビルド¥ビルドフェーズ を実行し、追加 をクリック
フェーズ名: obj2bin
コマンド: C:\PROGRA~1\Renesas\Hew\Tools\KPITCU~1\GNUSH-~1\v0601\sh-elf\bin\sh-elf-objcopy.exe
デフォルトオプション: -O binary $(FULLFILE) $(PROJECTNAME).bin
初期ディレクトリ: $(CONFIGDIR)
追加したフェーズをビルドの順序で linker output file を選択し obj2bin を指定する。
これでHEWから bin フォーマットを出力できる。
しかし、元の S-Record file に戻そうとすると戻らない。
PROJECTNAME.hwp の中に不具合ができてしまうからだ。
HEWからはどうにもならないので直接 PROJECTNAME.hwp を編集することになる。
やることは同じなのだが ビルドフェーズ を使うとすこし面倒だ。
コンパイラのバージョンは
KPIT GNUSH [ELF] v0601 Windows Tool Chain
KPIT GNUH8 [ELF] v0601 Windows Tool Chain
KPIT GNUM16CM32C [ELF] v0601 Windows Tool Chain
HEW のバージョンは 4.05.00.059
HEW (2) Tools の登録 ― 2008年11月25日 22時23分30秒
HEWにツールを登録する。
[基本設定]の[カスタマイズ]の[メニュー]で追加を選択し
名前、コマンド、引数、初期ディレクトリを入力する。
①バッチファイルを登録(出力フォーマットバイナリ)

コマンド:C:\Program Files\Renesas\Hew\Tools\KPIT Cummins\GNUSH-ELF\v0601\sh-elf\bin\bin.bat
引数:$(PROJECTNAME)
初期ディレクトリ:$(CONFIGDIR)
コマンドの バッチファイルは、以下のように記述してある。
bin.bat の内容
②ライタを登録(ベストテクノロジの fw2.6 の例 sh7045 の設定)

コマンド:C:\Program Files\Renesas\Hew\Tools\FW\FW.exe
引数:-B19200 -T7045
初期ディレクトリ:$(CONFIGDIR)
③その他
FDT :
コマンド:C:\Program Files\Renesas\FDT3.07\FDT.exe
引数:/DISCRETESTARTUP "SimpleInterfaceMode /r"
初期ディレクトリ:$(CONFIGDIR)
h8flush : 起動と同時に書込み(引数なしだと起動のみ)
コマンド:C:\Program Files\Renesas\Hew\Tools\h8flush\h8flush.exe
引数:$(PROJECTNAME).mot
初期ディレクトリ:$(CONFIGDIR)
同じように登録の仕方を忘れてしまうのでメモしておく。
[基本設定]の[カスタマイズ]の[メニュー]で追加を選択し
名前、コマンド、引数、初期ディレクトリを入力する。
①バッチファイルを登録(出力フォーマットバイナリ)

コマンド:C:\Program Files\Renesas\Hew\Tools\KPIT Cummins\GNUSH-ELF\v0601\sh-elf\bin\bin.bat
引数:$(PROJECTNAME)
初期ディレクトリ:$(CONFIGDIR)
コマンドの バッチファイルは、以下のように記述してある。
bin.bat の内容
②ライタを登録(ベストテクノロジの fw2.6 の例 sh7045 の設定)

コマンド:C:\Program Files\Renesas\Hew\Tools\FW\FW.exe
引数:-B19200 -T7045
初期ディレクトリ:$(CONFIGDIR)
③その他
FDT :
コマンド:C:\Program Files\Renesas\FDT3.07\FDT.exe
引数:/DISCRETESTARTUP "SimpleInterfaceMode /r"
初期ディレクトリ:$(CONFIGDIR)
h8flush : 起動と同時に書込み(引数なしだと起動のみ)
コマンド:C:\Program Files\Renesas\Hew\Tools\h8flush\h8flush.exe
引数:$(PROJECTNAME).mot
初期ディレクトリ:$(CONFIGDIR)
同じように登録の仕方を忘れてしまうのでメモしておく。
HEW (1) プロジェクトタイプの作成 ― 2008年11月20日 23時13分25秒
HEW に新しいプロジェクトタイプを登録しようとして
そのやり方が思い出せなかった。
結局いろいろやって使えるようになったが...
これもまたメモしておこう。メモはいいがカテゴリを整理して見やすくしないと、せっかくのメモが有効に生かせない。
さて、まず最初に汎用プロジェクトタイプとして使いやすいようにプロジェクトを作りこむ。
次に[プロジェクト]メニューの[プロジェクトタイプの作成]を実行
これで終了

使う時はメニューから新規ワークスペースを実行するとそのプロジェクトタイプが選択できる。

削除する場合は[ツール]メニューの[アドミニストレーション]で登録解除する。

他人の環境に持ち込む場合は同じく[ツール]メニューの[アドミニストレーション]でエクスポートする。
エクスポートした カスタムプロジェクト (ツールチェィンのバージョンは KPIT GNUSH [ELF] v0601)
結局いろいろやって使えるようになったが...
これもまたメモしておこう。メモはいいがカテゴリを整理して見やすくしないと、せっかくのメモが有効に生かせない。
さて、まず最初に汎用プロジェクトタイプとして使いやすいようにプロジェクトを作りこむ。
次に[プロジェクト]メニューの[プロジェクトタイプの作成]を実行
これで終了

使う時はメニューから新規ワークスペースを実行するとそのプロジェクトタイプが選択できる。

削除する場合は[ツール]メニューの[アドミニストレーション]で登録解除する。

他人の環境に持ち込む場合は同じく[ツール]メニューの[アドミニストレーション]でエクスポートする。

エクスポートした カスタムプロジェクト (ツールチェィンのバージョンは KPIT GNUSH [ELF] v0601)
KPIT GNU Tools (7) ― 2008年10月13日 13時16分27秒
KPIT GNU Tools (5) ― 2008年06月04日 23時57分02秒
KPIT GNU Tools (4) ― 2008年02月04日 23時53分34秒
早いもので KPIT GNU Tools が v0801 にバージョンアップした。
私の環境は、まだ v0601 。
どのタイミングでアップしようかな
というのは、今のところ特に問題がないので必要性がないのだ。
それにしても、バージョンアップする度にオブジェクトサイズがでかくなっていく。
内容的にはH8で BNOT, BSET BCLR の動作が変わった。
これはいいかも
ところで、ダウンロードの項目で
GNUM16C v0801 Windows Tool Chain (ELF)
GNUM32C v0801 Windows Tool Chain (ELF)
と分けてあるので異なるものかと思っていたが、コメントを見ると同じもののようだ。
「Please note that M16C and M32C GNU tools are same tool chain」
しかし、フリーでこれだけのコンパイラが手に入るのはうれしい。
そういえば V850 の環境を HEW に組み込む件、あれも中断したままだ。
MES のように、Cbar に組み込んだ方が手っ取り早いかも...
私の環境は、まだ v0601 。
どのタイミングでアップしようかな
というのは、今のところ特に問題がないので必要性がないのだ。
それにしても、バージョンアップする度にオブジェクトサイズがでかくなっていく。
内容的にはH8で BNOT, BSET BCLR の動作が変わった。
これはいいかも
ところで、ダウンロードの項目で
GNUM16C v0801 Windows Tool Chain (ELF)
GNUM32C v0801 Windows Tool Chain (ELF)
と分けてあるので異なるものかと思っていたが、コメントを見ると同じもののようだ。
「Please note that M16C and M32C GNU tools are same tool chain」
しかし、フリーでこれだけのコンパイラが手に入るのはうれしい。
そういえば V850 の環境を HEW に組み込む件、あれも中断したままだ。
MES のように、Cbar に組み込んだ方が手っ取り早いかも...
SH/H8 用フラッシュライタ (7) ― 2008年01月23日 23時10分51秒
SH/H8 用フラッシュライタ七回目
いつもお世話になっているフラッシュライタの入手先をメモしておこう。
もちろん、忘れたものもある。記憶があやふやなものもある。
すべて、web上で手に入れたものだと思うが...
FDT を除くとサイズも使い方も手軽だ。
でも、新しいデバイスのサポートが少ないのが現実。
ソースがあって追加できそうなのは、h8w、h8flush
まずは h8w からやってみるか
と、始めたところがソースがコンパイルできない。
またしてもつまづいてしまった。
いつもお世話になっているフラッシュライタの入手先をメモしておこう。
もちろん、忘れたものもある。記憶があやふやなものもある。
すべて、web上で手に入れたものだと思うが...
Flashsimple 1.1 Flashsimple 日立ヨーロッパだったと思う。もうweb上には、 かけらしかないようだ。 ( Flashsimple.lzh Flashsimple.zip flashsimple_v1_1.exe あたりで探すといい ) FDTよりもコンパクトなので使いやすい。 かけらでも手に入れておくことを勧める。 FDTの書き込み制御ファイルがそのまま使えるはずだ。 ただし、使えるのは Protocol Aカーネルのみ。 このプロトコルAも以前は eu.renesas.com で手に入ったが 今はどうだろう? h8flush 3.6 h8flush h8write 1.0.0 Open SH/H8 writer mes(Micro Embeded System)の中のtool h8write は誰もが使ったことあるだろう。 しかし、私はWindows用の h8flush を最近まで知らなかった。 Flash Starter 2.0 フラッシュメモリプログラマ FDT 3.07 Flash Development Toolkit いわずと知れた renesas。 FDT 4.0 もある。 サポートするデバイスは多いがでかい。 ただし、古いデバイスには Protocol A plugin が必要だ。 手に入るうちにぜひ入手しておこう! Flash Starter は M16C/R8C/740 にのみ対応している。 H8WT 2.2 H8Write Turbo 秋月電子の開発ツールの中?だと思う。 私は持ってないのだが、どこから手に入れたのだろう。 しかし、web 上から手に入れたのは間違いない。 Flashsimple 1.1 Flashsimple fw 2.6 フラッシュライター ベストテクノロジーのGCC Developer Liteの中に含まれている。 これはいまだにお世話になっている。 ただし、現在のバージョンは 4.0 h8w 0.36b H8ライター yamasan 作 フリーソフト 書き込み制御ファイルを追加すればサポートするデバイスは増える。 H8Wr3694_20MHz ?.? H8Wr3694_20MHz 覚えていない。タイトルバーには、"Tiny H8/3664"と書いてある。 web 上から手に入れたのは間違いないが、検索しても出てこない。
rom_writer 1.4 えっちはち-ROMライタ 書き込みの確認はしていない。H8 ブートモードROM書込み H8 2638 がサポートしてある。 書き込み制御ファイルを用意すれば他のCPUも書き込めるかもしれない。
H8writer 3.00 H8 Flash Writer H8/3048F,H8/3048F-ONE に対応してあるようだが書き込みの確認はしていない。 タイトルバーには、"H8/H8S/Tiny/SH Series Flash Writer"と書いてある。 書き込み制御ファイルを用意すれば他のCPUも書き込めるかもしれない。 これも入手先不明。
FDT を除くとサイズも使い方も手軽だ。
でも、新しいデバイスのサポートが少ないのが現実。
ソースがあって追加できそうなのは、h8w、h8flush
まずは h8w からやってみるか
と、始めたところがソースがコンパイルできない。
またしてもつまづいてしまった。
SH/H8 用フラッシュライタ (6) ― 2007年12月17日 00時09分40秒
SH/H8 用フラッシュライタではなくてハードウェア
知り合いのソフト屋によると
「フラッシュROMの書き込みは、
USBシリアルを使うよりレガシーポートを使ったほうが早い。」
ということだった。
そのことを聞いていたのでPCは迷わずhpの nx6320 を選んだわけだ。
一方、どこかのホームページではレガシーポートを使うより
USBシリアルの方が早い。と記述してあった。
どちらが本当なのだ。そこで実際にテストしてみることにした。
レガシーポートは、HP nx6320
USBシリアルは同じくHP nx6320 を使って次に示すアダプタを使った。
手持ちはこれだけしかないので、これでテスト。
書き込みソフトは FDT3.07 を使うことにしよう。
ターゲットCPUは BTC050 SH2-7045F
ファイルサイズ mot file 176,166byte
時間計測はいつものようにストップウォッチ
さて、結果は
FDT はレガシーポートに最適化してあるのか?
それを確かめるためにH8ライター(h8w.exe 0.36b)でも試してみよう
ここであることに気がついた。
オプションとしてベリファイとかいろいろスイッチがあることに
とすると今まで異なる条件で比較していたことになる。
やはり私のやることにはぬけがある。
幸い、このブログは私個人のメモ用で世間に知られてなかったことが救いだろう。
さて、これで結論が出た。
レガシーポートは早い!!!
私の知り合いの言うことが正しかった。
でも、これをもって最終的な結論とするにはまだ不十分かもしれない。
ちょっと、慎重になるわたし。
知り合いのソフト屋によると
「フラッシュROMの書き込みは、
USBシリアルを使うよりレガシーポートを使ったほうが早い。」
ということだった。
そのことを聞いていたのでPCは迷わずhpの nx6320 を選んだわけだ。
一方、どこかのホームページではレガシーポートを使うより
USBシリアルの方が早い。と記述してあった。
どちらが本当なのだ。そこで実際にテストしてみることにした。
レガシーポートは、HP nx6320
USBシリアルは同じくHP nx6320 を使って次に示すアダプタを使った。
IOデータ USB-RSAQ2 チップ PL-2303 エレコム UC-SGT チップ PL-2303 秋月 USB-RS232 チップ PL-23033種類ともPL-2303 とは、偶然だろうか?
手持ちはこれだけしかないので、これでテスト。
書き込みソフトは FDT3.07 を使うことにしよう。
ターゲットCPUは BTC050 SH2-7045F
ファイルサイズ mot file 176,166byte
時間計測はいつものようにストップウォッチ
さて、結果は
nx6320 21.66秒 USB-RSAQ2 79.41秒 UC-SGT 80.28秒 USB-RS232 79.74秒おーっと、この結果には驚きだ。
FDT はレガシーポートに最適化してあるのか?
それを確かめるためにH8ライター(h8w.exe 0.36b)でも試してみよう
nx6320 81.49秒 USB-RSAQ2 136.90秒 UC-SGT 137.13秒 USB-RS232 137.23秒FDT だけじゃなく、ほかでも傾向は同じだ。
ここであることに気がついた。
オプションとしてベリファイとかいろいろスイッチがあることに
とすると今まで異なる条件で比較していたことになる。
やはり私のやることにはぬけがある。
幸い、このブログは私個人のメモ用で世間に知られてなかったことが救いだろう。
さて、これで結論が出た。
レガシーポートは早い!!!
私の知り合いの言うことが正しかった。
でも、これをもって最終的な結論とするにはまだ不十分かもしれない。
ちょっと、慎重になるわたし。
SH/H8 用フラッシュライタ (5) ― 2007年12月09日 22時36分10秒
SH/H8 用フラッシュライタ五回目
さらにh8(MB-H8/3694F)でためしてみた。
ファイルサイズは3052Fと同等で小さい
これも、以前書いたもので printf のみのもの。
測定条件
CPU基板 MB-H8/3694F
ファイルサイズ mot file 15,684byte
シリアルポート USB-RSAQ2
時間計測はストップウォッチ
やたら早い H8Wr3694_20MHz 、実はどこで手に入れたのか記憶がない
webで探してみてもヒットしない
私がかってにファイル名を変えてしまったのだろうか?
画面を右に示す。珍しくSフォーマットのバイナリを表示する機能がある。
ただ、H8/3694F 20MHz しか書き込めないようだ。
...ようだ。というのは3694F/20MHz以外で試してないので分からない。
ライターの画面には"Tiny H8/3664"と書いてあるのでその改造版だろうか?
ここまでいろいろ見てきたが h8とshは、フリーで手に入るフラッシュライタが多い。
それだけポピュラーなのだろうか。
さらにh8(MB-H8/3694F)でためしてみた。
ファイルサイズは3052Fと同等で小さい
これも、以前書いたもので printf のみのもの。
測定条件
CPU基板 MB-H8/3694F
ファイルサイズ mot file 15,684byte
シリアルポート USB-RSAQ2
時間計測はストップウォッチ
H8Wr3694_20MHz ?.? 4.21秒 H8Wr3694_20MHz fw 2.6 7.64秒 fw h8w 0.36b 9.44秒 H8ライター H8WT 2.2 11.25秒 H8Write Turbo FDT 3.07 14.88秒 Flash Development Toolkit Flashsimple 1.1 16.54秒 Flashsimple
やたら早い H8Wr3694_20MHz 、実はどこで手に入れたのか記憶がない
webで探してみてもヒットしない
私がかってにファイル名を変えてしまったのだろうか?
画面を右に示す。珍しくSフォーマットのバイナリを表示する機能がある。
ただ、H8/3694F 20MHz しか書き込めないようだ。
...ようだ。というのは3694F/20MHz以外で試してないので分からない。
ライターの画面には"Tiny H8/3664"と書いてあるのでその改造版だろうか?
ここまでいろいろ見てきたが h8とshは、フリーで手に入るフラッシュライタが多い。
それだけポピュラーなのだろうか。
SH/H8 用フラッシュライタ (4) ― 2007年11月14日 20時51分28秒
SH/H8 用フラッシュライタ四回目
今度はh8でためしてみた。
ファイルサイズは小さい
これは、以前書いたもので printf のみのものだからだ。
ただしちょっと修正した。SCI0 を SCI1 に。
今回はじめて動かしたが、バグもないようだ。
測定条件
CPU基板 AKI-H8_3052F
ファイルサイズ mot file 15,550byte
シリアルポート USB-RSAQ2
時間計測はストップウォッチ
ここでもやはり h8flush か、でも3694がサポートしてない。
自分で作ってみようかな...
今度はh8でためしてみた。
ファイルサイズは小さい
これは、以前書いたもので printf のみのものだからだ。
ただしちょっと修正した。SCI0 を SCI1 に。
今回はじめて動かしたが、バグもないようだ。
int main (void) { SCI1_INIT(br57600,2 , 8, 0, 1); //br,level,bit,parity,stopBit EI; while (1) { if(SCI1_IN_DATA_CHECK()){ SCI1_OUT_DATA(SCI1_IN_DATA()); } } }
測定条件
CPU基板 AKI-H8_3052F
ファイルサイズ mot file 15,550byte
シリアルポート USB-RSAQ2
時間計測はストップウォッチ
h8flush 3.6 07.62秒 h8flush H8WT 2.2 09.13秒 H8Write Turbo h8w 0.36b 10.67秒 H8ライター Flashsimple 1.1 16.44秒 Flashsimple FDT 3.07 16.55秒 Flash Development Toolkit
ここでもやはり h8flush か、でも3694がサポートしてない。
自分で作ってみようかな...
最近のコメント