[Suzaku:00340] Re: uLinux から追加ハードへのアクセスについて

Yasushi SHOJI email@hidden
2005年 6月 27日 (月) 14:51:03 JST


At Mon, 27 Jun 2005 14:32:57 +0900 (JST),
<email@hidden> wrote:
> 
> 近大の植田と申します。
> 
> IPで追加したデバイスとLinuxとのデータのやり取りについてですが、
> 「[Suzaku:00020] Re:uLinuxから追加ハードへのアクセス」において
> EDK側のBase Addressで指定したメモリアドレスに直接アクセスして
> データのやり取りを行う方法が書いてありましたので、
> 追加したGPIOへ下のように行ったのですが、
> メモリへの書き込みができません。
> 
> unsigned long addr = 0xffff0000;
> unsigned int data;
> ...
> *(volatile unsigned char *)(addr) = data;

int型の dataを char型のアドレスに書いていますが、dataの LSB側 1byteだ
けしか書かれないと思います。それで大丈夫ですか?

disassembleしてみると

00000000 <foo>:
   0:	b000ffff 	imm	-1
   4:	30600000 	addik	r3, r0, 0
   8:	d0801800 	sb	r4, r0, r3
                        ^^ と、なるはずです。

--
        yashi





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