各位,最近在调beaglebone的spi驱动,但是遇到些问题。 我是按照
http://communistcode.co.uk/blog/blogPost.php?blogPostID=1这篇文章做的。 在编译uimage前,menuconfig的地方把driver下的SPI里面全都选择了y, 重新编译了uimage,下载到sd卡(覆盖了原来的), 然后把sd卡插到beaglebone上,上电启动,打开minicom(ubuntu下),可以看到正常启动。 问题是: root登陆后,cd到dev文件夹下,ls -l,没有发现有spidev1.1文件。 请问一下各位,问题出在什么地方? 谢谢! 我的邮箱
gooodo@163.com,欢迎交流。
此帖出自
小平头技术问答
今天我把spi驱动编译成了模块,生成spidev.ko文件,拷到sd卡的Angstrom/lib/medule/drivers/spi(这个路径记不清了),然后插到beaglebone上,上电,minicom上cd到spidev.ko所在的文件夹下,然后insmod spidev.ko,
结果报错。
编译内核前修改了arch/arm/march_am335x.c文件,如下:
Step 1) Add the following struct to the kernel source file arch/arm/mach-omap2/board-am335xevm.c
static struct spi_board_info bone_spi0_info[] = {
{
.modalias = "spidev",
.max_speed_hz = 48000000, //48 Mbps
.bus_num = 1,
.chip_select = 0,
.mode = SPI_MODE_1,
},
};
Step 2) Change the spi0_init function in the kernel source file arch/arm/mach-omap2/board-am335xevm.c so it reads the same as the following:
static void spi0_init(int evm_id, int profile)
{
setup_pin_mux(spi0_pin_mux);
spi_register_board_info(bone_spi0_info,
ARRAY_SIZE(bone_spi0_info));
return;
}
请问一下还需要修改哪些地方?
我下载uimage和spidev.ko文件的时候,用sd卡读卡器,在ubuntu下直接拷贝过去的,不是用的cp命令(就像windows下拷贝),请问这样做是不是可以?还要不要sync一下?
我明天试一下把spi驱动编译到内核。
结果再到这里来反馈。
多说一句:现在的beaglebone的资料太少了,我把我遇到的问题贴到这,希望对大家又点帮助。
对了,按二楼的计划,你7月2号就开始调spi的驱动了哈,等待你的结果。
谢谢!
一周热门 更多>