前節で、HEW3を使うと、hilbert変換器が、正常に動かなくなりました。
メイン関数は、こんな感じで、テストしてみました。
シミュレートデバッグで、試してみましたが...
値が、メチャクチャです、訳がわからなくなりました、トホホ。
HEW3の試用期間が、愈々、なくなりましたので、寂しいと感じておりましたが
KPITで、素晴らしいものをみつけました。
http://www.kpitgnutools.com/index.php
シミュレートしている所です。
FDT(Flush Development ToolKit)のAPIも、入っているのですが...
FDT Configurationファイル等が、ありません...
FDTが動けば、
きっと、
実機にプログラムをdownloadして、リモートデバッグが、できるに違いありません。(EDK7047を見てみると、そうらしい。)
どうやるんか、まだ、わかりません。
勿論、HEW 3 with GCCで、simulateは、できます。
simulateの方法は、やはり、KPITのDocumentで調べました、丁寧に書かれています。
so many thanks to KPIT
KPIT's HEW3で
自前の int macw(short* a,short+b)は、シミュレートでも、勿論うまく働いてくれました。
前節で、hilbert変換器が、うまく動かないと書いたのですが、
周波数変換プログラムでの出力は
AD変換された入力信号と、発振器のミックスなので
どうしても、
output=moto_data*real_y - data*imag_y;
output=output>>12;
output +=400;
このあたりの、計算結果が欲しいのです。
これは、実機で、実際に入力信号をAD変換してみないと、解りません...
そうしないと、出力の10ビットDA変換器の範囲に、入りません。
そこで、例によって、インターネットで検索しまくりました。
すこし解って来ました事は
(スタブは、SHの方に入れる、と言うことが、やっと、解ってきました。)
この2つの方法が、あるようです...
スタブの、何たるかが、やっと、わかってきました。
GDBとSCIを通じて、交信するプログラムです。
SH側のromに、入れるほうの奴なんです。
プログラムは、こんな感じです。
int gdb_getc (void)
{
unsigned char c;
*SSR &= ~( PER \ FER \ ORER );
while (!(*SSR & RDRF));
c = *RDR;
*SSR &= ~RDRF;
return c;
}
void gdb_monitor_onexit (void) {}
void gdb_startup (void)
{
/* enable txd/rxd lines */
*PFC_PACRL2 = PACRL2;
/* enable re + te, no interrupts */
*SMR = 0;
*BRR = BAUD;
*SCR = 0x30;
/* turn on the 7045EDK's green led */
*PFC_PEIOR = 0x20;
*IO_PEDR = 0;
return;
}
スタブ自体は、難しい事を、やっていません。
ただし、SH7047用のスタブは、見つけることができませんでした。
SH7045なら、KPITから辿って、スタブが見つかりました。
私が、探してきたのは、
gdbstubs-20030326-1117CDT.tar
と、言うものです。
RedHatの所にも、勿論、あるようです。
いま、SH7045用を、SH7047用に、作り変える事を試している所です、たのんまっしぇえ!動いてや!
1.ルネサスのモニタープログラムに合うように、GDBを作り変える。
この方法は、H8用なら
gdb-hmon.tar.gz
が、応用できるみたいですよ.. 私は.よくわかりません。
ついでに、unixの手ほどきを、
windows上で、シームレスで動くSFU3.5日本語版を動かしてみて、います。
Windows Services for UNIX (SFU) 3.5 は、
「IT プロや開発者が Windows を UNIX および Linux 環境と統合するのに必要なツールと環境を提供します。 」
http://www.microsoft.com/japan/windows/sfu/
H.16.2.13
This document created by Scientific Notebook 4.1. この文書は次の製品で作成しました Scientific Notebook 4.1.