料理 (10) チャーハン ― 2011年08月07日 07時01分14秒

うまくできるときと、そうでない時の差が激しいのがチャーハンだ。
オープンキッチン の中華料理店で食い入るように作り方を見てくるが、作る時になると記憶があやふやになっている。
見た直後にメモすればいいのだろうけど...
材料 (3人分)

 ご飯		2合半
 たまご		3
 豚肉		80g
 玉ねぎ		200g
 にんじん	100g
 ピーマン	3個
 ねぎ		2~3本
 サラダ油	大1/2
 塩		小2
 胡椒		適量
 しょうゆ	大2


1.玉ねぎ、にんじん、ねぎをみじん切りにする。
2.ピーマンの種を取ってみじん切りにする。
3.熱した中華なべに油を注ぎ卵をいため、一旦取り出す。
4.続いて豚肉をいためる。塩、コショウで下味をつける。
5.豚肉に火が通ってきたところで玉ねぎ、にんじん、ピーマンを入れて炒める。
6.玉ねぎが狐色になってきたら、ご飯と取り出しておいた卵を入れていためる。
7.しょうゆ、塩、胡椒を入れて味を調える。
8.ねぎを入れて軽く混ぜ合わせれば出来上がり。


数ある料理の中でこれだけは上手に作りたい。
上手に作りたいが、うまくできない。

料理 (11) ポトフ ― 2011年08月13日 09時51分00秒

ポトフ
「ポトフのようなもの」と言うべきかも知れない。
材料を切って煮るだけなので手軽といえば手軽だ。
材料 (8人分)

 ソーセージ	200g
 茹でたまご	人数分
 じゃがいも	400g
 玉ねぎ		400g
 にんじん	200g
 キャベツ	1/2
 パセリ		適量
 ローリエ	2枚
 塩		小2
 胡椒		適量


1.じゃがいもの皮をむいて大きめにきる。
2.キャベツをざっくり切って鍋に入れる。
3.にんじん、たまねぎを大きめに切って鍋に入れる。
4.ソーセージを入れて、水がソーセージに被るぐらいまで入れる。
5.塩、コショウ、ローリエを入れて中火で10分間煮る。
6.じゃがいもを入れてさらに10分間煮る。
7.皿に盛り付け、茹でた卵とパセリを載せて出来上がり。


庭に月桂樹の木があるが何に使ったらよいのかよくわからなかった。
今回初めて使ってみた。
効果はよくわからない。

SH2 SH7085 (7) sci (1) ― 2011年08月18日 22時52分14秒

SCI1
しばらく間があいてしまった。
どこまでやったのか記憶が...


確かシリアルはまだやってなかったはずだ。
次はシリアルといこう。
ところがシリアルの送信がうまくいかない。
起動直後の1バイト、あるいは数バイトが文字化けする。
スクリーンショットはリセット直後に小文字の "l" を出力したものだ。
1文字ごとにリセットしている。
しかし、文字化けが終わるとその後は安定して送信できる。


ソフトの作成にはあまり自信がないのでサンプルを探してみる。
renesas にサンプルがあった。
「SCIF 調歩同期式シリアルデータ送受信機能」 さすがルネサスだ!
中身を見てみる。
自分で作成したプログラムと大して変わらない。
異なっている部分は
ボーレート設定の後
for(i=0; i<0x1000; i++); があるのと
PFC.PACRL で TXD1 と RXD1 に切り替える前に TXD1 を出力に設定してある。
PFC.PAIORL.WORD = 0x0010; //出力設定


なるほどこれか?
変更して動かしてみる。
今度は文字化けするばかりか起動直後に null code まで出力されている。


困った。
コンパイラの不具合によるものかもしれないので gcc と shc の両方で試してみる。


どちらも症状は同じだ。
これはチップのバグなのか?


この不具合、毎回出るのではない。
時々出るのだ。だから始末が悪い。


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

SH2 SH7085 (7) sci (2) (Renesas Sample Code) ― 2011年08月19日 20時46分45秒

SH7085 SCI
「チップのバグなのか?」などと書いたが、実は私の単純なミスだった。


電源投入直後(リセット)から SCI 初期化までの間 TXD は High impedance なので port の値が不定になるのを忘れていた。
なんてことは無い TXD をプルアップすれば良いだけだ。
反省!
図の中の R? が追加した抵抗。
これで文字化けすることはなくなった。
次からは ADM3202ARU とピンコンパチブルの MAX232ACUE+ を使うことにしよう。
でも、設計の古い MAX232ACUE+ はできれば使いたくない。
SCI 出力



さて、原因が分かったところで気分を変えて Renesas の別のサンプルを動かしてみる。
このサンプルいろんなことができるようになっている。ひとつずつ確かめながら動かしていくことにしよう。
まずは SCI_UART。上の画面はその出力だ。それ以外に LCD にも出力できるようになっている。
SH7085 LCD

ただし、私の環境で動くように修正が加えてある。
このサンプルはマルチプロジェクトになっており SCI_UART 以外に
ADC_OneShot
ADC_Repeat
CMT0_Output_Capture
DMAC
DTC
MTU2_InputCapture
MTU2_PulseGen
MTU2_PWM
Power_Modes
tutorial
Watchdog
がある。しかし、残念なことにこれも日本語のサイトには無い。


確認したサンプルは以下のとおり。
私の環境に合わせて修正した Renesas のサンプル


ところで、SH7085 のフラッシュライタはどんなものがあるかというと、以下に示すとおり。
FDT		5.98秒	Flash Development Toolkit V.4.07 Release 00
H8W		6.25秒	H8ライター Ver. 0.38b3
H8flash		13.66秒	H8flash v3.7
スピードは FDT と H8ライター が突出している。※(SH/H8 用フラッシュライタ (11) 参照。)
もちろん H8ライター は大活躍だ。
測定条件
ファイルサイズ mot file 37,800byte
シリアルポート AKI/USB-RS232
時間計測はストップウォッチ


