当前位置: 首页 > news >正文

东莞网站优化关键词推广怎么免费做一个网站做淘宝客

东莞网站优化关键词推广,怎么免费做一个网站做淘宝客,泰安房产信息网泰安市房产交易中心,沧浪企业建设网站公司项目场景#xff1a; USB Audio芯片#xff0c;代码放到qspi flash中#xff0c;执行代码时#xff0c;客户会偶尔保存一些参数#xff0c;即FPGA验证过程中#xff0c;每隔10ms向flash info区烧写4个byte#xff08;取指过程一直存在#xff0c;且时隙软件不可控 USB Audio芯片代码放到qspi flash中执行代码时客户会偶尔保存一些参数即FPGA验证过程中每隔10ms向flash info区烧写4个byte取指过程一直存在且时隙软件不可控同时芯片同时打开录音功能以及DAC播放功能、以及打开系统中其他中断模块程序会被频繁打断。 问题描述 首次问题为通过电脑端点击录音和播放切换按钮发现偶尔会卡死概率性的问题运气好几十次会复现运气不好几百次才卡死。 原因分析 》 首先软件根据卡死时的pc dump出来所有通用寄存器分析出来卡死的具体位置并将现场打印出来通过对比现场与dump的指令发现卡死时从flash取到的几个指令错误导致CPU跑飞了。 》 根据此现象做进一步分析通过示波器测量了DCO的频率发现调节DCO频率时导致FPGA主频超频这种情况下我们基本上认为取指错误是超频导致的。后来也发现每次软件进入调节DCO函数时就会死掉那么基本上认为就是这个原因了。因此我们把调节DCO控制字关闭掉简化测试环境始终让DCO工作在一个稳定的时钟频率下再次进行压力测试。 》 进一步做压力测试发现还是偶尔会卡死只是概率更低了基本上都是几百次才死一次。同样根据现场与dump进行指令比对发现卡死的时候还是有取指错误。那么我们把cache关掉再次取flash发生错误的这个地址这次取的是正确的指令。这说明前面有一次取指错误被cache住了而且可以排除cache的问题因为单步调试再次取错误地址时指令是正确的。 》 进一步分析现在基本上确定是flash这边的问题那么根据case我们发现这个时候对应着xip读flash且同时进行program操作即对于flash来说会有suspend和resume操作。把问题集中到这个点上进一步分析 》 从多次复现的现象上看基本上死的时刻都发生在开始program时刻即cs_n拉高然后大概50us的时候CPU来了xip 读操作。然后我们结合datasheet给的suspend时间以及软件单测program 4个byte的时候进行分析发现可能是因为flash内部还没有真正接收suspend挂起命令就来了xip 读操作了导致的。 》 因此我们查看datasheet发现里面有要求再发起suspend命令前一定要轮询flash的状态寄存器busy以及suspend bit然后满足特定条件时才能发起suspend命令0x75而我们的硬件qspi controller设计并没有完全按照这个要求来而是选择了一个等待时间的方式认为cs_n拉高后满足datasheet给的时间后一定会出现busy/suspend满足要求但是实际芯片测试不一定是这样的按照IP vendor给的建议最后是直接轮询内部的状态寄存器。 》 考虑到目前我们的芯片已经tap out硬件暂时没有改的机会目前通过软件来绕 软件在发起program后关闭中断70us这个关中断时间保证了此期间没有xip 读操作即这个时间差不多program也完成了4个byte的烧写因此就不会真正出现suspend的操作了。后来我们用这种方式继续进行压力测试发现了跑着跑着usb的in包数据突然没有了初步怀疑是关这70us的中断导致CPU丢了usb的中断导致软件没有及时填tx fifo导致断音。因此我们把场景降到FS模式这样1ms处理一次usb 中断理论上来说发生断音的概率几乎没有但是事实上还是有因此我们分析可能并不是关中断导致的断音。 》 进一步分析 因为之前开的usb FIFO为双buffer乒乓填数据现在为了简化case改成单buffer结构这样故障概率会加大另外软件把ahb的频率降低排除timing问题。根据此配置继续debug发现仍然有问题。 》 进一步分析通过FPGA抓取一些内部信号分析考虑到FPGA资源有限关键点需要找到适合的trigger我们先将问题定位到中断上因此先抓一下原始中断、CPU中断口中断使能分析一下。这个时候我们发现确实原始中断没有起来因此我们怀疑可能是host端没有发送数据请求因此我们更进一步简化验证平台的环境想到了目前芯片接到hub由hub接到CPU的USB口因此我们把hub拿掉直接将芯片接到电脑的USB口再去试试。 这样我们压力测试了一天一夜没有发现问题说明之前导致的问题就是因为hub上可能接的东西太多了导致传输不稳定导致的。 》 为了double check我们在RTL级别修改了一些qspi控制器完全完整datasheet要求在发suspend及resume之前先去读busy和suspend状态寄存器。再次进行压力测试没有发现问题。 说明以上问题就是因为设计不鲁棒导致的。 解决方案 1. 目前针对已经tap out的芯片我们利用软件绕的方式来规避这个问题。 2. 针对后续项目将采样fix bug后的controller设计
http://www.dnsts.com.cn/news/38309.html

相关文章:

  • 网站的开发建设要做什么的宁波网站建设公司信息查询
  • 云梦建站微信公众号网页设计
  • 设计网站faq需注意水印在线制作网站
  • 常熟做网站推广的易龙天做的网站怎么样
  • 网站建设好卖吗广州营销型网站建设费用
  • 怎么做企业网站二维码沈阳网站关键词优化
  • 最权威的做网站优化价格钓鱼网站到底怎么做
  • 上海企业网站设计公司35互联做网站好吗
  • 深圳哪家做网站好动画制作软件flash官方下载
  • 网站制作设计培训多少钱苏州网站搜索排名
  • 山东滨州网站建设公司被国家禁止访问的网站怎么打开
  • 优建网站网站后台英文
  • 东海网站建设网站开发流程详解
  • 为什么手机进网站乱码网站推广app软件
  • 细胞医疗 网站模版电子商务平台建设实施方案
  • 西安企业网站建设公司免费咨询内科医生
  • 常德网站开发wordpress标签页调用
  • 网站加载流量阿里巴巴网站怎么做才能排第一
  • 烟台网站建设哪家服务好班级优化大师网页版
  • 网站开发 英文文章河南建设建设监理协会网站
  • 上海做网站哪家公司好网站开发 经济可行性
  • 外贸公司网站推广wordpress增加分页功能
  • 计算机网站建设考试试卷小广告设计
  • 网站建设的配置wordpress图片_转移oss
  • 宁波网站建设设计报告设计专业的网址
  • 新闻源代发网站怎么做免费移动网站模板
  • 电商网站如何避免客户信息泄露邢台做wap网站找谁
  • 专业网站设计师去哪找用python做网站的公司
  • 苏州哪家做网站好些郑州官网网站优化公司
  • 宜春住房和城乡建设部网站烟台企业管理培训课程