SH2 SH7085 (10) printf (1) KPIT GNUSH Simulator2011年09月03日 09時13分36秒

続いて printf で Simulator Window に表示してみよう。


①先日の WorkSpace に printf という NewProject を作成する。
②作成した Project の中に Kpit の Simulated IO Samples の syscalls.c をコピーして追加する。


ここまでやったところでコンパイルしてみる。
エラーだ

 

どうやら _write と _read の置き換えができないらしい。
KPIT GNUSH v0601 ではライブラリを直接変更するしかないのかもしれない。
そこまでする必要も無いので printf はできなかったということにしよう。


環境:High-performance Embedded Workshop Upgrade 4.09.00
    KPIT GNUSH v0601 Windows Tool Chain (ELF)

SH2 SH7085 (10) printf (2) KPIT GNUSH Simulator2011年09月04日 14時01分56秒

Simulator Debugger printf
Simulator Window に printf で表示できなかったのは少々(かなり)悔しい。
バージョンを変えてやってみることにする。
実を言うと別のコンピュータに KPIT GNUSH v1001 がインストールしてある。
それでは始めよう。


①先日の WorkSpace に printf という NewProject を追加する。
特に問題になる所はないが Target System for Debugging の所では [SH-2 Simulator] を指定しておこう。
Target System for Debugging



②作成した Project の中に Kpit の Simulated IO Samples の syscalls.c をコピーする。
ただし、下記のように若干修正がしてある。
#if で囲ってある所だ。

 

そして、 uart1.c これは 先日のサンプル SCI_UART を少し変更したものだ。

 

hwinit.c はプロジェクト SCI_UART と同じでいいだろう。
最後は main.c ただ printf と scanf を書けばよい。

 




③KPIT GNUSH [ELF] Toolchain Defines
先ほどの syscalls.c を Simulator で動かすために define する。
NEWLIB  0
SCI_printf 0
SimulatorIO & Optimized LIB enable



これで準備完了。
コンパイルしてReset Run で Debug Window に入出力できる。(右上の画面)
これで完全かというと、そういうわけではない。
ライブラリとの関係を示すと
		newlib	Optimized
SCI		○	○
Simulator	△	○
newlib を使った Simulator がうまく動かない。
scanf が暴走してしてしまうのだ。


くやしいが、もうこの辺で勘弁しておいてやろう。
シリアルは問題ないんだけどね~
SCI printf & scanf



環境:High-performance Embedded Workshop Upgrade 4.09.00
    KPIT GNUSH v1001 Windows Tool Chain (ELF)

SH2 SH7085 (11) ハードウェアの概略2011年09月07日 01時12分04秒

SH7085 Schematic
遅くなったが現在使っている SH7085 ボードの概略を示す。
ようやくここで先日インストールした Virtual Image Printer driver が役に立つわけだ。
主なI/Oは
シリアル		SCI0 SCI1 (PA0 PA1 PA3 PA4)
LCD IF		PA5 PA6 PA7 PB4 PB5 PB6 PB7
IIC ROM		SCL SDA (PB2 PB3)
LED		PB0 PB1
SW IN		PA2
といったところだ。
ほとんど手を加えて無い状態なのですっきりしている。


さて、次はもう一度 IIC を取り上げてみようと思う。

SH2 SH7085 (12) Character LCD で tiny oscilloscope (1)2011年09月10日 21時57分08秒

Character lcd で tiny Oscilloscope
Character LCD で tiny oscilloscope を作ってやろうと思いつく。
なぜかって?
・オシロスコープを引っ張り出すまでもなく、手っ取り早く波形を見たい。
・手持ちの LCD はキャラクタタイプの SC1602 しか持ち合わせていない。
・CQ出版社の付属基板が大量にある。(大量といっても全部あわせて10枚も無い)
・誰もこんなことやって無いだろうという自己満足。
というわけだ。


さて、どうやって実現するかというと。
・CGRAM を使って波形データを描画する。
・キャラクタ間の隙間は Oscilloscope の Grid Reference に見立てる。
・垂直方向 17pixcel 水平方向 95pixcel の分解能。
これで何とか形になるんじゃないかと思った。


しかし、もしかすると私以外にこのようなことを考えている(実現している)人がいるかもしれない。
念のため調べておこう。
検索!


ああ...
やっぱりあるのですね。
そのものずばりだ。
LCDscope, not a GLCD but a text LCD oscilloscope
詳しく探せばもっとたくさんあるのかもしれない。
という訳で、またしても人のまねをすることになりそうだ。


参照:LCDscope, not a GLCD but a text LCD oscilloscope

SH2 SH7085 (12) Character LCD で tiny oscilloscope (2)2011年09月12日 21時03分41秒

表示エリア変更
少し勘違いがあった。
CGRAM のデータを DDRAM に書き込めばその表示は固定されるものだと思っていた。
ところが、 CGRAM のデータを書き換えれば既に DDRAM に書込み済みの表示も変わってしまう。
従って、8キャラ分の狭い範囲しか波形表示ができないのだった。
垂直方向 17pixcel 水平方向 23pixcel
最初の予定よりずいぶん狭くなってしまった。
voltage scale と time scale を細かく切り替えできるようにしよう。


仮に表示してみる。
仮に表示
直線に見えない。
縦方向の隙間と横方向の隙間が違うようだ。
ここは、垂直方向 16pixcel 水平方向 23pixcel
とした方がいいかもしれない。


参照:LCDscope, not a GLCD but a text LCD oscilloscope

CodeSourcery2011年09月14日 23時38分51秒

CodeSourcery の download へたどり着くことができない。
mentor という所へ飛ばされる。


CodeSourcery はなくなったのだろうか?


Mentor Graphics が買収したらしい。結構前の話なのに知らなかった。


Sourcery CodeBench Lite Edition - Mentor Graphics


参照:Mentor Graphics CodeSourcery の一部資産を買収

SH/H8 用フラッシュライタ (22) SH Flush2011年09月19日 08時13分13秒

SH Flush v1.0
MES のプログラム開発セットが Ver2.6 b1 になっていた。
IDE が CBar から Eclipse になって h8flush が SH flush になっている。名前から分かるように H8 と STR710 が削除になり SH7730 が追加されている。
開発セットのサイズも 300M 弱で巨大だ。
それにしても H8 がなくなったのは、ちょっとさみしいかな。


参照:MES(Micro Embeded System)