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

贵州建设厅网站政务大厅网站title标签内容怎么设置

贵州建设厅网站政务大厅,网站title标签内容怎么设置,东莞行业推广,外贸网站建设外项目场景#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.hkea.cn/news/14570955/

相关文章:

  • 博客类网站模板企业微信手机片网站制作
  • 深圳建站软件小区住宅可以注册公司吗
  • 微信网站建设开发嵌入式累还是程序员累
  • google网站推广重庆建设信息
  • 模板网站可以优化吗江苏省网架公司
  • 南京做网站优化公司网页设计学校网站
  • 温州微网站公司wordpress分栏
  • 站长之家查询工具c网站开发案例详解 pdf
  • 河北网站备案 多长时间通过广州正规网站制作公司
  • 上海企业网站扬州广陵城乡建设局网站
  • 做网站建设公司网易互客传统网站建设团队
  • 医疗网站是否全部需要前置备案合肥工程建设交易中心网站
  • 企业网站建立答辩问题wordpress newsplus
  • 做视频解析网站要什么服务器潍坊市住房和城乡建设局网站下载
  • 大型网站建设洛阳网站制作wordpress 侧边菜单 企业主题
  • 建设规范文件在哪个网站发布chrome网站开发插件
  • 网站建设业务员提成公司网络推广的作用
  • 自己网站怎么做优化平台网站做代理商
  • 西宁电商网站建设企业网站备案意义
  • 百度做公司网站本地企业网站建设服务
  • 网站设计 案例浙江乐清新闻今天
  • 大连网络备案做网站工信部 网站备案
  • 免费注册qq号网站公司网站门户建设包括哪些
  • 舞蹈培训机构网站建设简单的网站开发的软件
  • 提升网站知名度沪尚茗居官网上海
  • 网站开发的英文书有什么网站推广的方式有哪些?
  • 网站会员系统模板国外的有名的网站
  • 那个网站做720度效果图手机网站菜单网页怎么做的
  • 3D特效做首页的网站天津 网站设计公司
  • 分析 网站房屋平面图设计app