[Suzaku:00759] Re: #include <asm/io.h>とした場合のコンパイルエラーについて

email@hidden
2007年 1月 26日 (金) 17:03:48 JST


大川様

伊藤です。
お世話になります。

>memrc.c をコンパイルしている所(コマンドライン)を、
>見せてもらえますでしょうか?
>#ちょうど、上記エラーの上の行
以下がmakeをかけたときのメッセージの全てです。
email@hidden:~/uClinux-dist-20051110-suzaku6/memrw$make
powerpc-linux-gcc  -c -O2  -Dlinux -D__Linux__ -Dunix -DEMBED -nostdinc -I/home/
somebody/uClinux-dist-20051110-suzaku6/lib/uClibc/include -I/home/somebody/uClin
ux-dist-20051110-suzaku6/lib/libcrypt_old -I/home/somebody/uClinux-dist-20051110
-suzaku6 -idirafter /usr/lib/gcc-lib/powerpc-linux/3.3.5//include -I/home/somebo
dy/uClinux-dist-20051110-suzaku6//include -o memrw.o memrw.c
In file included from /home/somebody/uClinux-20051110-suzaku6/lib/uClibc/in
clude/asm/io.h:27,
                          from memrw.c:14:
/home/somebody/uClinux-dist-20051110-suzaku6/lib/uClibc/include/asm/ibm4xx.h:82:
30: platforms/suzaku.h: No such file or directory
make: ***[memrw.o]Error 1
email@hidden:~/uClinux-dist-20051110-suzaku6/memrw$

以上、お手数ですがよろしくお願いいたします。
 

-----Original Message-----
From: email@hidden [mailto:email@hidden] On Behalf Of Tetsuya OHKAWA
Sent: Friday, January 26, 2007 4:27 PM
To: SUZAKU general discussion list
Subject: [Suzaku:00758] Re: #include <asm/io.h>とした場合のコンパイルエラーについて

大川です。

email@hidden wrote:
> お世話になっております。
> 伊藤と申します。
>
> 早速ですが...
> 自作のデバイスドライバにてinb()、outb()のAPIを使うため、#include <asm/io.h>とすると
> 【「platform/suzaku.h」が見つかりません】旨のコンパイルエラーとなってしまいます。
> お手数ですが対処方法を教えてください。
>
> 尚、各種情報は以下の通りです。
> ●***  ↓のフォルダにsuzaku.hはあります ***
> /home/somebody/uClinux-dist-20051110/linux-2.4.x/arch/ppc/platform/
>
> ●*** makeの実行 ***
> 「/home/somebody/uClinux-dist-20051110/」に「memrw」フォルダを作成し、
> その中にソースファイル(memrw.c)&makefileを置いています。
> /home/somebody/uClinux-dist-20051110/memrwにてmake実行
>
> ●*** makefile ***
> ifndef ROOTDIR
> #ROOTDIR=../uClinux-dist-20051110-suzaku6
> ROOTDIR=/home/somebody/uClinux-dist-20051110-suzaku6
> endif
> ROMFSDIR = $(ROOTDIR)/romfs
> ROMFSINST = romfs-inst.sh
> PATH := $(PATH):$(ROOTDIR)/tools
>
> UCLINUX_BUILD_USER = 1
> include $(ROOTDIR)/.config
> LIBCDIR = $(CONFIG_LIBCDIR)
> include $(ROOTDIR)/config.arch
>
> OBJS = memrw.o
> all: $(OBJS)
> clean:
> 	-rm -f $(OBJS)
> %.o: %.c
> 	$(CC) -c $(CFLAGS) -o $@ $<
>
> ●**** コンパイルエラーは以下の内容です ****
> In file included from 
> /home/somebody/uClinux-dist-20051110-suzaku6/lib/uClibc/
> include/asm/io.h:27, from memrw.c 14:
> /home/somebody/uClinux-dist-20051110-suzaku6/lib/uClibc/include/asm/ibm4xx.h:82:
> 30: platforms/suzaku.h: No such file or directory
> make: ***[memrw.o]Error 1
こちらでも同じような状態でテストしましたが、
上記エラーは出てきませんでした。

memrc.c をコンパイルしている所(コマンドライン)を、
見せてもらえますでしょうか?
#ちょうど、上記エラーの上の行

> ●**** ソースファイルは以下の内容です(必要箇所抜粋)****
> #define __KERNEL__
> #define	MODULE
>
> #include <linux/config.h>
> #include <linux/kernel.h>
> #include	 <linux/module.h>
> #include	 <linux/init.h>
> #include	 <linux/fs.h>		// file_operations
> #include	 <linux/sched.h>
> #include <linux/types.h>
> #include <linux/errno.h>
> #include <linux/ioport.h>
> #include	 <linux/string.h>	// copy_to_user/copy_from_user
> #include <asm/io.h>
> #include	 <asm/uaccess.h>
> /*********************************************************************
> ******************/ static int memrw_read( struct file *file, char 
> *user_buf, size_t u_count,  loff_t *lo) {
> 	int cnt=0,err=0;
> 	unsigned short *ptr;
>
> 	memset( &kern_buf, 0, sizeof( kern_buf ));	/* Kernel領域バッファ初期化	*/
> 	ptr = (unsigned short *)MEMRW_BASE_ADR;
>
> 	for( cnt=0; cnt<u_count; cnt++ )
> 		kern_buf[cnt] = inb( ptr++ );	/* DataRead */
>
> 	if( 0 != copy_to_user( user_buf, &kern_buf, cnt ) )
> 		return -1;
>
> 	return( cnt );
> }
> /*********************************************************************
> ******************/ static int memrw_write( struct file *file, const 
> char *user_buf, size_t u_count,  loff_t *lo) {
> 	int cnt, err;
> 	unsigned short *ptr;
>
> 	err = copy_from_user( &kern_buf, user_buf, MEMRW_CNT_MAX );
> 	ptr = (unsigned short *)MEMRW_BASE_ADR;
>
> 	for( cnt=0; cnt<u_count; cnt++ )
> 		outb( kern_buf[cnt], ptr++ );	/* DataWrite */
>
> 	return( cnt );
> }
>
> 以上、お手数ですがご教示の程よろしくお願いします。
>
> _______________________________________________
> suzaku mailing list
> email@hidden
> http://lists.atmark-techno.com/mailman/listinfo/suzaku
>   

_______________________________________________
suzaku mailing list
email@hidden
http://lists.atmark-techno.com/mailman/listinfo/suzaku




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