请选择 进入手机版 | 继续访问电脑版

你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32mp157的spi问题

[复制链接]
白色的乌鸦 提问时间:2022-5-20 15:16 / 未解决
使用myir的开发板进行spi通信。
问题:spi1和spi5在debug模式下都可以正常接收数据.
emmc模式下以固件形式加载则spi5可以正常通信,使用spi1则无法接收到数据。
之后屏蔽掉spi1的a7节点,开启(或不开启)m4_spi1的节点依然无法进行通信。
问题点:两个spi在debug模式下或者在a核下生成节点再去读写节点进行spi通信都可以正常通信。spi5无论a核下有无对应spi节点以及开启或不开启m4_spi5节点都可以正常通信。spi1无论a核下有无对应spi节点,以及开启或不开启m4_spi1节点都不能通信。(前提:有节点的情况下a核没有去执行读写操作)。

在关闭a7的spi1节点后,在emmc模式下将其对应的gpioz0-gpioz3节点导出并设置为输入中断成功(确认没有其他资源使用这些gpio)
m核和a核之间也可以正常进行通信。
附件为设备树与测试demo


spi1.zip

下载

4.38 MB, 下载次数: 11, 下载积分: ST金币 -1

收藏 评论21 发布时间:2022-5-20 15:16

举报

21个回答
mpu.china 回答时间:2022-6-10 17:54:43
这个情况感觉是要对比一下时钟的配置
白色的乌鸦 回答时间:2022-6-1 13:36:40
Allonli 发表于 2022-5-27 12:13
你好,你这个现象有点奇怪,有没有确认下每次做的修改尝试是不是真的生效了?SPI1不是secure外设,它跟SPI5 ...

我修改了TF内的stm32mp15xx-ya157c.dtsi内的CLK_SPI2S1_PLL3Q为CLK_SPI2S1_PLL4P(CubeIDE内的tf时钟定义为此)后,使用HAL_SPI_Receive函数接收,出现了一段时间spi1Flag==HAL_OK一段时间又为error的情况,另外接收成功的情况下打印数据发现接收到的数据并不正确。此外spi5虽然能够成功接收,但是使用dma传输的情况下发现使用同样的m4程序(spi5速度调到最大),debug模式可以成功触发接收完成中断但是数据不对(降低速度后可以接收到正确的数据),a7加载m4启动的情况下可以成功触发接收完成中断并且数据正确。但是两者接收完成的时间相差了30us。

白色的乌鸦 回答时间:2022-6-9 14:52:58
Allonli 发表于 2022-6-2 15:14
资源分配冲突的可能性比较大。
可以参考ST官方firmware下的spi例子,这里面即是使用的SPI1通讯。
对应设备 ...

我在正点原子的stm32mp157上进行了测试,使用其原厂镜像发现spi1一样无法接收成功。修改其tf内的CLK_SPI2S1_PLL3Q为CLK_SPI2S1_PLL4P后spi1可以正常进行使用。但是在myir的stm32mp157上做了同样的修改却存在问题。
在spi1不接任何外设的情况下,debug模式下接收都是0000,在emmc模式下,tf做了同样的修改,正点原子的现象与debug模式一样一直是接收成功,且值为0000,而myir的开发板打印如下,虽然有接收成功的打印出现了(未修改则全为error),但其值却不对,我不确定是两者的内核不同导致的还是硬件差异的原因


mpu.china 回答时间:2022-5-27 12:13:09
你好,你这个现象有点奇怪,有没有确认下每次做的修改尝试是不是真的生效了?SPI1不是secure外设,它跟SPI5不同的就是SPI1和I2S1共用了模块,你看看这个冲突存不存在?同样的可以试下也有共用情况的SPI2有没有这样的问题?


白色的乌鸦 回答时间:2022-6-1 15:07:38
Allonli 发表于 2022-5-27 12:13
你好,你这个现象有点奇怪,有没有确认下每次做的修改尝试是不是真的生效了?SPI1不是secure外设,它跟SPI5 ...

而且另外一个问题,将PH5设为gpio中断,spi5用软件控制即把pf6设置为gpio输出后就无法配置spi5(提示映射冲突)。stm32mp157芯片。你可以用mx配置看一下
mpu.china 回答时间:2022-6-2 15:14:14

资源分配冲突的可能性比较大。
可以参考ST官方firmware下的spi例子,这里面即是使用的SPI1通讯。
对应设备树文件为stm32mp157c-ev1-m4-examples.dts

