UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

取消
显示结果 
搜索替代 
您的意思是: 
Contributor
Contributor
2,032 次查看
注册日期: ‎05-09-2018

Petalinux 添加自定义驱动模块失败

转到解答

我在使用PetaLinux 2017.4 进行开发时,想向工程中添加一个自定义的模块。参考UG1144文档,使用如下命令:

第一步: petalinux-create -t modules --name gpioiic --enable

第二步:petalinux-config kernel(采取默认配置)

第三步:petalinux-config -c rootfs(默认加载驱动模块)

第四步:petalinux-build -c kernel 或者 petalinux-build -c rootfs,出现以下错误。

1.png2.png

我想问一下我的问题出在哪?如何正确的添加一个自定义的模块。

另:我采用的是驱动编写是2.4的内核版本编写方式,是否是这个原因?

 

Makefile文件(默认生成)

obj-m := gpioiic.o

SRC := $(shell pwd)

all:
    $(MAKE) -C $(KERNEL_SRC) M=$(SRC)

modules_install:
    $(MAKE) -C $(KERNEL_SRC) M=$(SRC) modules_install
     
clean:
    rm -f *.o *~ core .depend .*.cmd *.ko *.mod.c
    rm -f Module.markers Module.symvers modules.order
    rm -rf .tmp_versions Modules.symvers

 

 

 

.bb文件(默认生成)

SUMMARY = "Recipe for  build an external gpioiic Linux kernel module"
SECTION = "PETALINUX/modules"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=12f884d2ae1ff87c09e5b7ccc2c4ca7e"

inherit module

SRC_URI = "file://Makefile \
           file://gpioiic.c \
       file://COPYING \
          "

S = "${WORKDIR}"

                '
# The inherit of module.bbclass will automatically name module packages with
# "kernel-module-" prefix as required by the oe-core build environment.

 

具体的驱动代码在附件

0 项奖励
1 个已接受解答

已接受的解答
Moderator
Moderator
1,997 次查看
注册日期: ‎05-23-2018

回复: Petalinux 添加自定义驱动模块失败

转到解答

Hi, @yangkejian

 

建议您根据petalinux-create -t modules --name gpioiic --enable命令生成的driver模板来对您的driver做出修改。使用Xilinx在相应版本下提供的driver模板可以保证编译的顺利通过。

-------------------------------------------------------------------------------------------------
Don’t forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------------------------------
如果提供的信息能解决您的问题,请标记为“接受为解决方案”。
如果您认为帖子有帮助,请点击“奖励”。谢谢!
-------------------------------------------------------------------------------------------------

在原帖中查看解决方案

0 项奖励
5 条回复5
Moderator
Moderator
2,014 次查看
注册日期: ‎05-23-2018

回复: Petalinux 添加自定义驱动模块失败

转到解答

Hi, @yangkejian

 

可以把文件“log.do.compile.119046"中的报错信息贴出来看看吗?

-------------------------------------------------------------------------------------------------
Don’t forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------------------------------
如果提供的信息能解决您的问题,请标记为“接受为解决方案”。
如果您认为帖子有帮助,请点击“奖励”。谢谢!
-------------------------------------------------------------------------------------------------
0 项奖励
Contributor
Contributor
2,002 次查看
注册日期: ‎05-09-2018

回复: Petalinux 添加自定义驱动模块失败

转到解答

见附件

0 项奖励
Moderator
Moderator
1,987 次查看
注册日期: ‎05-23-2018

回复: Petalinux 添加自定义驱动模块失败

转到解答

Hi, @yangkejian

 

从你提供的文件的报错信息来看,主要是gpioiic.c中出现了一些错误。你可以先参照文件中的报错信息对你的driver进行相应的修改。

-------------------------------------------------------------------------------------------------
Don’t forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------------------------------
如果提供的信息能解决您的问题,请标记为“接受为解决方案”。
如果您认为帖子有帮助,请点击“奖励”。谢谢!
-------------------------------------------------------------------------------------------------
0 项奖励
Contributor
Contributor
1,976 次查看
注册日期: ‎05-09-2018

回复: Petalinux 添加自定义驱动模块失败

转到解答
好的 谢谢 就是现在驱动的编写是需要用最新的platform device tree的写法吗 用以前的linux2.6的写法是不是就会报错?
0 项奖励
Moderator
Moderator
1,998 次查看
注册日期: ‎05-23-2018

回复: Petalinux 添加自定义驱动模块失败

转到解答

Hi, @yangkejian

 

建议您根据petalinux-create -t modules --name gpioiic --enable命令生成的driver模板来对您的driver做出修改。使用Xilinx在相应版本下提供的driver模板可以保证编译的顺利通过。

-------------------------------------------------------------------------------------------------
Don’t forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------------------------------
如果提供的信息能解决您的问题,请标记为“接受为解决方案”。
如果您认为帖子有帮助,请点击“奖励”。谢谢!
-------------------------------------------------------------------------------------------------

在原帖中查看解决方案

0 项奖励