关注+星标公众,及时获取更多技术分享~ 

作者 | 冰茶奥利奥

微信公众号 | 嵌入式电子创客街

目录

坑1:裸机Ps串口收数问题

坑2:多个中断不能同时使用问题

坑3:block design中DDR3的选择

坑4:新板子能够检测到芯片,但是没法烧录。


坑1:裸机Ps串口收数问题

这个坑蹲了一整天,配置PS端的串口只能发数,不能收数,代码翻来覆去折腾一天,最后查到问题原来是bank1的电压选择的不对,我选择的是3.3V,其实硬件接的是1.8V。我也是无语了啊。。原来BANK电压选择这么重要。

坑2:多个中断不能同时使用问题

串口和定时器中断单独使用都能使用,但是只能响应后配置的中断。分析是有什么应该全局配置的寄存器被重配置了。原来是GIC中断寄存器“只能被初始化一次,一旦初始化后映射地址不可更改,否则会出现不可预料的结果”(库函数的注释里说的)。然后把gic初始化拎出来作为全局的传递给各个初始化配置函数用就可以了。其实从xparameter.h提供的INT_ID就能看出来,所有的例程中的外设中断ID都是0,这也就意味着全局可能只有一个GIC中断源,查看ZYNQ的硬件设计也印证了这一点。

/** gic_init.c**  Created on: 2022年3月29日*      Author: Lisboa*/#include "gic_init.h"#define INTC_DEVICE_ID      XPAR_SCUGIC_SINGLE_DEVICE_IDXScuGic GobalInterruptController;    /* Instance of the Interrupt Controller */
int gic_init()
{int Status;XScuGic_Config *IntcConfig; /* Config for interrupt controller *//* Initialize the interrupt controller driver */IntcConfig = XScuGic_LookupConfig(INTC_DEVICE_ID);if (NULL == IntcConfig){return XST_FAILURE;}Status = XScuGic_CfgInitialize(&GobalInterruptController, IntcConfig,IntcConfig->CpuBaseAddress);if (Status != XST_SUCCESS){return XST_FAILURE;}return XST_SUCCESS;
}

坑3:block design中DDR3的选择

新画的板子PL能单独跑起来,但是PS根本跑不起来,进不了主程序,我猜测是DDR3的问题。

板子上买的是MT41K256的DDR3,K和之前的J系列的区别其实就是K是低压版本,1.35V,但是在电路和试用上是兼容1.5V的老版本的。所以我设计电路时候都是按照MT41J设计的,软件BlockDesign里面选择的也是DDR3,MT41J。

后来把BlockDesign中配置zynq这部分的DDR3选成了DDR3 Low Voltage,这样就能正常工作了。

我找遍了中外网站,翻了好几个Xilinx的官方文档,都没有找到关于这部分的说明,所以也不知道硬件上到底有啥区别让他不能兼容低压版的。

坑4:新板子能够检测到芯片,但是没法烧录。

新板子做回来,SDK里面没法烧程序,vivado里面也没法烧程序。SDK里面报错的界面我忘记截图,但是vivado里面报错:

ERROR: [Labtools 27-3165] End of startup status: LOW。

有人说是芯片虚焊或者有短路怎么样,我就拆了Zynq重新焊接,不行。又把芯片换了一个,也不行。

后来对照原理图看发现有个电阻焊的不对。这是我的原理图。

这个SPI_D0是拉高了。这个引脚同时是MIO2,MIO2的功能如下:

这个cascaded JTAG就是JTAG的级联模式,因为我们JTAG是连接到了Ps端,所以必须选择级联模式,而不是独立模式。

坑5:添加了math.h头文件,一些数学函数却不能使用

比如我这次使用了log( )函数,也添加了头文件,查看该函数引用也能转到math.h头文件里面,但是编译会报错。这种情况下,需要在编译选型里添加编译指令,如图所示,在项目的设置选项里添加-lm,这种方式就和linux比较像了。

如果您觉得这篇文章帮到了你,请点赞或者留下您的评论,您的鼓励是我前进的动力~

关注博主公众号 “嵌入式电子创客街” 获取更多及时技术分享~