\STM32Cube\Repository\STM32Cube_FW_MP1_V1.5.0\Projects\STM32MP157C-DK2\Examples\SPI
白色的乌鸦 回答时间:2022-6-27 16:04:18
Allonli 发表于 2022-6-10 17:54
这个情况感觉是要对比一下时钟的配置

我现在有两块板子,一块是myir的开发板,一块是自己的开发板,用到核心板都是myir的157,只是底板不一样。我将spi1的输入和输出短接,使用相同的镜像核测试elf文件,得到的结果如下图(emmc模式),我不知道底板不同是否会对环回测试有影响,但是可以看出自己的板子存在超过正常的时间的情况
myir环回测试(自己的板子单独m4核debug模式也为此图)



自己的环回测试


白色的乌鸦 回答时间:2022-6-28 15:36:55
Allonli 发表于 2022-6-10 17:54
这个情况感觉是要对比一下时钟的配置

我使用spi1进行回环测试,在同样的镜像和同样的elf文件的情况下,从myir借过来的开发板可以接收到正常数据,且接收的时间一直是10几us,但是我们改了底板的板子却出现了接收时间为几百ms的情况(超长接收时间打印的数据结果是正确的,1000次大概400次超长时间,其余时间为10几us)。
mpu.china 回答时间:2022-6-29 11:11:34
我使用spi1进行回环测试,在同样的镜像和同样的elf文件的情况下,从myir借过来的开发板可以接收到正常数据,且接收的时间一直是10几us,但是我们改了底板的板子却出现了接收时间为几百ms的情况(超长接收时间打印的数据结果是正确的,1000次大概400次超长时间,其余时间为10几us)。
确认下底板SPI布线距离有多长?会不会受到电磁信号干扰?降低SPI速率测试一下?
白色的乌鸦 回答时间:2022-7-5 08:32:52
Allonli 发表于 2022-6-29 11:11
确认下底板SPI布线距离有多长?会不会受到电磁信号干扰?降低SPI速率测试一下?
...

我认为底板不同镜像也应该做出相应的裁剪,我将myir的镜像放到百问网的开发板上(百问网也是使用的myir的核心板),发现超过正常接收时间的情况也很多,使用百问网的镜像则超过正常时间的次数要少很多但依然存在,说明百问网的镜像裁剪并没有裁剪到位,另外将myir的内核中的wlan节点屏蔽掉之后,ifconfig -a查看发现wlan节点没有了,此时在myir的开发板上也会超时。

mpu.china 回答时间:2022-7-5 11:39:48
问题似乎一直没有收敛。需要明确,核心板上一般仅有处理器,DDR,flash,电源管理等关键部件,但不排除某些厂家会有一些其他的器件在上面,这就要看看是不是占用到了一些外设接口。底板不同一般影响到的就是外设的设计,各个管脚分配使用的功能都不同,内核设备配置当然不同。建议将问题收敛一下。
白色的乌鸦 回答时间:2022-7-5 17:44:53
Allonli 发表于 2022-7-5 11:39
问题似乎一直没有收敛。需要明确,核心板上一般仅有处理器,DDR,flash,电源管理等关键部件,但不排除某些 ...

我把myir的wifi节点关掉之后 ,ifconfig 可以看到已经没有了wlan这个节点,此时spi1在myir的板子上也会出现超时的现象。查看发现它和spi1所使用的时钟均为pll4p,我将tf内的sdmmc3(wifi节点名)的时钟关掉问题依然存在。lsmod可以看到cfg80211这个节点,我查了一下这似乎是个与wifi相关的器件,我想关闭节点并没有让内核不去加载这个驱动。去掉蓝牙节点内核启动依然有Starting Bluetooth service...的打印。应该还需要修改启动的文件,让其不去启动这些服务。不知道我的理解对不对。
mpu.china 回答时间:2022-7-6 09:49:30
建议将问题收敛一下,不要引入越来越多的干扰因素。对SPI这个外设,无外乎时钟和管脚资源的分配是否有冲突,硬件设计是否有干扰
白色的乌鸦 回答时间:2022-7-6 16:41:34
Allonli 发表于 2022-7-6 09:49
建议将问题收敛一下,不要引入越来越多的干扰因素。对SPI这个外设,无外乎时钟和管脚资源的分配是否有冲突 ...

具体应该怎样去做,我把内核里无关的节点都屏蔽了,还是不行。

12下一页

所属标签

相似问题

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版