H8ライター

ここでひらめいた。
inf ファイルを用意すれば H8SX1655 や RX62N にも H8ライターが使えるのじゃないかと。
さっそく RX62N で試してみるが残念ながらうまくいかなかった。
ビットレートの合わせ込み
デバイス名確認
イレース
ここまではうまくいっているようだ。
この後書き込みのためにビットレートを変更するがそこで失敗してしまうような気がする。

RX62N_F96M_P384.INF
[BootDef]
DeviceName=RX600 Series
UserMatRdf=0
BaudP=38400
ClockMode=0
ClockFreq=1200
MatType=0
MulRatioNo=2
MulRatio1=8
MulRatio2=4
MulRatio3=0
MulRatio4=0



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

KPIT GNU Tools (18) GNUSH v0601 Windows Tool Chain (ELF) ― 2011年08月25日 21時40分34秒

追加した SH7231
今回追加するデバイスは SH7231
まだ入手していないので動作テストするのは先の話になる。
コンパイラのバージョンは KPIT GNU Tools GNUSH v0601
HEW のバージョンは 4.09.00


まずスペックを整理してみる。
ROM Start : 0x00000000
Vector Table End : 0X000003FF
ROM End : 0x000BFFFF  (SH72315=0x000FFFFF)
Ram1 Start : 0xFFF80000
Ram1 End : 0xFFF87FFF
Ram2 Start : 0xFFFD8000
Ram2 End : 0xFFFDAFFF
ここでは SH72314 の設定だけにする。


ではさっそく始める。


①デバイス名を追加。(一箇所)
C:\Program Files\Renesas\Hew\System\Pg\KPIT GNUSH-ELF\capp.det
C:\Program Files\Renesas\Hew\System\Pg\KPIT GNUSH-ELF\cppapp.det
C:\Program Files\Renesas\Hew\System\Pg\KPIT GNUSH-ELF\lib.det
 SH2a の項目に SH7231 を追加。


②デバイス名とそれに対応するヘッダーファイル指定を追加。
C:\Program Files\Renesas\Hew\System\Pg\KPIT GNUSH-ELF\slib.det
SH2a の項目に SH7231 を追加してヘッダーファイルを指定する。
例)
 [SH7231]
 header\7231.h


③ヘッダーファイルを追加。
作成したヘッダーファイルを指定ディレクトリに入れる。
C:\Program Files\Renesas\Hew\System\Pg\KPIT GNUSH-ELF\SH2a\header\7231.h


④vectshead が未修正の場合は修正する。
C:\Program Files\Renesas\Hew\System\Pg\KPIT GNUSH-ELF\SH2a\vectshead

 


⑤セクション情報を追加。
C:\Program Files\Renesas\Hew\System\Pg\KPIT GNUSH-ELF\scapp.det
C:\Program Files\Renesas\Hew\System\Pg\KPIT GNUSH-ELF\scppapp.det
SH2a の項目に SH7231 のセクション情報を追加して項目の後にヘッダーファイルを指定する。
[SH7231]
header\7231.h

 


⑥ベクターテーブルを追加。
C:\Program Files\Renesas\Hew\System\Pg\KPIT GNUSH-ELF\vcapp.det

 




例によってFPU なしの設定で使わなければならない。
さらにレジスタバンクも使えない。


環境: (High-performance Embedded Workshop Version 4.09.00.007) + (KPIT GNUSH v0601 Windows Tool Chain (ELF))
参考: KPIT GNU Tools and Support

Virtual Image Printer driver ― 2011年08月28日 20時53分30秒

Virtual Image Printer driver
ブログに回路図を貼り付けたいと思った。
しかし、私の持っているCADは画像としてプリントアウトすることができない。
そこで、google さんに聞いてみた。「印刷 画像」。
あるではないですか Virtual Image Printer driver 探せばなんでもあるのか?
使い方も説明してある。(印刷結果を画像ファイル化する仮想プリンタ)


便利なものを手に入れることができた。もっと早く知っていればよかった。


参照:印刷結果を画像ファイル化する仮想プリンタ

SH2 SH7085 (8) CMT0 Output Capture (Renesas Sample Code) ― 2011年08月29日 21時01分14秒

SH7086 サンプルワークスペース
さて、続いて CMT0 のサンプルを試してみよう。
先日作成したワークスペースに新しいプロジェクト CMT0_Output_Capture を追加する。
実を言うと Renesas のサンプルを見て、こういうことができるのをはじめて知った。さっそくそれを試しながら shc のソースを gnush にコピーしているわけだ。
それでは、プロジェクトの挿入から始めていこう。


①ワークスペースの読み込み
先日作成したワークスペースを読み込む。
②プロジェクトの挿入
メニューバーの[プロジェクト]/[プロジェクトの挿入]を実行する。
新規プロジェクト]を選択し OK
プロジェクトの挿入
新規プロジェクトの挿入ダイアログが表示されるのでプロジェクト名を「CMT0_Output_Capture」とする。そのほか必要な項目を入力し、プロジェクトを作成する。
新規プロジェクトの挿入
③ファイルのコピー
ここから先はサンプルのファイルをコピーしてプロジェクトに組み込んでいく。
これで既存のワークスペースの中に新しいプロジェクト CMT0_Output_Capture ができたはずだ。
④アクティブプロジェクト
アクティブプロジェクトを変更する場合はメニューバーの[プロジェクト]/[アクティブプロジェクトに設定]でプロジェクトを選択する。
アクティブプロジェクトに設定



確認したサンプルは以下のとおり。
私の環境に合わせて修正した Renesas のサンプル


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

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)