商务网站主页设计公司,互联网营销师培训内容,哪个网站做ic好,网站开发流程包括#x1f3c6;本文收录于《全栈Bug调优(实战版)》专栏#xff0c;主要记录项目实战过程中所遇到的Bug或因后果及提供真实有效的解决方案#xff0c;希望能够助你一臂之力#xff0c;帮你早日登顶实现财富自由#x1f680;#xff1b;同时#xff0c;欢迎大家关注本文收录于《全栈Bug调优(实战版)》专栏主要记录项目实战过程中所遇到的Bug或因后果及提供真实有效的解决方案希望能够助你一臂之力帮你早日登顶实现财富自由同时欢迎大家关注收藏订阅持续更新中upupup 问题描述
PS提通过PLL提供时钟给PL端。通过SDK在线调试程序都能正常运行。烧写到falsh后PL端能运行PS端的程序不运行这是怎么回事说PS完全不运行吧还能给PL提供时钟。
解决方案 如下是上述问题的解决方案仅供参考
从你描述的情况来看PS处理系统在通过SDK在线调试时能够正常运行但在烧写到Flash之后PS端的程序不运行而PL可编程逻辑部分依然能够获得时钟并正常运行。这种现象通常可能由以下几个方面的问题引起
1. 引导Boot模式设置错误
由于Zynq设备有多种启动方式如JTAG、QSPI、eMMC、SD卡等如果烧写到Flash后无法启动PS端程序首先需要确认引导模式是否设置正确。可以检查以下两点
确认Zynq的启动模式选择开关如Boot Mode Jumper或DIP Switch是否设置为从Flash启动例如从QSPI Flash启动。在SDK中调试时一般通过JTAG方式运行但烧写到Flash后需要修改Zynq的引导配置为从相应的存储设备如QSPI Flash启动。
2. BootloaderFSBL问题
Zynq在从Flash启动时通常会先运行一个引导程序称为FSBLFirst Stage Bootloader它负责加载PS端的程序。如果FSBL未正确生成或配置可能导致PS端的程序未能正确加载。
检查FSBL是否生成正确尤其是是否包含了对PL时钟的配置等。生成FSBL时确保正确配置了PS和PL相关的初始化代码。
3. 镜像文件生成问题
在烧写到Flash之前通常需要将FSBL、bitstream用于PL配置以及应用程序如.elf文件打包成一个BOOT.bin文件。如果这个打包过程中有错误或遗漏可能导致PS端的程序无法正确加载。
确认你在生成BOOT.bin时FSBL、bitstream和应用程序都已正确包含在内。同时需要确保程序的入口点设置正确可能需要检查你在SDK中对应用程序的链接脚本设置。
4. PS端程序初始化问题
在有些情况下PS端程序可能在初始化时需要依赖外部资源如DDR、外设等而这些资源可能没有被正确配置或初始化。这可能会导致程序看似无法运行。
确认PS端的程序是否正确初始化外设特别是与时钟、内存如DDR相关的部分。在线调试时可能会有不同的初始化路径因为某些资源已经在调试环境中配置好而从Flash启动时可能需要额外的初始化步骤。
5. 时钟配置问题
你提到PS通过PLL提供时钟给PL确认这个时钟配置在从Flash启动时是否已经被正确配置。如果这个时钟依赖于FSBL或其他初始化代码而这些代码没有正确执行可能会导致PL能够获得时钟而PS端的其他功能未正常工作。
检查FSBL是否有对PLL的正确配置确保在系统启动时PS部分的时钟设置是正确的。
6. 调试步骤
确认Boot Mode开关设置为从Flash启动。使用SDK重新生成FSBL确保所有配置正确。检查并重新生成BOOT.bin文件确保它包含FSBL、bitstream和应用程序。检查链接脚本和初始化代码确保PS端的程序能够正常初始化外设和内存。尝试使用串口UART输出调试信息在从Flash启动时查看PS端程序是否有任何输出帮助定位问题。
总结
从现象来看问题很可能出在引导配置、FSBL或者BOOT.bin生成过程中。首先检查Zynq的启动模式是否正确设置为从Flash启动并确保FSBL、bitstream以及应用程序的镜像文件正确生成。如果这些都确认无误再进一步排查PS端程序的初始化过程是否有问题。 希望如上措施及解决方案能够帮到有需要的你。 PS如若遇到采纳如下方案还是未解决的同学希望不要抱怨急躁毕竟影响因素众多我写出来也是希望能够尽最大努力帮助到同类似问题的小伙伴即把你未解决或者产生新Bug黏贴在评论区我们大家一起来努力一起帮你看看可以不咯。 若有对当前Bug有与如下提供的方法不一致有个不情之请希望你能把你的新思路或新方法分享到评论区一起学习目的就是帮助更多所需要的同学正所谓「赠人玫瑰手留余香」。 ☀️写在最后 如上问题有的来自我自身项目开发有的收集网站有的来自读者…如有侵权立马删除。再者针对此专栏中部分问题及其问题的解答思路或步骤等存在少部分搜集于全网社区及人工智能问答等渠道若最后实在是没能帮助到你还望见谅并非所有的解答都能解决每个人的问题在此希望屏幕前的你能够给予宝贵的理解而不是立刻指责或者抱怨如果你有更优解那建议你出教程写方案一同学习共同进步。 ok以上就是我这期的Bug修复内容啦如果还想查找更多解决方案你可以看看我专门收集Bug及提供解决方案的专栏《CSDN问答解惑-专业版》都是实战中碰到的Bug希望对你有所帮助。到此咱们下期拜拜。 码字不易如果这篇文章对你有所帮助帮忙给 bug菌 来个一键三连(关注、点赞、收藏) 您的支持就是我坚持写作分享知识点传播技术的最大动力。 同时也推荐大家关注我的硬核公众号:「猿圈奇妙屋」 以第一手学习bug菌的首发干货不仅能学习更多技术硬货还可白嫖最新BAT大厂面试真题、4000G Pdf技术书籍、万份简历/PPT模板、技术文章Markdown文档等海量资料你想要的我都有 关于我
我是bug菌CSDN | 掘金 | InfoQ | 51CTO | 华为云 | 阿里云 | 腾讯云 等社区博客专家C站博客之星Top30华为云2023年度十佳博主掘金多年度人气作者Top40掘金等各大社区平台签约作者51CTO年度博主Top12掘金/InfoQ/51CTO等社区优质创作者全网粉丝合计 30w硬核微信公众号「猿圈奇妙屋」欢迎你的加入免费白嫖最新BAT互联网公司面试真题、4000G PDF电子书籍、简历模板等海量资料你想要的我都有关键是你不来拿哇。