Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
SMP
ZYNQ7000
20
zynq7020 smp 调试过程中遇到的问题求助
发布于 2023-12-28 15:15:33 浏览:451
订阅该版
[tocm] 各位大佬好,打扰了。最近按照官方文档尝试调试 zynq7020 的 smp. 遇到了一些问题,不知道有对这一方面比较了解的大佬吗? 希望能帮忙看看原因。谢谢: ## 问题1: 最开始调的时候,首先参照文档和 qemu 的bsp 做了初步调试,就发现似乎cache 没有没有写同步,sdk 单步调试看,cpu0 和 cpu1 读取到ddr 的相同地址数据不一样。导致各种 hard fault 的出现。查资粮未找到原因。于是采取临时方案,把 dcahche 用 xilnx 给的 bsp 的接口函数直接关了。结果系统初步正常跑了起来,对应修改如下: ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20231228/e379971b8b0b4e026cd55b4eeece9440.png.webp) ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20231228/b78125e4c093bf5cbfa06deaa0b16ba3.png.webp) ## 问题2: 跑起来来之后,发现主函数没有正常运行闪灯逻辑。但由于处理完问题1后,sdk 打断点了就不起作用了。所以改用 rt_kprintf 调试,发现程序 在执行 rt_thread_mdelay 时,执行到 `rt_spin_unlock_irqrestore` 似乎跑飞了。如下图所示 ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20231228/4a05c99d5c62c711da13626bd87c5507.png.webp) 此时 sdk 打断 cpu0 却发现 cpu0 正常在运行 ide 逻辑: ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20231228/e7cecdbb392fb2be91dc4f1207314891.png.webp) 蓝线所示为这个把 main_thread 改为全局 变量后直接查看到的值(多次尝试后发现,owner 有时候是0, 有时候是异常值。。。). 恢复 cpu0 运行后,命令行执行 list thread & list timer 结果显示, main 线程确实被挂起了,timer 关闭了,但没有被重启,与前面pritf 的调试结果一致,挂起线程后重启定时器的逻辑没有被执行。 ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20231228/ca7466da0a5338e8c8d0d89290763b67.png) 临时加了一个特殊函数,把 main 函数直接resume, 发现就可以正常退出 rt_thread_mdelay 然后进入下一次, 改变小灯状态后,再次在相同的位置神秘跑飞。。。 代码及结果如下: ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20231228/9552020ca76f06630711963e4cbbaf37.png.webp) 属实想不到是何种原因了,希望能有大佬帮忙看看,谢谢! https://github.com/RT-Thread/rt-thread/compare/f8aef22d9533afef9aa3d1302a753af9d10d7ef7~2...f8aef22d9533afef9aa3d1302a753af9d10d7ef7
查看更多
1
个回答
默认排序
按发布时间排序
a1012112796
2023-12-29
这家伙很懒,什么也没写!
问题最终自行解决了, 问题1 仔细查阅 xilnx bsp 代码后发现,发现是因为 scu 没有初始化导致的。 ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20231229/c892b4c427fd3c7d01abe0588c349c4e.png.webp) 问题2 合并了一下主分支的最新状态后,就自行为消失了。 可能是之前的旧的代码本身有问题吧。。。不过仍有一个逻辑 bug, 但简单改下逻辑就解决了。 最终效果: ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20231229/101bdfc9e3b17e91c06ca288a122c0f0.png)
撰写答案
登录
注册新账号
关注者
1
被浏览
451
关于作者
a1012112796
这家伙很懒,什么也没写!
提问
28
回答
210
被采纳
24
关注TA
发私信
相关问题
1
aarch64有计划支持SMP吗
2
SMP重新定义中断处理函数的问题
3
rt_tick_increase()在SMP时只增加当前核的TICK?
4
RISCV smp系统调度异常问题请教
5
qemu-vexpress-a9 在SMP情况下GDB无法调试
6
为什么在k210上使用多核smp总是会卡死
7
RT-Thread SMP核弹碰撞树莓派
8
请教多核SMP功能验证
9
明年开始玩SMP多核处理器
10
建议RT-Thread支持SMP
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
最新文章
1
RT-Thread Nano 上线ST CubeMX
2
Nordic移植笔记: RT_Thread v5.1.0(基于Nordic nRF52840的ble_app_hids_mouse工程)
3
RT-Thread PWM设备无输出解决办法
4
关于studio文件构建及宏控制
5
cubemx RTThread Nano + vscode + cortex + EIDE 环境配置
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
ART-Pi
FinSH
USB
DMA
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
rt-smart
FAL
ESP8266
I2C_IIC
WIZnet_W5500
ota在线升级
UART
flash
packages_软件包
cubemx
PWM
freemodbus
BSP
潘多拉开发板_Pandora
定时器
ADC
socket
flashDB
中断
GD32
Debug
编译报错
msh
keil_MDK
rt_mq_消息队列_msg_queue
C++_cpp
at_device
MicroPython
ulog
本月问答贡献
rv666
13
个答案
2
次被采纳
踩姑娘的小蘑菇
9
个答案
2
次被采纳
xiaorui
7
个答案
2
次被采纳
道友
6
个答案
2
次被采纳
三世执戟
5
个答案
2
次被采纳
本月文章贡献
Licy
3
篇文章
1
次点赞
rv666
1
篇文章
7
次点赞
王依依
1
篇文章
5
次点赞
rtt_dmx
1
篇文章
5
次点赞
jaffer
1
篇文章
5
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部