R8C printf (2) ― 2007年12月03日 20時26分20秒
そういえばR8C/15で printf のテストをしたが、
その時のプロジェクトを載せておこう。
コンパイラのバージョンはM3T-NC30WA V.5.42
例の問題のあったバージョン、もちろん修正済み。
しかし、確かまだ問題があった。
printf はできるが
getchar()、scanf() など入力系が全滅だったような
printf ができたので次は scanf だと思っていたがすっかり忘れていた。
なんか、やりかけて中断しているのが多い...
まあ、とにかくここにおいておこう。
R8C/15 printf
%f は指定できないが、それでもサイズはでかい。
printf を入れただけで残りのROMがすこしになってしまう。
もっともR8Cを使うんだったらprintfを使うべきではない。
参考資料:Printf動かすまでの道
その時のプロジェクトを載せておこう。
コンパイラのバージョンはM3T-NC30WA V.5.42
例の問題のあったバージョン、もちろん修正済み。
しかし、確かまだ問題があった。
printf はできるが
getchar()、scanf() など入力系が全滅だったような
printf ができたので次は scanf だと思っていたがすっかり忘れていた。
なんか、やりかけて中断しているのが多い...
まあ、とにかくここにおいておこう。
R8C/15 printf
%f は指定できないが、それでもサイズはでかい。
printf を入れただけで残りのROMがすこしになってしまう。
もっともR8Cを使うんだったらprintfを使うべきではない。
参考資料:Printf動かすまでの道
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 用フラッシュライタ (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 だけじゃなく、ほかでも傾向は同じだ。
ここであることに気がついた。
オプションとしてベリファイとかいろいろスイッチがあることに
とすると今まで異なる条件で比較していたことになる。
やはり私のやることにはぬけがある。
幸い、このブログは私個人のメモ用で世間に知られてなかったことが救いだろう。
さて、これで結論が出た。
レガシーポートは早い!!!
私の知り合いの言うことが正しかった。
でも、これをもって最終的な結論とするにはまだ不十分かもしれない。
ちょっと、慎重になるわたし。
USBシリアル ― 2007年12月20日 22時05分35秒
USBシリアルをテストした時に、気になることがあった。
エレコム UC-SGT と 秋月 USB-RS232 が恐ろしく似ているのだ。
どちらもスケルトンになっており中が見える。
どうやら実装してある基板も同じものだ。
usbview で見ると、異なるのは idVendor と idProduct のみ
秋月 エレコム
idVendor: 0x067B 0x056E
idProduct: 0x2303 0x5004
同じものなら安い方を買いたい。
もっと早く知っていれば...
参考までに、右のスクリーンショットは USB-RSAQ2
これは借り物なのでいずれ返さなければならない。
とすると、手持ちのUSBシリアルで RS232-TTL が動かなくなってしまう。
しかも同じものを二つも買ってしまうとは、情けない...
RS232-TTL も何とかしなくちゃ
エレコム UC-SGT と 秋月 USB-RS232 が恐ろしく似ているのだ。
どちらもスケルトンになっており中が見える。
どうやら実装してある基板も同じものだ。
usbview で見ると、異なるのは idVendor と idProduct のみ
秋月 エレコム
idVendor: 0x067B 0x056E
idProduct: 0x2303 0x5004
同じものなら安い方を買いたい。
もっと早く知っていれば...
参考までに、右のスクリーンショットは USB-RSAQ2
これは借り物なのでいずれ返さなければならない。
とすると、手持ちのUSBシリアルで RS232-TTL が動かなくなってしまう。
しかも同じものを二つも買ってしまうとは、情けない...
RS232-TTL も何とかしなくちゃ
CQ_dsPIC (3) ― 2007年12月22日 18時42分22秒

CQ_dsPICを始めるにあたり、もう少し調べてみた。
フラッシュメモリへの書き込みは二通りあるようだ。
1. Run-Time Self-Programming (RTSP)
2. In-Circuit Serial Programming (ICSP)
RTSPに使うHardware Interface は
MCLR#、PGC、PGD
ICSPはCOM Port (Bootloader)とも呼ばれ
Hardware Interface は
MCLR#、RXD、TXD
ICSP の方が使いやすいような気がする。
ICSP のフリーブートローダーは以下のようなものがある。
ingenia
Tiny
Elektronika
まず、ingenia の Bootloader を使ってみよう。
ソース(iBL.s)を修正してコンパイルしたがエラーになってしまう。
最初からつまづいてしまった。
結構詳しく書いてあるのだが、まだ読み方が浅いらしい。 これも先が長くなりそう。 素直に、トランジスタ技術のローダーを使えば問題ないのに...
フラッシュメモリへの書き込みは二通りあるようだ。
1. Run-Time Self-Programming (RTSP)
2. In-Circuit Serial Programming (ICSP)
RTSPに使うHardware Interface は
MCLR#、PGC、PGD
ICSPはCOM Port (Bootloader)とも呼ばれ
Hardware Interface は
MCLR#、RXD、TXD
ICSP の方が使いやすいような気がする。
ICSP のフリーブートローダーは以下のようなものがある。
ingenia
Tiny
Elektronika
まず、ingenia の Bootloader を使ってみよう。
ソース(iBL.s)を修正してコンパイルしたがエラーになってしまう。
最初からつまづいてしまった。
結構詳しく書いてあるのだが、まだ読み方が浅いらしい。 これも先が長くなりそう。 素直に、トランジスタ技術のローダーを使えば問題ないのに...
CQ_dsPIC (4) ― 2007年12月26日 23時28分02秒
iBL.s のコンパイルはできた。
原因は EC_PLL16 が dsPIC30F2012 にはなかったのだ。
さて、このブートローダーをどうやって書き込もうか?
先のことを考えてなかった。
ICD2 がなければ書き込めないような気がする。
とすると、このプロジェクトはここで終わってしまう。
CQ_dsPIC はこのまま日の目を見ることなくパーツボックスの中に眠ることになってしまった。
それにしても、dsPIC は使い方が難しい。
使い方だけでなくアーキテクチャも、いまだによく理解できていない。
これも年のせいだろうか?
今回は、さみしい結果だ。
原因は EC_PLL16 が dsPIC30F2012 にはなかったのだ。
さて、このブートローダーをどうやって書き込もうか?
先のことを考えてなかった。
ICD2 がなければ書き込めないような気がする。
とすると、このプロジェクトはここで終わってしまう。
CQ_dsPIC はこのまま日の目を見ることなくパーツボックスの中に眠ることになってしまった。
それにしても、dsPIC は使い方が難しい。
使い方だけでなくアーキテクチャも、いまだによく理解できていない。
これも年のせいだろうか?
今回は、さみしい結果だ。
SH2 SH7085 (1) ― 2007年12月28日 17時08分51秒

日経BP社の Tech-On にAP-SH2F-10Aが載っていた。
2007/10/03 となっているから、わりと最近だ。
ハードウエア仕様
●動作周波数 80.0MHz (10.0MHz水晶使用)
●内蔵FlashROM 512KB
●内蔵RAM 32KB
●高速SRAM 512KB
●小型基板を採用(80mm×100mm)
●外部拡張コネクタに、外部拡張に必要な信号を全て接続
●H-UDIデバッガ対応
これも手に入れて使ってみたい。
内蔵RAMが大きいのがいい
このぐらいあると標準関数を使っても余裕だろう。(...たぶん)
しかし、この7085は7045や7145とピン配置が微妙に異なっている。
やはり、基板を新しく起こさないとだめか...
そうそう、SCI3 が FIFO 付きになって、さらにハードウェアハンドシェイクも可能となっている。
ここまではよいのだが、この SCI3 が微妙な端子に割り当ててあるので使いにくい。
I/Oとして潰さざるを得ないかもしれない。
AP-SH2F-10A
2007/10/03 となっているから、わりと最近だ。
ハードウエア仕様
●動作周波数 80.0MHz (10.0MHz水晶使用)
●内蔵FlashROM 512KB
●内蔵RAM 32KB
●高速SRAM 512KB
●小型基板を採用(80mm×100mm)
●外部拡張コネクタに、外部拡張に必要な信号を全て接続
●H-UDIデバッガ対応
これも手に入れて使ってみたい。
内蔵RAMが大きいのがいい
このぐらいあると標準関数を使っても余裕だろう。(...たぶん)
しかし、この7085は7045や7145とピン配置が微妙に異なっている。
やはり、基板を新しく起こさないとだめか...
そうそう、SCI3 が FIFO 付きになって、さらにハードウェアハンドシェイクも可能となっている。
ここまではよいのだが、この SCI3 が微妙な端子に割り当ててあるので使いにくい。
I/Oとして潰さざるを得ないかもしれない。
AP-SH2F-10A
最近のコメント