R8C printf (2)2007年12月03日 20時26分20秒

R8C15_printf
そういえばR8C/15で 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	?.?	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秒

H8ライター
SH/H8 用フラッシュライタではなくてハードウェア


知り合いのソフト屋によると
「フラッシュROMの書き込みは、
USBシリアルを使うよりレガシーポートを使ったほうが早い。」
ということだった。
そのことを聞いていたのでPCは迷わずhpの nx6320 を選んだわけだ。


一方、どこかのホームページではレガシーポートを使うより
USBシリアルの方が早い。と記述してあった。


どちらが本当なのだ。そこで実際にテストしてみることにした。


レガシーポートは、HP nx6320
USBシリアルは同じくHP nx6320 を使って次に示すアダプタを使った。
IOデータ	USB-RSAQ2	チップ PL-2303
エレコム	UC-SGT		チップ PL-2303
秋月	USB-RS232	チップ PL-2303
3種類とも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-RSAQ2
USBシリアルをテストした時に、気になることがあった。


エレコム 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秒

ingenia dsPIC bootloader
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)を修正してコンパイルしたがエラーになってしまう。
最初からつまづいてしまった。
結構詳しく書いてあるのだが、まだ読み方が浅いらしい。 これも先が長くなりそう。 素直に、トランジスタ技術のローダーを使えば問題ないのに...

CQ_dsPIC (4)2007年12月26日 23時28分02秒

iBL.s のコンパイルはできた。
原因は EC_PLL16 が dsPIC30F2012 にはなかったのだ。


さて、このブートローダーをどうやって書き込もうか?
先のことを考えてなかった。


ICD2 がなければ書き込めないような気がする。
とすると、このプロジェクトはここで終わってしまう。
CQ_dsPIC はこのまま日の目を見ることなくパーツボックスの中に眠ることになってしまった。


それにしても、dsPIC は使い方が難しい。
使い方だけでなくアーキテクチャも、いまだによく理解できていない。
これも年のせいだろうか?


今回は、さみしい結果だ。

SH2 SH7085 (1)2007年12月28日 17時08分51秒

AP-SH2F-10A
日経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