Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
SMP
ZYNQ7000
20
zynq7020 smp 调试过程中遇到的问题求助
发布于 2023-12-28 15:15:33 浏览:748
订阅该版
[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
被浏览
748
关于作者
a1012112796
这家伙很懒,什么也没写!
提问
29
回答
267
被采纳
31
关注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
RTT 源码分析笔记——互斥量篇
2
[E/app.filesystem] SD card mount to '/sdcard' failed!
3
单片机也能聊天?RT-Thread上跑通大语言模型
4
【RT-Thread】【ci】【scons】将ci.attachconfig.yml和scons结合使用
5
Rt-thread中OTA下载后,bootloader不搬程序
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
DMA
USB
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
FAL
rt-smart
I2C_IIC
ESP8266
UART
WIZnet_W5500
ota在线升级
cubemx
PWM
flash
freemodbus
BSP
packages_软件包
潘多拉开发板_Pandora
定时器
ADC
flashDB
GD32
socket
编译报错
中断
Debug
rt_mq_消息队列_msg_queue
SFUD
msh
keil_MDK
ulog
C++_cpp
MicroPython
本月问答贡献
出出啊
1518
个答案
343
次被采纳
小小李sunny
1444
个答案
290
次被采纳
张世争
813
个答案
177
次被采纳
crystal266
549
个答案
161
次被采纳
whj467467222
1222
个答案
149
次被采纳
本月文章贡献
出出啊
1
篇文章
3
次点赞
小小李sunny
1
篇文章
1
次点赞
张世争
1
篇文章
3
次点赞
crystal266
2
篇文章
2
次点赞
whj467467222
2
篇文章
2
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部