[Suzaku:00590] Re: キャラクタデバイスのドライバーの作成
Abe
email@hidden
2006年 7月 13日 (木) 17:11:19 JST
yashi 様 ありがとうございます。
すみません。内容が理解できないでいます。
f_posは「・・ユーザーがアクセスしているファイルの位置を示す・・」と
ありましたので、seekで設定した値が反映されると思っていました。
ではseekは意味が無いと言う事なんでしょうか。
それと、
> *(volatile unsigned long *)ADDRESS = VALUE;
>
> と書くと ADDRESSで指定した値で address busがドライブされ、data busでは
> VALUEの値がドライブされると思います。
ですが、
どのように関数の中に書けばよいのか分かりません。
申し訳ありませんが、再度お願いします。
----- Original Message -----
From: "Yasushi SHOJI" <email@hidden>
To: "SUZAKU general discussion list" <email@hidden>
Sent: Thursday, July 13, 2006 4:35 PM
Subject: [Suzaku:00589] Re: キャラクタデバイスのドライバーの作成
> 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 mailing list
> email@hidden
> http://lists.atmark-techno.com/mailman/listinfo/suzaku
>
suzaku メーリングリストの案内