[Suzaku:00115] Re: パルス信号の解析方法

吉田勤彦 email@hidden
2004年 10月 10日 (日) 15:20:05 JST


吉田ともうします。

ご返答ありがとうございます

ioctlを使用するのはxmbserial.c内でしょうか。

>At Sun, 10 Oct 2004 01:55:19 +0900,
>吉田勤彦 wrote:
>[...]
>>  現在、パルス信号を入力し、そのテューティ比をFPGAで解析し、その値を
>>  uClinux上に読み込みたいと考えております。
>>
>>  この場合、入力信号は1bitですので、UARTでないのでopb_gpioを使用するので
>>  はないかと想像しているのですが実際はどうなのでしょうか。
>
>opb_gpioで良いと思います。opbにつなぐ部分を自作するなら別ですが、gpio
>と入力ピンの間に duty比を解析するロジックを入れると簡単だと思います。
>
>>  さらに uClinuxのdevice fileとしてアクセスする場合はどのようにすれば
>>  よいのでし ょうか。さすがにシリアル通信ではないので先日ありましたよ
>>  うな xmbserial.cの編集とは違いますよね。
>
>ioctlを使って、こんな感じでできます。
>
>#include <stdlib.h>
>#include <stdio.h>
>#include <sys/types.h>
>#include <sys/stat.h>
>#include <fcntl.h>
>#include <linux/ibm_ocp_gpio.h>
>
>int main()
>{
>         int fd;
>         int val;
>
>         fd = open("/dev/gpio", O_RDWR);
>         ioctl(fd, IBMGPIO_IN, &val);
>         printf("%#x\n", val);
>         val = 0xaa;
>         ioctl(fd, IBMGPIO_OUT, &val);
>         ioctl(fd, IBMGPIO_IN, &val);
>         printf("%#x\n", val);
>         return 0;
>}
>
>device driverや、vendor Makefileの patchは dist-suzaku3用です。
>XPAR_SYSTEM_GPIO_BASEADDRは環境に合せて変えてください。
>--
>           yashi
>
>  linux-2.4.x/include/asm-microblaze/xparameters.h |    4 ++--
>  vendors/AtmarkTechno/SUZAKU/Makefile             |    2 +-
>  2 files changed, 3 insertions(+), 3 deletions(-)
>
>Index: 
>uClinux-dist-20040408-suzaku3/linux-2.4.x/include/asm-microblaze/xparameters.h
>===================================================================
>--- 
>uClinux-dist-20040408-suzaku3.orig/linux-2.4.x/include/asm-microblaze/xparameters.h	2004-01-20 09:17:24.000000000 +0900
>+++ 
>uClinux-dist-20040408-suzaku3/linux-2.4.x/include/asm-microblaze/xparameters.h	2004-10-10 03:12:56.759596848 +0900
>@@ -54,8 +54,8 @@
>  /******************************************************************/
>
>  #define XPAR_XGPIO_NUM_INSTANCES 1
>-#define XPAR_SYSTEM_GPIO_BASEADDR 0xFFFF5000
>-#define XPAR_SYSTEM_GPIO_HIGHADDR 0xFFFF50FF
>+#define XPAR_SYSTEM_GPIO_BASEADDR 0xFFFFb000
>+#define XPAR_SYSTEM_GPIO_HIGHADDR 0xFFFFb0FF
>  #define XPAR_SYSTEM_GPIO_DEVICE_ID 0
>
>  #define XPAR_GPIO_0_BASEADDR XPAR_SYSTEM_GPIO_BASEADDR
>Index: uClinux-dist-20040408-suzaku3/vendors/AtmarkTechno/SUZAKU/Makefile
>===================================================================
>--- 
>uClinux-dist-20040408-suzaku3.orig/vendors/AtmarkTechno/SUZAKU/Makefile	2004-10-04 08:34:01.000000000 +0900
>+++ 
>uClinux-dist-20040408-suzaku3/vendors/AtmarkTechno/SUZAKU/Makefile 
>	2004-10-10 03:26:46.063259011 +0900
>@@ -32,7 +32,7 @@ endif
>  DEVICES =								      \
>  	tty,c,5,0      console,c,5,1   mem,c,1,1     kmem,c,1,2    null,c,1,3 \
>  									      \
>-	ttyS0,c,4,64							      \
>+	ttyS0,c,4,64   gpio,c,10,185					      \
>  									      \
>  	zero,c,1,5     random,c,1,8    urandom,c,1,9			      \
>  									      \
>_______________________________________________
>suzaku mailing list
>email@hidden
>http://lists.atmark-techno.com/mailman/listinfo/suzaku




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