KPIT GNU Tools (20) GNUSH v1202 Windows Tool Chain (ELF) に SH7450 SH7455 を追加する2012年07月29日 22時01分08秒

sh7450/sh7455
Kpit GNUSH v1202 Windows Tool Chain (ELF) に SH7450 SH7455 を追加してみよう。
まず、メモリーマップを見てみる。
	SH74504			SH74513
ROM	00000000~001FFFFF	00000000~0017FFFF
RAM	18000000~1807FFFF	18000000~1807FFFF
OL	E500E000~E5011FFF	E500E000~E5011FFF
IL	E5200000~E5201FFF	E5200000~E5201FFF

	SH74552			SH74562
ROM	00000000~000FFFFF	00000000~000FFFFF
RAM	18000000~1803FFFF	18000000~1803FFFF
OL	E500E000~E5011FFF	E500E000~E5011FFF
IL	E5200000~E5201FFF	E5200000~E5201FFF
ROM と RAM のサイズが違うので SH7450 と SH7455 の二つにする。ここでは、SH7450 についてのみ述べる。

以下に示すファイルを新規作成又は修正することにする。(ここに示すのは SH7450 の例)
C:\Program Files\Renesas\Hew\System\Pg\KPIT GNUSH-ELF\GNUSH_Info\Support_3\scapp.det
C:\Program Files\Renesas\Hew\System\Pg\KPIT GNUSH-ELF\GNUSH_Info\Support_3\scppapp.det
C:\Program Files\Renesas\Hew\System\Pg\KPIT GNUSH-ELF\GNUSH_Info\Support_3\SH-4A\SH7450.PGD
C:\Program Files\Renesas\Hew\System\Pg\KPIT GNUSH-ELF\GNUSH_Info\Generate\env\SH7450.s
C:\Program Files\Renesas\Hew\System\Pg\KPIT GNUSH-ELF\GNUSH_Info\Generate\hwsetup\7450.c
C:\Program Files\Renesas\Hew\System\Pg\KPIT GNUSH-ELF\GNUSH_Info\Generate\IntPRG\SH7450.c
C:\Program Files\Renesas\Hew\System\Pg\KPIT GNUSH-ELF\GNUSH_Info\Generate\iodefine\7450.h
C:\Program Files\Renesas\Hew\System\Pg\KPIT GNUSH-ELF\GNUSH_Info\Generate\vect\SH7450.inc
C:\Program Files\Renesas\Hew\System\Pg\KPIT GNUSH-ELF\GNUSH_Info\Generate\VECTTBL\SH7450.c
C:\Program Files\Renesas\Hew\System\Pg\KPIT GNUSH-ELF\GNUSH_Info\Generate\vhandler\sh7450.s
C:\Program Files\Renesas\Hew\System\Pg\KPIT GNUSH-ELF\Hardware\SH-4A\SH7450.dat

さあ、はじめてみよう。
● scapp.det scppapp.det に SH7450 を追加
C:\Program Files\Renesas\Hew\System\Pg\KPIT GNUSH-ELF\GNUSH_Info\Support_3\scapp.det
C:\Program Files\Renesas\Hew\System\Pg\KPIT GNUSH-ELF\GNUSH_Info\Support_3\scppapp.det

 



●SH7450.PGD を追加
C:\Program Files\Renesas\Hew\System\Pg\KPIT GNUSH-ELF\GNUSH_Info\Support_3\SH-4A\SH7450.PGD

 



●env\SH7450.s を追加
C:\Program Files\Renesas\Hew\System\Pg\KPIT GNUSH-ELF\GNUSH_Info\Generate\env\SH7450.s

 



●hwsetup\7450.c を追加
C:\Program Files\Renesas\Hew\System\Pg\KPIT GNUSH-ELF\GNUSH_Info\Generate\hwsetup\7450.c

 



●IntPRG\SH7450.c を追加
C:\Program Files\Renesas\Hew\System\Pg\KPIT GNUSH-ELF\GNUSH_Info\Generate\IntPRG\SH7450.c

 



●iodefine\7450.h を追加
C:\Program Files\Renesas\Hew\System\Pg\KPIT GNUSH-ELF\GNUSH_Info\Generate\iodefine\7450.h

 



●vect\SH7450.inc を追加
C:\Program Files\Renesas\Hew\System\Pg\KPIT GNUSH-ELF\GNUSH_Info\Generate\vect\SH7450.inc

 



●VECTTBL\SH7450.c を追加
C:\Program Files\Renesas\Hew\System\Pg\KPIT GNUSH-ELF\GNUSH_Info\Generate\VECTTBL\SH7450.c

 



