OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 75|回复: 1

[XILINX] Zynq AMP Linux和裸核硬件资源访问冲突?

[复制链接]

32

主题

77

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
283
金钱
283
注册时间
2020-10-19
在线时间
59 小时
发表于 5 天前 | 显示全部楼层 |阅读模式
1金钱
有问题请教下论坛里的各位大佬:
我在Zynq开发板上以SGI的方式实现了AMP架构的交互。其中cpu0运行petalinux,cpu1则是裸机。我在能够相互通信的基础上,对裸核增添了硬件GPIO的控制。坏消息是,我的裸机对于GPIO的初始化影响了Linux,导致上电后linux无法启动。随后怀疑是linux启动时对硬件GPIO进行了加载或注册访问动作,导致资源冲突。但实际上我的linux端没有实际代码去操作或访问GPIO。甚至我注释掉了设备树中相关的GPIO节点也无法解决。暂时的解决方案是linux端完全启动后,裸机再进行GPIO初始化,双核交互正常。于是我在启动后加入GPIO翻转逻辑,结果系统能够正常进入,双核通信失效,GPIO翻转失效。我能确定我裸机的GPIO代码正确,硬件没问题。
  1. int main()
  2. {
  3.         m_xScuGic.initObject(); // 中断初始化
  4.         g_cores.initDoubleCores(); // 双核通信初始化
  5.         g_cRandTimer.startTimeCounter();
  6.         g_cTestTimer.startTimeCounter();
  7.         if(g_cTestTimer.getElapsedSeconds() > 30)
  8.         {
  9.                 g_cPLLED.initObject(XPAR_AXI_GPIO_4_DEVICE_ID, true, false, CQswuXGpioExt::enGpioIODirection::allOutput); // PL-LED
  10.                 g_cTestTimer.resetTimerCounter();
  11.         }
  12.     while(1)
  13.     {
  14.                         if (g_cRandTimer.getElapsedMilliSeconds() > 500)
  15.                         {
  16.                                 uint32_t udata = rng.generateRandomNumber(1, 10000);
  17.                                 Xil_Out32(g_cores.m_uOCMADDR, udata);                        // 写入数据到OCM
  18.                                 XScuGic_SoftwareIntr(&g_cores.m_xIntc, g_cores.m_uCpu0SGIID, g_cores.m_uCpu0MaskID); // 触发CPU0中断
  19. //                                g_cPLLED.togglePins(1);
  20.                                 g_cRandTimer.resetTimerCounter();
  21.                         }
  22.     }
  23.     return 0;
  24. }
复制代码
如上图所示,如果取消注释行,就会出现上述问题,如果注释掉,双核就能正常通信。我想知道原因。毕竟我的linux已经正常启动了,也没有明确的App代码访问该GPIO设备。我不清楚该怎么解决这个错误。

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

4

主题

2085

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
5839
金钱
5839
注册时间
2018-10-21
在线时间
1682 小时
发表于 4 天前 | 显示全部楼层
帮顶,没玩过一个跑linux,一个跑裸机
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-2 20:42

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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