tq335x开发板的spidev驱动的生成

本文详细介绍了如何修改TQ335X板的驱动配置,将SPI通信从使用特定传感器模块更改为标准的SPIDEV驱动,并通过重新编译内核、烧录uImage启动内核、验证SPIDEV设备等功能,最终实现SPI通信的实践过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

硬件:tq335x board v2

kernel:CD盘的kernel3.2包

环境:vmware10,ubuntu14.04


修改的部分:

arch/arm/mach-omap2/board-am335xevm.c文件中

static struct spi_board_info am335x_spi1_slave_info[] = {
  {
    .modalias      = "smb380",
    .platform_data = &Acceleration_sensor,
    .irq           = -1,
    .mode    =SPI_MODE_0,
    .max_speed_hz  = 120000,
    .bus_num       = 2,
    .chip_select   = 0,
  },

};

改为

static struct spi_board_info am335x_spi1_info[] = {
  {
    .modalias = "spidev",
    .max_speed_hz = 48000000, //根据实际需要进行修改
    .bus_num = 2,                           //必须为2,不然这个驱动没法使用,这个还需要研究原因
    .chip_select = 0,
    .mode = SPI_MODE_1 ,         //根据实际需要进行修改
  },
};

重新编译,烧录uImage后启动内核

在dev下发现spidev2.0模块

使用chmod 777 spidev2.0修改权限

使用arm-linux-gcc -o spidev_test Documentation/spi/spidev_test.c -static命令

编译出spidev_test文件(spidev_test在实际使用中需要设置相同的spi条件,比如速度和模式)

拷贝到u盘插入开发板,在内核下找出u盘所在的盘,找到spidev_test文件

cp命令无法使用,使用cat spidev_test  >/data/spidev_test命令拷贝到data目录下

然后执行 ./spidev_test会看到如下打印

spi mode: 0
bits per word: 8
max speed: 48000000 Hz (48000 KHz)


00 00 00 00 00 00
00 00 00 00 00 00
00 00 00 00 00 00
00 00 00 00 00 00
00 00 00 00 00 00
00 00 00 00 00 00
00 00

然后可以根据需要编辑自己的应用程序来使用SPI通信。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值