(toppers-users 274) SH1 版の文字列表示用コマンドについて

Imai Kazuhiko kimai @ mit.pref.miyagi.jp
2001年 9月 25日 (火) 21:40:22 JST


大柏さん

今井と申します。

CQ RISC評価キット SH-1(以下、単にキットと呼びます)に付属す
る処理系ではprintf()などの入出力関数がライブラリに含まれてお
り、これらの関数を使用することでデバッガ画面に文字列表示を行
うことができます。

キット付属デバッガ対応版JSPカーネルでは、上記の関数群に含ま
れるputchar()を利用して文字列表示を実現しています。

jsp/CQ_SH1/main.c 52行目

int monitor_putc(int c)
{
	return putchar(c);
}

ご質問に対する回答は

> Cのprintf関数、sprintf関数のように使える表示用や文字列に
> 変換する関数はありますか。
> それともそもまま使えるのでしょうか。?

(jsp/CQ_SH1/main.cのように)
printf関数を含んだ部分を別ファイルにして、キット付属のコンパ
イラでコンパイルを行い、オブジェクトファイルを生成します。
その後、他のオブジェクトファイルとリンクして実行ファイルを
生成します。

> だいたい550回ぐらいtask1 is running ( )が表示されると
> (実際は括弧の中が変化するだけですが)必ずPARTNER−
> CQが止まってしまいます。完全にハングってしまっているよう
> です。

キット付属デバッガの仕様で1行の文字数が制限されているためと
思われます。

> serial_close,serial_open,serial_read,serial_writeを使うに
> はどうすれば良いでしょう。

キット付属デバッガ対応版に関してはJSPカーネル自身でシリアル
ポートの管理を行わず、モニタ・プログラムに任せています。その
ため、serial_open()等を使うには、以下の2つの方法があります。

1.キット付属デバッガ「非対応」版JSPカーネルを用いる
 (デバッガなしで実行する)
2.jsp/config/sh1/hw_serial.hを改造し、ポート2を
  使うようにする


以上、参考になれば幸いです。



宮城県産業技術総合センター
今井和彦
kimai @ mit.pref.miyagi.jp