OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4658|回复: 3

[求助] IMXRT1052-USB VCP 在 OCRAM 中无法识别

[复制链接]

1

主题

6

帖子

0

精华

新手入门

积分
17
金钱
17
注册时间
2019-6-5
在线时间
3 小时
发表于 2019-8-30 11:35:05 | 显示全部楼层 |阅读模式
1金钱
为啥原子哥的VCP代码,数据在OCRAM里,可以正常跑,官方的SDK就不行呢???
求助!!!
问题:
在官方的SDK DEMO中 ,分散加载文件里的DATA段都是放在DTCM里,VCP的DEMO是正常可以运行的;
我把m_data_start 地址修改到OCRAM里去,即0x2020_0000里,发现VCP就不能被PC识别到驱动了,经过调试发现,在pc获取设备描述符的时候,1052获取到PC的数据描述符setup请求 usb ehci qh setupBuffer 中的数据变成0x00000000 0x00000000了,而正常放在dtcm里的时候,数据是正常的 0x01000680 0x00400000。很是奇怪啊!!!
疑问:
1、我直接下载正点原子的VCP代码也是可以用的!他的数据区也是放在OCRAM里!!!,不知道他在其他地方有什么改动没有?
2、感觉和DMA有什么关系一样!猜测如果USB EHCI 的数据是直接通过DMA方式放到 QH里,那么DMA应该是在OCRAM里正常跑而不是DTCM里正常跑啊!现在结果却相反了!
3、在调试串口DMA也发现了类似的问题!!!按道理说DMA的noncache 区域应该放在OCRAM里,IMXRT芯片手册说了,只有OCRAM区域才能被正常被外设访问!!!

最佳答案

查看完整内容[请看2#楼]

终于找到原因了! 在野火论坛上的一个帖子给了我提示,谢谢这位哥们儿!!! 我对比了官方SDK和原子哥代码的MPU配置,发现在配置OCRAM区域时有所不同!!! 官方的如下 /* Region 6 setting: Memory with Normal type, not shareable, outer/inner write back */ MPU->RBAR = ARM_MPU_RBAR(6, 0x20200000U); MPU->RASR = ARM_MPU_RASR(0, ARM_MPU_AP_FULL, 0, 0, 1, 1, 0, ARM_MPU_REGION_SIZE_256KB); 原子哥的如下 M ...
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

1

主题

6

帖子

0

精华

新手入门

积分
17
金钱
17
注册时间
2019-6-5
在线时间
3 小时
 楼主| 发表于 2019-8-30 11:35:06 | 显示全部楼层
本帖最后由 jingjin221 于 2019-9-6 11:08 编辑

终于找到原因了!
在野火论坛上的一个帖子给了我提示,谢谢这位哥们儿!!!
我对比了官方SDK和原子哥代码的MPU配置,发现在配置OCRAM区域时有所不同!!!
官方的如下
    /* Region 6 setting: Memory with Normal type, not shareable, outer/inner write back */
MPU->RBAR = ARM_MPU_RBAR(6, 0x20200000U);
MPU->RASR = ARM_MPU_RASR(0, ARM_MPU_AP_FULL, 0, 0, 1, 1, 0, ARM_MPU_REGION_SIZE_256KB);
原子哥的如下
MPU->RBAR=ARM_MPU_RBAR(6,0X20200000);                        //region 6,起始地址0X2020 0000,OCRAM首地址,相同地址段设置,region大的覆盖小的
MPU->RASR=ARM_MPU_RASR(0,ARM_MPU_AP_FULL,0,1,1,0,0,ARM_MPU_REGION_SIZE_256KB);        //可执行,全访问,写回,允许共享,允许cache,禁止缓存,禁止子region,256KB大小

此处不同的有属性有 “允许共享” 和 “是否缓存”

最后验证出,问题就是出在 共享这个属性上!!!把OCRAM的共享属性给使能就OK了!!!
具体原因后面再查文档!!!
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165353
金钱
165353
注册时间
2010-12-1
在线时间
2108 小时
发表于 2019-8-31 02:18:50 | 显示全部楼层
帮顶
回复

使用道具 举报

1

主题

6

帖子

0

精华

新手入门

积分
17
金钱
17
注册时间
2019-6-5
在线时间
3 小时
 楼主| 发表于 2019-9-6 10:10:56 | 显示全部楼层
别沉下去啊!!!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-25 11:42

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表