DWロゴ icon CQ出版社のトップページへ戻る
CqREEKのページへ戻る

Windows対応RISCシステム開発パッケージ
CQ RISC評価キット

CqREEKシリーズ Q&Aコーナ(CqREEK/V821関連)


 ここでは,よく寄せられるCqREEK/V821に関する質問についてお答えします.

(Last update '99/7/25) 

Q1.
 ボードにRS-232-Cがついているようだが,これを使ったアプリケーションは製作可能か?

A1.
 CPUボードに実装されているRS-232-Cコネクタは,デバッガであるPARTNER-CQ版と通信するために使用するので,デバッグと同時にアプリケーションで使用することは難しいと思われます.
 基本的に Goコマンドでユーザプログラムの実行が開始されたあとは,単なるシリアルと同等なので,通信速度やデータ長,ストップビット長などの設定をデバッガで使用している環境から変えない限り,ユーザのアプリケーションで使用しても問題はないと考えられますが,現実的にはデバッガとの同時使用は難しいでしょう.


Q2.
 このキットに入っているexeGCC-CQ版ではROM化できない?

A2.
 CqREEK/V821は,CPUボードにROMエミュレーション機能などがありません.よって,ROM領域に対してユーザのプログラムをダウンロードしたり,ブレークポイントを設定してデバッグを行うことができず,すべてCPUボード上のSRAM領域に対してのみ行うことができます.
 このようにデバッグがSRAM領域に対してしか行えないので,同梱されているクロスCコンパイラであるexeGCC-CQ版では,ROM化のサポートを考えていません.
 しかし,せっかく製作したアプリケーションを動作させるのに,いちいちパソコンと接続してプログラムをダウンロードする必要があるのは面倒です.そこで疑似ROM化ツールを用意しました.疑似ROM化ツールはここからダウンロード可能です.
 なお疑似ROM化の概要についてはexeGCC-CQ版およびexeGCC評価版に関する質問のQ6をご参照ください.


Q3.
 (上の質問のつづき)ということは,CPUボードに実装されている256KバイトのSRAMの中に,スタック領域はもちろんデータバッファやプログラムコードも格納されるということ?

A3.
 そのとおりです.
 正式にROM化ができれば,プログラムコードはROMに格納したままで,SRAMをスタックとデータバッファだけに使うことができますが,exeGCC-CQ版では正式なROM化がサポートされていないので,ボード上のSRAMにプログラムコードも詰め込む必要があるのです.


Q4.
 正式なROM化をサポートしたコンパイラでプログラムを作りたい!

A4.
 この場合は京都マイクロコンピュータから発売されている,exeGCCの製品版をご購入していただくことをおすすめしています.exeGCC-CQ版およびexeGCC評価版に関する質問のQ2をご参照ください.


Q5.
 CqREEK/V821には,CPUの全信号ピンが取り出し可能なようにスルーホールがありますが,ここにコネクタを付けたいと考えています.コネクタの型名などを教えてください.

A5.
 2.54mmピッチ 2列のごく一般的なスルーホールがあいているだけです.V821版はCN1が1〜49,CN2が50〜100で全100ピンです.とくに使用するコネクタなどに指定はありません.
 ユニバーサル基板に自作回路を作成し,その基板の上にCPUボードを乗せる,という使い方が一般的かと思いますが,お手元にあるピンヘッダなりをご自由にお使いください.
 コネクタ実装例


Q6.
 ボードを見ると,CN6という用途不明のコネクタを実装する部分がありますが,これはいったい何ですか? 使い方を説明してください.

A6.
 このコネクタはCqREEK/V821では使用しません.というより,使用できません.
 CPUのアドレス線や信号線の一部がここに接続されているので,ボードを改造する記事などの場合には,はんだ付けのしやすさからここから信号線を取り出す場合もあるかと思いますが,ここにコネクタを接続して何かをするということは,CqREEKシリーズでは想定されていません.


Q7.
 CqREEK/V821では,アセンブラによるプログラム開発可能ですか?

A7.
 exeGCC-CQ版およびexeGCC評価版に関する質問のQ4をご参照ください.
 この件に関して,Interface 1997年6月号 p.199に“exeGCC-CQ版 アセンブラの活用法”という記事が掲載されています.この記事が非常に参考になると思われます.


Q8.
 プログラムの一部をアセンブラで記述して,パフォーマンスを上げたいと思います.しかしRISC CPUは初めてなので,アセンブラがわかりません.何か良い参考書はありませんか?

A8.
 Z80や8086,68000などのCPUなら参考書は山ほどありますか,RISC CPUのプログラミングの本はまだまだ少ないのが事実です.現在CqREEKで搭載されているCPUに関する単行本を予定していますが,まだ発売時期は未定です.
 またCqREEKシリーズには付属のCD-ROMに,RISC CPUのハードウェアマニュアルやプログラミングマニュアルが収録されていますが,それだけではなかなかわからないのも事実です.
 ではアセンブラの勉強ができなかというと,そうではありません.目の前に“GCC”という達人がいるではありませんか.
 exeGCC-CQ版に限らず一般的にCコンパイラは,Cプログラムをアセンブラに翻訳してからアセンブルしリンクします.Cコンパイラが出力するアセンブラのソースを参考にするという方法があります.
 CqREEK/V821のデバッガやCコンパイラをインストールすると,sample.c というサンプルプログラムもインストールされます.このCプログラムのアセンブラソースを出力させるには,

    gcc -c -S sample.c[リターン]

とします.これで sample.s というアセンブラのソースが出力されます.
 Interface'96年12月号の V821を使ったHDLCデータ転送実験の記事などは,I/Oアクセスや周辺コントローラへのアクセス,割り込みの制御などをやっているので,非常に参考になると思われます.


Q9.
 V821にはI/O空間がありますが,付属のコンパイラには,I/Oアクセス用の関数が見あたらないのですが…

A9.
 exeGCCのV821版にはI/Oアクセスを行う関数やマクロなどは用意されていません.ユーザ側で関数を用意する必要があります.
 すでにInterface 1996年11月号などで,V821におけるI/Oアクセス関数などのプログラムリストが掲載されています.これらをそのままお使いいただいてかまいません.
 もっとも単純なI/Oアクセスのソースは,以下のようになります.

	unsigned char inpb(int adr) {
		asm("in.b 0[$6],$10");
	}
	unsigned short inph(int adr) {
		asm("in.h 0[$6],$10");
	}
	void outpb(int adr, unsigned char data) {
		asm("out.b $7,0[$6]");
	}
	void outph(int adr, unsigned short data) {
		asm("out.h $7,0[$6]");
	}
 このプログラムは,Interface'96年12月号付属CD-ROM InterGiga No.5 (V821を使ったHDLCデータ転送実験)にも収録されています.


Q10.
 動作環境が Windows3.1およびWindows95 となっていますが,WindowsNT では使用できないのでしょうか?

A10.
 デバッガとコンパイラが正式にサポートしているバージョンは,Windows3.1とWindows95のみです.
 ただし実際にはWindowsNT3.51で動作したという情報が入っていますし,また編集部でもWindowsNT4.0で添付のサンプルプログラムをコンパイルして実行させてみたところ,一応動作したことを確認しています(パソコンはPC/AT).
 すべての機能が正しく動作するかどうかはわかりませんし,サポートの範囲外ですので,ユーザ各自の責任でお使いください.


Q11.
 COM1にモデムを接続したままCqREEKをインストールし,PARTNER-CQ版を起動するとハングアップします.PARTNER-CQ版はCOM1でもCOM2でも使用できるはずではなかったのですか?

A11.
 PARTNER-CQ版 & PARTNER-J/Win評価版に関する質問のQ2をご参照ください.


Q12.
 exeGCC-CQ版(V800)ではx86系コンパイラにあるようなinterrupt修飾子はないのでしょうか? 割り込みを使うにはどうすればよいのでしょうか?

A12.
 exeGCC-CQ版およびexeGCC評価版に関する質問のQ5をご参照ください.
 Q7にもあるようにexeGCC-CQ版でアセンブラおよび割り込み関連を使うには,Interface 1997年6月号の“exeGCC-CQ版 アセンブラの活用法”という記事を参考にされるのが一番かと思われます.


Q13.
 exeGCC-CQ版のライブラリ関数にはどのようなものがあるのでしょうか? また,printfなどの関数がある場合は,どこに対して表示されますか?

A13.
 exeGCC-CQ版およびexeGCC評価版に関する質問のQ3をご覧ください.なお,V800はI/O空間がありますが,inp/outp のような関数は用意されていません.Q9のように関数を作って呼び出すようにしてください.


Q14.
 CPUボードに実装されているROMにはホストと通信するためのモニタが格納されていると思いますが,デバッガを使わない場合はこのモニタROMを外してしまい,自分の開発したプログラム書き込んだ別のROMを入れても問題ないでしょうか?

A14.
 まったく問題ありません.若干注意が必要なのは,モニタROMが完全になくなりますから,デバッグ時と同じような環境にするにはシステム・レジスタ関連の設定を自前のプログラムで面倒を見る必要があります.取扱説明書のp.20の設定を行う初期化ルーチンを入れれば,デバッグ時と同様なシステム環境となります.
 なお,取り外したモニタROMは,ROMの内容を読み出したり,別のCPUボードに使用したりすることはおやめください.PARTNER-CQ版 & PARTNER-J/Win評価版に関する質問のQ1をご参照ください.


Q15.
 PARTNERではデバッグするプログラム???.oをダウンロードしますが,PARTNERで使用している間,このファイルを再コンパイルで更新したり削除したりできますか? 私の環境ではときどき排他制御に引っかかるのか,更新できていないときがあります.

A15.
 PARTNER-CQ版 & PARTNER-J/Win評価版に関する質問のQ4をご参照ください.


Q16.
 exeGCC-CQ版を,普通のDOS上で使いたいのですが……

A16.
 動作させるメモリ環境がDPMIやVCPIに対応していれば,基本的にはexeGCCは動作するはずです.しかしDOSのメモリドライバは,OS純正のものもあれば,拡張メモリに付属している各メーカ製のものなどさまざまなものがあり,どの規格に対応しているか,またその規格の中のどのファンクションをサポートしているかなどの問題で,現実的にはサポートするのが難しい状況です.
 exeGCCはWindows3.1のDOS窓でも十分動作するので,Windows95を走らせるには遅すぎるようなマシンの場合は,Windows3.1をインストールしてお使いいただければと思います.


Q17.
 CqREEK/V821のCPUボードの基板サイズやコネクタ位置の正確な値を教えてください.

A17.
 基板サイズなどの情報を追加しました.CqREEK/V821の詳細のページを参照してください.


Q18.
 Interface1997年4月号のCqREEK通信の予告で,SRAM増設記事が掲載されるとあったのですが,その後,その記事は掲載されたのでしょうか?

A18.
 申し訳ありません.諸般の事情でまだ未掲載のままです.


Q19.
 CqREEK/V821のCPUボードのSRAMを4MビットSRAMにしようと思います.回路は問題ないと思うのですが,デバッガやコンパイラの使用上で問題はありますか?

A19.
 SRAMをもっと容量の大きな物に変えることは,アドレスバスをCPUから引っ張ってくればすむので技術的には問題ありませんが,問題はコンパイラです.リンカが標準搭載されている256KバイトのSRAMを前提にスタックポインタが設定されるので,これを容量に応じて設定しなければなりません.


Q20. New!
 CPUボードを購入したのですが,ROMソケットは32ピンなのに,28ピンのROMが差し込まれています! 当然ピン数が合わないので,ROMソケットの3番ピンにROMの1番ピンを合わせて差し込まれています! 間違った部品で製造された不良品ではないでしょうか!!

A20.
 ご安心ください.マイコンの世界ではよく使う手で,不良品ではありません.こちらをご参照ください.


Q21. New!
 CPUボードの回路的な関係で,使用できないCPUリソースや機能などはありますか? すべてのCPU機能がユーザーに解放されていますか?

A21.
 まず,CPU内蔵のシリアル1がデバッガ用として使用されています.またブロック3にROMがブロック2にSRAMが接続されています.さらにI/OポートのP06がデバッガ通信時のCPUボード側のレディ出力として使われています.またNMIはデバッガの強制ブレークに使われています.
 それ以外のCPU機能はユーザーに解放されています.ただし100ピンQFPにこれだけの機能を実装しているということで,兼用ピンになっている機能がたくさんあります.すべての機能を一度に使用できるわけではないのでご注意ください.どの機能が兼用ピンになっているのかなどは,V821のハードウェアマニュアルを参照してください.


Q22. New!
 CPUボードをよく見ると,パターンだけが引いてあって未実装の部品があります.IC6の16V8とIC7のM62021Pは,それぞれどこのメーカーの何のICなのでしょうか? 実装するとまずいでしょうか?

A22.
 CqREEK/SH-1に関する質問のQ26を参照してください.SH-1同様,16V8は無視してかまいません.


Q23. New!
 Q21の件をキット購入前に調べたいと思います.V821のハードウェアマニュアルを見せていただけないでしょうか? または入手する方法を教えてください.

A23.
 V821に関するマニュアルは,インターネットのホームページからダウンロード可能です.こちらのダウンロードコーナからリンクをたどってみてください.


 これらの商品に関するご質問はこちらへ………


Copyright CQ Publishing Co.,Ltd. 1997-1999
edasupport@cqpub.co.jp