您好。
我正在尝试让 LLCE 示例在 Goldbox 上运行。
我对 CAN2CAN 示例做了一些修改,如果我从 S32DS 进行调试,它可以正常工作。
但是,如果我尝试从 U-boot 运行它,它会执行,但会导致 U-boot 本身卡死。
以下是我运行的命令:
dcache 关闭;mw.q 0x34000000 0x0 0x100000;dcache 开启
fatload mmc 0:2 ${loadaddr} /llce.elf
bootm7 ${loadaddr}虚函数表
我可以看到总线上的 CAN 通信,所以示例程序正在运行,但是 U-boot 卡住了,无法再接受命令。
经过一番调试,我最终将问题追溯到PlatformInit()调用,特别是设置时钟的代码。
但是,如果我删除那段代码,示例就无法正常运行了。
您有什么建议吗?
你好, @GioMusto
感谢您的回复。
是的,它是针对 S32G2 的,而不是 G3,但介绍的方法类似。
由于它是基于早期版本的软件包,因此在使用最新版本的软件组合时,不能将其视为分步指南。
BR
陈银
你好, @GioMusto
感谢你的帖子。
您提到的问题可能是由于 M 端和 A 端之间的时钟或其他资源冲突引起的。
1. 在 S32G 产品上,默认设置下,运行在 A53 端的 BSP 被设计为假定其拥有对系统的独占访问权限,因此不考虑其他软件组件引入的潜在冲突,而您的 M 内核应用程序也可能访问时钟/内存等关键资源。你必须仔细检查代码的每个部分,以避免关键资源出现任何可能的冲突/重新配置。
2. 要同时运行 M7 应用程序和 Linux 电路板支持包,建议先运行 M7 引导加载程序来管理资源,如AN13750中所述。
BR
陈银
你好, @GioMusto
感谢您的回复。
1. 通常情况下,我建议使用 S32DS3.5.x 版本(例如 3.5.14)。要使用 S32G(在 S32G RTD 版本发布说明中提到),请确保至少安装了以下软件包:(RTD 和开发软件包)
chenyin_h_0-1786010049364.png
2. 为简化流程,您可以将示例项目导入 S32DS,然后打开 IVT 工具,例如:
chenyin_h_1-1786010241259.png
然后尝试使用 IVT 工具根据您自己的图像生成 blob。
BR
陈银
我正在尝试按照 AN13750 和“S32G3XX 的系统级引导加载程序集成示例”来构建 M7 引导加载程序。
我成功编译了引导加载程序(虽然遇到了一些困难,因为我缺少 SAF 软件包),但现在我在 S32DS 中使用 IVT 工具时遇到了问题。
当我创建一个新项目,选择 S32G399A、Cortex-M7_0 并创建一个配置时,出现错误“IVT 工具不支持当前处理器”。DCD、QuadSPI、DDR 和 eFuse 也存在同样的问题(见截图)。
我做错了什么?
IVT_error.png