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

云南网站建设百度官方百度竞价返点一般多少

云南网站建设百度官方,百度竞价返点一般多少,wordpress的用户名密码,高端网站设计欣赏2019独角兽企业重金招聘Python工程师标准>>> 最近在维护一个基于STM32F4 Discovery的USB Audio项目,之前在Mac OSX环境下测试正常,但今天在Windows10上测试了下没有声音输出。 使用Keil Debug了下发现在Windows 10 USB连接下有个关于DMA配置的…

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

最近在维护一个基于STM32F4 Discovery的USB Audio项目,之前在Mac OSX环境下测试正常,但今天在Windows10上测试了下没有声音输出。
使用Keil Debug了下发现在Windows 10 USB连接下有个关于DMA配置的全局变量被莫名其妙的改写成其他值,导致I2S DMA传输出错。

可以发现DMA_InitStructure被改写的面目全非,难怪要出现DMA Tranfer Error了。

添加断点发现只要一进USB中断DMA_InitStructure就会被改写,先怀疑是中断导致的重入问题,因为这里面涉及到I2S DMA和USB 2个中断处理都会对这个全局变量进行写操作,所以屏蔽了所有对DMA_InitStructure的写操作,问题依旧。

后来想想刚开始思路不对,在Mac OSX上是能正常工作的,为什么在Windows10上不行呢?那一定是USB Host驱动不同导致的问题。于是用USB分析仪对比了两者的交互流程:

两者之间明显的区别是Windows每次第一个发起的setup token包中请求的长度都是255(应该是它能处理的最大长度),而Mac OSX则是用8, 2,9这类小的长度进行试探,这无可厚非,或许Windows更喜欢采用一次性到位的策略吧。比较了USB的整个交互过程没发现其他不同。

又想了想,还是看看编译出来的map文件或许能有新的发现。果然:

sampleBuffer                           0x20000e48   Data       57600  usbd_audio_out_if.o(.bss)
USBD_StrDesc                         0x2000ef48   Data          50  usbd_req.o(.bss)
DMA_InitStructure                  0x2000ef7c   Data          60  stm32f4_discovery_audio_codec.o(.bss)

AUDIO_MAL_DMA_InitStructure0x2000efb8   Data          60  stm32f4_discovery_audio_codec.o(.bss)

根据经验很有可能USBD_StrDesc越界导致把DMA_InitStructure改写了,看了下USBD_StrDesc被填充的值的末尾数据:

153215_baRy_2007478.png

00530046不正是被改写的值吗?看了下大小是66,在代码中check了下发现USBD_StrDesc被定义为50字节的数组,难怪会出现问题,将USBD_StrDesc大小改大问题果然被解决了。

但一开始为什么在Mac OSX上是正常的呢?是因为DMA_InitStructure是放在第一次setup token里面实现的,由于Mac OSX第一次发起的请求的长度是2,没有触发覆写的边界条件,幸运的避开了这个问题。

转载于:https://my.oschina.net/u/2007478/blog/968413

http://www.lbrq.cn/news/2656945.html

相关文章:

  • 贵阳网站建设运营免费发布推广信息的平台
  • wordpress 密码爆破宁波 seo排名公司
  • 企业登记网上注册杭州明开seo
  • 肇庆网站建设咨询百度seo排名公司
  • WordPress怎么用dz登录怎么进行seo
  • h5游戏充值折扣平台seo搜索引擎优化推广
  • 如何用代码做分数查询的网站最近的新闻摘抄
  • 360上做网站威海seo公司
  • 留言网站怎么做扫图片识别图片原图
  • 中国企业查询网官网洛阳网站建设优化
  • 国外做免费网站的制作电商网站
  • 圣耀做单网站小程序开发流程详细
  • 如何自己制作简单脚本单页面seo搜索引擎优化
  • 乐清做网站的公司有哪些域名收录查询工具
  • 系统优化有什么用3分钟搞定网站seo优化外链建设
  • 专做美妆的视频网站怎么查询百度收录情况
  • 新手建设网站步骤视频营销
  • qq电脑版官方入口宁波网络推广优化方案
  • pycharm 做网站哪个好一站式营销平台
  • 京东商城网站建设策划书推广技术
  • 推荐微信网站建设站长之家seo查询官方网站
  • 推荐武汉手机网站设计搜索关键词排名查询
  • 网站的robots.txt文件新网站友链
  • 哪个网站做国内销海外的app注册推广平台
  • 免费网站建设推广页面优化的方法
  • 北京网站建设模板主题百度主页入口
  • 如何做网站标题wordpress seo教程
  • 建筑焊工证查询网站官方网微营销推广平台有哪些
  • 怎么做图片网站江门关键词优化公司
  • 重庆公司黄页企业名录seo代码优化有哪些方法
  • 嵌入式开发学习(第三阶段第四天 Linux系统开发)
  • 本地进行语音文字互转
  • 202506 电子学会青少年等级考试机器人三级器人理论真题
  • ELK常见的问题
  • [Oracle] MAX()和MIN()函数
  • WinForm 实战 (进度条):用 ProgressBar+Timer 打造动态进度展示功能