[Suzaku:01373] Re: Linux からの GPIO へのアクセスについて

mizo email@hidden
2009年 1月 30日 (金) 13:47:45 JST


溝渕です。

Yusuke Nakamori wrote:
> 下記の top.vhd の input が周期的に変化するので
> 自分で追加した GPIO に Linux から周期的にアクセスし,
> GPIO の値をファイルとして保存したいと思っています.
> Linux から GPIO にアクセスするためにデバイスドライバを
> 用いると思うのですが,(検討違いなら申し訳ございません.)
> そのデバイスドライバをどのように書いたら良いのか教えていただけませんか.
使用している環境を書いていただけると答えやすいです。
以前から環境は変わっていませんか?

以下の記述は次の環境を想定しています。
ボード: SZ410-SIL
開発環境: atde2
atmark-dist: atmark-dist-20080717
カーネル: linux-2.6.18-at9

SUZAKU-SでuClinux-distを使用している場合は、ユーザランドから任意のアドレ
スにアクセスできるため、ドライバを書かなくてもGPIOにアクセスすることがで
きます。

SUZAKU-Vでatmark-distを使用している場合は、MMUが有効になっているため、ド
ライバを介してGPIOにアクセスすることになります。

linux-2.6.18-at9/drivers/char/sil-led.c
の、
led_init_module()
関数内で呼んでいる
ioremap_nocache()
関数がこの処理を行なっています。

ioremap_nocache()の引数に、追加したGPIOのスタートアドレスとサイズを渡し
てください。

GPIOドライバの登録は、上記ファイルの、
led_init_module()
関数内で呼んでいる
register_chrdev()
関数が行なっています。
他と重複しないメジャー番号を与えてください。

また、ドライバの追加方法については、「atmark-dist 開発者ガイド」の「11.
新規デバイスドライバの追加方法」を参考にしてください。
http://suzaku.atmark-techno.com/files/downloads/suzaku/doc/atmark-dist_developers_guide_ja-1.0.5.pdf


> 
> 
> 素人質問で大変申し訳ありません.
> 
> 
> 現在,O'Reilley の Linux デバイスドライバ 第 3 版と
> linux-2.6.x/drivers/char/ にある sil-led.c などを参考に
> 勉強をしているのですが,Linux の環境開発が初めてのため,
> 大変困っております.
> 
> どなたか御教授お願いします.
> 
> 
> 
> 追加した GPIO 
> 
> BEGIN xps_gpio
>  PARAMETER INSTANCE = xps_gpio_0
>  PARAMETER HW_VER = 1.00.a
>  PARAMETER C_BASEADDR = 0xF0FFA400
>  PARAMETER C_HIGHADDR = 0xF0FFA5FF
>  PARAMETER C_GPIO_WIDTH = 1
>  PARAMETER C_IS_BIDIR = 0
>  BUS_INTERFACE SPLB = plb_peripheral
>  PORT GPIO_in = GPIO
> END
> 
> 
>  top.vhd
> ---------------------------------------------------
> entity top is
>   port (
>>>     input : in std_logic
>   );
> end top;
> 
> architecture IMP of top is
>   component xps_proj is
>     port (
>>>       GPIO : in std_logic_vector(0 to 0) -- 追加したGPIO
>     );
>   end component;
> 
> begin
>   xps_proj_i : xps_proj
>     port map (
>>>       GPIO  => GPIO -- 追加したGPIO
>     );
> 
>     GPIO(0) <= input;
> ----------------------------------------------------
> _______________________________________________
> suzaku mailing list
> email@hidden
> http://lists.atmark-techno.com/cgi-bin/mailman/listinfo/suzaku
> 


-- 
**************************************************
 株式会社アットマークテクノ  開発部 溝渕大輔
 〒060-0035 札幌市中央区北5条東2丁目AFTビル6F
 TEL:011-207-6550 / FAX:011-207-6570
 http://www.atmark-techno.com/
 e-mail:email@hidden
**************************************************



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