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

作者 | 冰茶奥利奥

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

目录

坑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. ERROR: Manifest merger failed : uses-sdk:minSdkVersion 24 cannot be smaller than version 27 declared
  2. 特征选择之嵌入法、嵌入法、排列重要性
  3. .Net Core Configuration Etcd数据源
  4. Pycharm 提示:this license * has been cancelled - Python零基础入门教程
  5. 简洁大气的资源下载站源码emlog模板
  6. 线段树(区间合并) LA 3989 Ray, Pass me the dishes!
  7. 网传字节跳动实习生删除所有轻量级模型,还有救吗?
  8. centos7.4 安装配置rabbitmq-server 实操记录
  9. FPGA三段式状态机的思维陷阱
  10. 随机森林----评论情感分析系统
  11. 【微信篇】取证遇到微信昵称、微信号、微信账号、微信ID一次性区分清楚
  12. 记录性能测试脚本开发的过程
  13. Leveraging Long-Range Temporal Relationships Between Proposals for Video Object Detection论文详读
  14. 2012-03-16
  15. R语言:感知机模型(一)
  16. 分层确定性钱包 HD Wallet 介绍
  17. 如何删掉顽固文件和文件夹
  18. 捷报 | 美格智能Cat.1模组SLM332中标中国电信定制版Cat.1模组产品招募
  19. 2022中国健博会/北京健康产业展/北京艾灸与艾制品展览会
  20. 扫描版PDF自动添加书签 | 电子书目录自动获取

热门文章

  1. win10与内置ubuntu之间复制粘贴操作
  2. python 算法 小试牛刀
  3. 所以,《彩虹六号:围攻》到底需要怎么样的测试服?
  4. 网页实现文字转语音朗读功能
  5. 图谱实战 | 再谈图谱表示:图网络表示GE与知识图谱表示KGE的原理对比与实操效果分析...
  6. nodejs.ReferenceError:window is not defined
  7. MAYA XGen创建毛发时报错找不到过程“XgCreateDescription“或提示“RuntimeError”的解决方法
  8. powerquery分组_Power Query中的Table.Group函数详细分析
  9. 拼多多运营该怎么做你知道吗?
  10. linux上使用ftdi的串口芯片,D2XX for Linux,出现ftdi d2xx与linux上的ftdi_sio冲突问题