你好:
我目前用AM335x EVM开发板,目前我用内核sdk 6.0版本,添加了SPI设备,board-am335xevm.ct如下修改:
增加:
static struct spi_board_info am335x_spi1_info[] = {
{
.modalias = "spidev",
.max_speed_hz = 2000000, //2 Mbps
.bus_num = 1,
.chip_select = 0,
.mode = SPI_MODE_0,
},
};
改了下:
static void spi1_init(int evm_id, int profile)
{
setup_pin_mux(spi1_pin_mux);
spi_register_board_info(am335x_spi1_info,
ARRAY_SIZE(am335x_spi1_info));
printk(" enter spi1_init\n");
return;
},
在结构体了添加{spi1_init, DEV_ON_BASEBOARD, PROFILE_ALL},
然后在内核配置的时候,在选项User mode SPI device driver support前用“*”,编译完在开机中“ enter spi1_init“是打印出来的,但是测试在/dev下没有spidev了,请问怎么回事?后来我发现一个现象:make linux 编译完之后我再回去make menuconfig是发现User mode SPI device driver support以前保存的配置居然没有了,不知怎么回事?求助大家,谢谢!
Jian Zhou:
建议你参考下这个帖子:http://www.deyisupport.com/question_answer/dsp_arm/sitara_arm/f/25/p/70989/170742.aspx#170742
我在我的板子上试过,spidev设备节点是没有问题的
lei tong1:
回复 Jian Zhou:
这个方法我已经试过了,还是不行,内核为linux-3.2.0-psp04.06.00.11,具体现象为:make menuconfig配置保存,然后make linux编译完成,这时发现刚才make menuconfig保存配置都恢复到以前的状态,根本没有保存,不知为什么?之后我修改了Kconfig如下:
menu "SPI DRIVER"comment "SPI Protocol Masters"config SPI_SPIDEV bool "User mode SPI device driver support" default y help This supports user mode SPI protocol drivers. Note that this application programming interface is and hence SUBJECT TO CHANGE WITHOUT NOTICE while it stabilizes.
endmenu
这个方法还是不行,直接用make menuconfig发现根本没有默认配置,比较着急请大牛帮忙?
Jian Zhou:
回复 lei tong1:
make menuconfig之后应该是make uImage 啊,不是make linux
lei tong1:
回复 Jian Zhou:
make uImage 提示没有这个命令!ti-sdk-am335x-evm-06.00.00.00是从TI网站下解压包的,目录如下:
bin linux-devkitboard-support Makefile docs rootfs.tar.gzexample-applications Rules.makefilesystem setup.shGraphics_SDK_setuplinux_4_09_00_01_hardfp_minimal_demos.bin targetNFShost-tools
在这个目录下用make linux的。make menuconfig下面的ARM的目录下用的:
ti-sdk-am335x-evm-06.00.00.00/board-support/linux-3.2.0-psp04.06.00.11,但是用在这个目录make uImage就提示
“make: *** No rule to make target `uImage'. Stop.” 目前好像每次配置用make linux都被覆盖掉,不知什么原因,谢谢!
Jian Zhou:
回复 lei tong1:
有参考这个文档进行编译么?