[Armadillo:00438] Re[2]: Armadillo-J での RTS, DTR 制御

Kenji Hirano email@hidden
2005年 8月 5日 (金) 13:23:08 JST


お世話になっております,平野と申します.

On Thu, 4 Aug 2005 17:41:19 +0900
"nakai" <email@hidden> wrote:

> 中井です。
[snip]
> Armadillo-Jのシリアルドライバでは、TIOCMGETには対応していないようです。
> ドライバのソースは linux2.4.x/drivers/char/serial_netarm.c の1469行目。
> 
> 制御線を個別に制御・読取りしたい場合は、直接PORTAレジスタを
> たたいてみてはどうでしょう?uClinuxなのでアプリケーションからも
> 読込むことは可能です。
> PORTAレジスタに関する情報は、「HardwareManual 6.1」を参照してください。

確認したところコメントアウトされていました.
PORTA を利用することで目的を達成することにしました.

PORTA にアクセスしやすいように共用体を利用してテストしました.しかし,
arm-elf-gcc Version 2.95.3 はビットフィールドをサポートしていないようで
した.なので下記のような共用体で個々のバイトにアクセスすることにしました.
typedef union {
	unsigned int DWORD;
	struct {
		u_char DATA;
		u_char wk;
		u_char DIR;
		u_char MODE;
	} BYTE;
} st_pa;
ただし,レジスタにバイトアクセスすると "EMT trap" が発生してしまったので
一括でアクセスし,共用体の変数にデータをコピーしバイト単位で処理すること
で上記の問題を解決しました.

以上,ご返答ありがとうございました.




armadillo メーリングリストの案内