[Suzaku:00589] Re: キャラクタデバイスのドライバーの作成

Yasushi SHOJI email@hidden
2006年 7月 13日 (木) 16:35:01 JST


At Thu, 13 Jul 2006 16:02:04 +0900,
Abe wrote:
[...]
> ssize_t s_write(struct file *filp, const char *buf, ssize_t count, loff_t 
> *f_pos)
> {
>   ssize_t retval;
> 
>   if(copy_from_user(f_pos, buf, count)){
>     retval = -EFAULT;
>   }else{
>     retval = count;
>   }
>   return retval;
> }
> 
> 返り値がcountと同じであることを確認しました。
> しかし、ハードウェア上では、アクセスできていないことを
> オシロスコープで確認しました。

hardwareに accessしていないと思うのですが、どうでしょう?f_posはファイ
ル内のオフセットが入っているだけですので、copy_from_userするとどこか壊
してしまいますよ。

    *(volatile unsigned long *)ADDRESS = VALUE;

と書くと ADDRESSで指定した値で address busがドライブされ、data busでは
VALUEの値がドライブされると思います。
--
      yashi




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