
写了一个stm32mp157的m4程序,需要在uboot阶段就去启动这个程序,现在存在两个问题。 1、程序内包含了双核通信的部分,因此这部分的初始化肯定是要等到linux系统内核初始化完成之后才可能成功。在uboot阶段进行初始化的话会导致程序一直在下面的printf处死循环,即使linux内核初始化完成了也无法跳出。 但是关闭m4程序后,重新开始m4程序则不会出现卡死在循环的问题,因此我修改了一下这部分内容,判断失败不会再次死循环转而跳到main函数的开头,相当于重新执行main函数,发现问题依然存在。请问有什么解决办法吗。 void rproc_virtio_wait_remote_ready(struct virtio_device *vdev) { uint8_t status; /* * No status available for slave. As Master has not to wait * slave action, we can return. Behavior should be updated * in future if a slave status is added. */ if (vdev->role == VIRTIO_DEV_MASTER) return; while (1) { printf("wait rproc_virtio_wait_remote_ready\r\n "); status = rproc_virtio_get_status(vdev); if (status & VIRTIO_CONFIG_STATUS_DRIVER_OK) return; metal_cpu_yield(); } } 2、m4程序中使用了spi+dma的方式去进行数据的传输 ,发现uboot启动m4程序之后,再一段时间内触发了spi的中断回调函数,但是内核初始化之后,就不再触发spi的中断回调了。去除dma后单纯spi传输则并没有出现此问题。推测为a7内设备树初始化时将dma再次初始化了一遍导致spi+dma传输出现了问题。附件为a7和ide程序内Linux的设备树。请问应该如何修改 |
stm32ide怎么正确的导出项目
我在打开应用程序的时候,它报了图片里面的错误,还没进入安装界面
STM32MP157D调试M4内核的问题
STM32MP135移植lvgl build fatal error: drm.h: No such file or directory
STM32MP135无法用NFS开机挂载文件系统启动,报错root '/dev/nfs' doesn't exist
安装STM32CUBEIDE时提示Error launching installer,我的电脑设置的是中文简体,杀毒软件也推出了,怎么才能安装软件?
repo 拉取创库老是失败,有什么方法直接下载
STM32MP135D的TIM2使用ETR作为外部时钟时,无法使用PE15作为输入
STM32MP157d linux从5.4.31升级到6.1.82无法启动
STM32mp157F-DK2找不到ch340,但是usb转ttl能识别到ch340,怎么解决啊
https://wiki.st.com/stm32mpu/wiki/How_to_start_the_coprocessor_from_the_bootloader#Synchronizing_the_remote_firmware_with_Linux
我在内核设备树里添加了st,auto-boot=<1>;但是还是会一直卡在rproc_virtio_wait_remote_ready函数这,
MX_IPCC_Init();这里一直就是通的。