[i.MX] imx里面的内核驱动为什么编译不了模块的

[复制链接]
2492|15
 楼主| zltrock 发表于 2015-1-4 14:11 | 显示全部楼层 |阅读模式
我用IMX6Q的包
IMX6Q SABRELITE的
L3.0.35_4.1.0_130816

imx里面的内核驱动我选择成<M>编译不了模块的
如<M>   SoC Audio upport for IMX boards with WM8962  编译的时候没有生成.ko文件,
如果选成Y的话<*>   SoC Audio support for IMX boards with WM8962 可以生成imx-wm8962.o
而且其它的生成模块的也都没有生成.ko
是不是哪里出问题了?
FSL_TICS_Rita 发表于 2015-1-4 16:59 | 显示全部楼层
你这里是没有问题的,在内核选项中你选择<M> 的话,是编译成模块,生成的是.m的文件。
 楼主| zltrock 发表于 2015-1-4 17:10 | 显示全部楼层
.m的文件也没有
只有选成Y,即<*>   SoC Audio support for IMX boards with WM8962 才会有生成。
FSL_TICS_Rita 发表于 2015-1-4 17:21 | 显示全部楼层
zltrock 发表于 2015-1-4 17:10
.m的文件也没有
只有选成Y,即   SoC Audio support for IMX boards with WM8962 才会有生成。 ...

这里建议你选成Y,即<*>,选择M的话你还需要自己打命令才可以。
FSL_TICS_Rita 发表于 2015-1-4 17:21 | 显示全部楼层
其实它们是一样的。
 楼主| zltrock 发表于 2015-1-5 08:57 | 显示全部楼层
我只想把它编成模块的。而且这内核只要选成M的,都没有编译出来,为什么呢?你那边能不能试一下?
qrgccmmtt 发表于 2015-1-5 10:10 | 显示全部楼层
zltrock 发表于 2015-1-5 08:57
我只想把它编成模块的。而且这内核只要选成M的,都没有编译出来,为什么呢?你那边能不能试一下? ...

这个问题我也碰到了,你make clean 后再make应该会生成ko的。具体是什么原因我也没搞清楚
FSL_TICS_Rita 发表于 2015-1-5 11:50 | 显示全部楼层
zltrock 发表于 2015-1-5 08:57
我只想把它编成模块的。而且这内核只要选成M的,都没有编译出来,为什么呢?你那边能不能试一下? ...

好的,我这边帮你试一下哈~~
FSL_TICS_Rita 发表于 2015-1-5 17:40 | 显示全部楼层
zltrock 发表于 2015-1-5 08:57
我只想把它编成模块的。而且这内核只要选成M的,都没有编译出来,为什么呢?你那边能不能试一下? ...

楼主你好,我这边试了一下是可以的,在内核选择中选择M,编译好以后,在ltib/rpm/BUILD/linux-3.0.35/sound/soc/imx下会有编译好的,
snd-soc-imx-wm8962.mod.o
snd-soc-imx-wm8962.mod.c

FSL_TICS_Rita 发表于 2015-1-6 11:02 | 显示全部楼层
楼主你好,请问你现在可以编译成功了吗?
 楼主| zltrock 发表于 2015-1-8 15:51 | 显示全部楼层
谢谢,
编译时,后面直接加入modules就可以了。会生成.ko的文件
另外,我用的是sabrelite的开发板,它里面有个SPI flash sst25vf016b.它是用来存放uboot,和它的环境变量。
我想在文件系统里面对它的环境变量进行修改,内核带的sst25l的驱动是基本于mtd的。有没有它的单独读写操作的驱动呢?
FSL_TICS_Rita 发表于 2015-1-9 16:31 | 显示全部楼层
楼主你好,你这里提到在文件系统里面对它的环境变量进行修改,是指修改那些参数呢?
 楼主| zltrock 发表于 2015-1-12 11:03 | 显示全部楼层
就是我想通过写一个程序,修改uboot的环境变量,我的uboot和uboot的环境变量都是放在spiflash sst25fv016b里面的。
我主要是想通过在系统里面修改uboot 的参数,如bootargs_mmc=setenv bootargs ${bootargs}  root=/dev/mmcblk0p2 rootwait rw rootfstype=ext4,我想下次启动时改在bootargs_mmc=setenv bootargs ${bootargs}  root=/dev/mmcblk0p3 rootwait rw rootfstype=ext4  ,即原来从mmcblk0p2 改成 从mmcblk0p3,所以需要改动uboot 的环境变量。
原来的SST25VF016B是接在IMX6的SPI1接口,现在内核的MTD下有个对SST25L的驱动,我想通过它来控制这个SPIFLASH.内核选项是打开的,但我的/dev/下没有mtd的设备驱动。

或是我直接通过把SPI1当成一般的GPIO,用GPIO模拟成SPI来写一个SPIFLASH的驱动。但这GPIO的输入输出读写哪里有,GPIO输入里面都是中断式的,有没有直接读写IO电平的驱动接口?
 楼主| zltrock 发表于 2015-1-12 12:49 | 显示全部楼层
找到了,SST25VF016B的驱动在MP25里面,打开就行了。
 楼主| zltrock 发表于 2015-1-12 12:53 | 显示全部楼层
为什么每次结帖给分都会提示“分数未分配完,或分数分配存在错误!”
mini1986 发表于 2015-4-16 14:48 | 显示全部楼层
收藏一下......
您需要登录后才可以回帖 登录 | 注册

本版积分规则

9

主题

38

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部