嵌入式爱好者

查看: 4759|回复: 3

[Linux] ok335xs开发板spi测试与外接设备

[复制链接]

2

主题

4

帖子

16

积分

扫一扫,手机访问本帖
发表于 2022-7-16 20:59:57 | 显示全部楼层 |阅读模式
你好,我测试ok335xs的spi接口时,自己短接的时候可以发送并接收数据,现在我想去读取另外一块开发板的寄存器数据,为什么没法读取,只有00000,我用的是开发板资料所提供的spi测试程序,请问还需要什么设置片选,设置时钟等修改内核的操作来实现吗?
回复

使用道具 举报

2

主题

4

帖子

16

积分

 楼主| 发表于 2022-7-17 16:35:46 | 显示全部楼层
另外,有没有ok335xs 增加片选信号的步骤
点评回复 支持 反对

使用道具 举报

0

主题

236

帖子

752

积分

A40i/T3/T507/T527通行证i.MX6Q通行证i.MX6UL通行证i.MX8MM通行证RK3568通行证RK3399通行证LS1028A通行证LS1012A通行证LS1043A\46A通行证TCU通行证FDU产品通行证FCU1401通行证FCU1301通行证FCU11xx通行证FCU1201通行证FCU2301/FCU2302通行证FCU2401通行证5G转接卡通行证AM5718通行证Hi3519A通信证AM335x通行证i.MX RT通行证XX18通行证AM62x资料下载

发表于 2022-7-18 13:46:11 | 显示全部楼层
只要目录/dev/spidev1.1下生成了节点,内核驱动就没有问题了;飞凌提供的测试程序是自发自收的,您要用的话请把接收和发送部分开;
片选信号的修改:arch/arm/mach-omap2/board-am335xevm-xs.c
如下定义中am335x_spi1_slave_info

#elif defined(CONFIG_SPI_SPIDEV)
        {       .modalias      = "spidev",
                .max_speed_hz  = 48000000,//48Mbps
                .bus_num       = 2,
                .chip_select   = 0,
                .mode = SPI_MODE_1,
        },
#endif
};

根据所选的引脚配置 .chip_select,主要是mcasp0_ahclkr.spi1_cs0这个引脚,这个要选cpu有cs功能复用的引脚
static struct pinmux_config spi1_pin_mux[] =
{
#if defined(CONFIG_CAN_MCP251X)
        {"gpmc_ad13.gpio1_13",OMAP_MUX_MODE7 | AM33XX_PIN_INPUT},
#endif
        {"mcasp0_aclkx.spi1_sclk", OMAP_MUX_MODE3 | AM33XX_PULL_ENBL| AM33XX_INPUT_EN},
        {"mcasp0_fsx.spi1_d0", OMAP_MUX_MODE3 | AM33XX_PULL_ENBL| AM33XX_PULL_UP | AM33XX_INPUT_EN},
        {"mcasp0_axr0.spi1_d1", OMAP_MUX_MODE3 | AM33XX_PULL_ENBL| AM33XX_INPUT_EN},
        {"mcasp0_ahclkr.spi1_cs0", OMAP_MUX_MODE3 | AM33XX_PULL_ENBL| AM33XX_PULL_UP | AM33XX_INPUT_EN},
        {NULL, 0},
};

点评

你好,接收和发送部分 分开是什么意思?是一个程序只有发送部分或者接收部分 还是一个程序里面有发送函数和接收函数? 咱们测试程序里 transfer 函数里spi_ioc_transfer 结构体和ioctl函数应该包含了发送和接收,  详情 回复 发表于 2022-7-19 09:21
点评回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋| 飞凌嵌入式 ( 冀ICP备12004394号-1 )

GMT+8, 2024-9-28 05:07

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表