我目前正在为我的Beaglebone Black开发SPI内核模块(Debian Wheezy 2015-11-12,内核版本3.8.13-bone79)。我的内核模块可以从AM3358处理器(读/写)访问(request_mem_region()=> ioremap())寄存器来操作寄存器,以更改SPI0的设置。 另一方面是我的设备树,它可以操纵SPI0的引脚。
不幸的是,我遇到了问题:
如果我首先加载我的设备树,然后我的内核模块,我收到一条消息,表示我没有获得加载内核模块的权限。
如果我首先加载我的模块然后加载我的设备树,所有pinmux都是正确的,但SPI0的CLK被杀死了。此外,如果我删除我的模块并释放我分配的内存(注册表,iounmap()=> release_mem_region()),我会收到“尝试释放不存在的资源”消息。
你知道,我很难理解设备树和内核模块之间的交互......
如果有人能够“推动”我正确的方向,我将非常感激......;)
一切顺利
弗洛