各位,最近在调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的驱动了哈,等待你的结果。
谢谢!
1:楼上你是编译到内核还是模块?
2:编译的uimage是不是放到sd卡的angstrom/boot文件夹下?
3:angstrom的文件系统和uimage的关系大不大?也就是说3.1的angstrom文件系统可不可以和3.2kernel编译的uimage一起使用?
我今天编译的uimage启动不了,从minicom打印看,走到半截不走了,已经解压kernel,解压到半截。
我感觉是在menuconfig没有配置好,明天按你的说法再配置一下试试。
谢谢斑竹。
一周热门 更多>