●vhandler\sh7450.s を追加
C:\Program Files\Renesas\Hew\System\Pg\KPIT GNUSH-ELF\GNUSH_Info\Generate\vhandler\sh7450.s

 



●Hardware\SH-4A\SH7450.dat を追加
C:\Program Files\Renesas\Hew\System\Pg\KPIT GNUSH-ELF\Hardware\SH-4A\SH7450.dat

 



うまくできているのだろうか?
プロジェクトを作ってコンパイルしてみる。
問題はなさそうだが最終は現物が手に入ってから確認することにしよう。

環境:High-performance Embedded Workshop Version 4.09.00.007
    KPIT GNUSH v12.02 Windows Tool Chain (ELF)

KPIT GNU Tools (19) GNUSH v1202 Windows Tool Chain (ELF) と avast (2)2012年07月22日 20時33分06秒

自動サンドボックスを無効にする
某bbsに「自動サンドボックスを無効にするとよい」と書いてあったので試してみる。
追加の保護
自動サンドボックス 設定
[自動サンドボックスを有効にする]のチェックを外す


おお!
あの煩わしい画面が出てこない。

とは言ってもOFFにしてしまうと少々不安だ。
というわけで、「自動サンドボックスから除外されるファイル」というのを設定してみた。
コンパイルリンク・ライブラリ作成は問題ないようだ。しかし、新規プロジェクトを作った場合、一番最初に sh-elf-g++.exe と cc1plus.exe はプロジェクト中のファイルの数だけ出現する。ほかの実行ファイルとプロセスの起動方法が異なるのかもしれない。
そして、[実行を続ける]を押した回数だけ「自動サンドボックスから除外されるファイル」の数が増えていく。つまり、実行を続けるをクリックすると自動的に「自動サンドボックスから除外されるファイル」に登録されて次回から検査対象外になる仕組みなのだろう。
しかし、この機能がうまく働いてないようだ。

というわけで根本的な解決には至っていない。

KPIT GNU Tools (19) GNUSH v1202 Windows Tool Chain (ELF) と avast (1)2012年07月19日 22時30分20秒

avast
困ったことになった。
GNUSH v1202 Windows Tool Chain (ELF) をインストールしたものの HEW からコンパイルするたびに セキュリティソフト avast が動いてしまう。

このファイルをマルウェアであると識別するのに十分な証拠は得られませんでした。

のポップアップが何十回と出てきて「実行を続ける」を押し続けなければならない。

Ride7 や µVision では起こらないので HEW 特有の何かがあるのだろう。
今のところ対処方法不明。

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)

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

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 (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 (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 (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 (9) コンフィグレーションの追加2011年08月30日 22時26分02秒

通常なら必要ないが KPIT GNUSH v0601 はプロジェクトを作成する時にデバッガーコンフィグレーションとセッションを生成しない。
新しいコンフィグレーションを追加する時いつもわからなくなってしまうので手順をメモしておこう。
ここでは、シミュレータ SimDebug_SH-2 を追加することにする。


①コンフィグレーションの追加
メニューバーの[ビルド]/[ビルドの構成]をクリックする。(ここがなかなか思い出せない。)
ビルドの構成


ビルドコンフィグレーションダイアログが表示されるので追加をクリックする。
ビルドコンフィグレーションダイアログ


続いてコンフィグレーションの追加ダイアログが表示されるのでコンフィグレーション名「 SimDebug_SH-2 」を入力する。
コンフィグレーションの追加ダイアログ



②新セッション追加
メニューバーの[デバッグ]/[デバッグセッション]をクリックする。
デバッグセッション


デバッグセッションダイアログが表示されるので追加をクリックする。
デバッグセッションダイアログ


続いて新セッション追加ダイアログが表示されるのでセッション名「 SimSessionSH2 」を入力する。
新セッション追加ダイアログ



③デバッグの設定
メニューバーの[デバッグ]/[デバッグの設定]をクリックする。
デバッグの設定


デバッグの設定ダイアログが表示されるので
ターゲット「SH-2 Simulator」 、デバッグフォーマット「Elf/Dwarf2_KPIT」を選択する。
ダウンロードモジュールの部分は追加をクリックする。
デバッグの設定ダイアログ



続いてダウンロードモジュールダイアログが表示されるので
ファイル名に $(CONFIGDIR)\$(PROJECTNAME).x を指定する。
ダウンロードモジュールダイアログ


これで一通りが終了だ


ふ~
さすがに古い Tool Chain は手間がかかる。


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