ZYNQ SDK开发调试踩坑指南相关推荐

  1. 微信小程序 短剧开发技术踩坑指南 仿抖音快手小视频

    1.Video组件 微信官方文档地址: https://developers.weixin.qq.com/miniprogram/dev/component/video.html uniapp官方文档 ...

  2. openssl开发库安装时的踩坑指南

    序 前几天用linux编译一个提权脚本的时候报错 openssl/opensslv.h: 没有那个文件或目录 的问题 无论如何也解决不了,这下我记录一个踩坑指南防止下一个人掉进坑里 操作 总体介绍 首 ...

  3. 直流无刷电机调试排坑指南(铭朗电机驱动器,CAN调试,RS-232调试)

    直流无刷电机调试排坑指南(铭朗电机驱动器) 前言 调试设备 调试思路 调试过程 连接CAN分析仪 上位机安装.驱动安装 创芯科技CAN分析仪 对应的上位机与驱动 周立功CAN分析仪 对应的上位机与驱动 ...

  4. i.MX6ULL裸机篇(二)NXP官方SDK移植之踩坑 网口驱动

    MX6ULL官方SDK移植之踩坑 网口驱动 一.引言 NXP MX6ULL 网口移植其实主要修改底层驱动程序,LWIP协议通用,一般不用修改,这里主要和大家分享在Linux环境下移植修改网口驱动程序. ...

  5. pytorch .item_从数据到模型,你可能需要1篇详实的pytorch踩坑指南

    原创 · 作者 | Giant 学校 | 浙江大学 研究方向 | 对话系统.text2sql 熟悉DL的朋友应该知道Tensorflow.Pytorch.Caffe这些成熟的框架,它们让广大AI爱好者 ...

  6. tabbar角标 小程序_【沃行课堂】恭喜你遇到“坑”,小程序踩坑指南

    上周我们的开发小哥哥带领我们一起领略了开发中遇到的各种问题,以及基于SaaS模式的平台技术架构及实现.本周我们换个方向,由高级开发工程师秋哥带领大家共同探讨下小程序开发中踩过的坑.秋哥会从公司的几个小 ...

  7. Git Commit Message校验踩坑指南

    背景 在团队多人开发中,规范的commit message可以快速定位代码提交历史,回溯问题根源,方便组内多人协作,提高团队效率. 本篇文章主要包含以下两方面内容: commitizen/cz-cli ...

  8. 联调中通wincall平台-踩坑指南

    开发踩坑指南 初始化阶段 new CTIPlus({token: user.token, //tokenagentPhone: user.phone, //坐席工号或者手机号agNo: user.ag ...

  9. android手机屏幕共享神器踩坑指南

    开源项目地址:https://github.com/Genymobile/scrcpy scrcpy,由 Genymobile 推出的可跨平台的.可自定义码率的.开源的屏幕共享工具.它提供了在 USB ...

最新文章

  1. 服务被干爆了!竟然是日志的锅!!
  2. 系统自动登录及盘符无法双击打开问题处理
  3. linux64平台上编译32位程序: GCC编译选项 -m64 -m32 -mx32
  4. JAVA的JDK环境变量的配置JAVA_HOME;PATH;CLASSHOME
  5. codeforces 1027 B - Numbers on the Chessboard(规律)
  6. mysql trace工具_100% 展示 MySQL 语句执行的神器-Optimizer Trace
  7. C# 延迟初始化 LazyT
  8. java 泛型 泛型接口(Generic Interfaces)类型形参(Type Parameters)
  9. 华为突遭 Google 釜底抽薪,国产自研操作系统生态恐不可承其重!
  10. 刚刚,英伟达发布最强无人车AI芯片,以及一系列自动驾驶新产品
  11. 7820X+RTX2080Ti(Ubuntu 18.04)新机配置记录
  12. Java中Double保留六位小数_Java中Double保留后小数位的几种方法
  13. VHDL计算机硬件能直接执行吗,第5章 VHDL程序结构.ppt
  14. CTR预估之outbrain
  15. Android MonkeyTest 压力测试命令详解
  16. Java 高级 多线程 线程安全 3 种常见解决方案教程.
  17. 1、RFID标签介绍
  18. SpringBoot自定义starter
  19. 100行代码做一个周杰伦歌词生成器--python
  20. Log4j2中RollingFile的文件滚动更新机制

热门文章

  1. 编辑距离(Edit Distance) 一文读懂(Python实现)
  2. python正则匹配练习
  3. 第一不完全性定理证明标号分类 拆解汉译 知识背景——哥德尔原著英译拆解汉译之一
  4. 文件目录自动生成工具--Dir Tree Noter
  5. python读取excel画出饼状图_python操作Excel、openpyxl 之图表,折线图、饼图、柱状图等...
  6. TMC电机驱动芯片使步进电机的更好用
  7. 人工智能与智能的异同
  8. egret 实战教程之跳一跳(一)
  9. python数字2大写汉字转换(金额转换)
  10. python 颜色与字体