OpenEdv-开源电子网

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

基于freertos在开发板RT1052上枚举USB设备时无法触发中断

[复制链接]

4

主题

14

帖子

0

精华

初级会员

Rank: 2

积分
114
金钱
114
注册时间
2018-8-6
在线时间
13 小时
发表于 2018-9-27 11:21:02 | 显示全部楼层 |阅读模式
1金钱
开发板:NXP IMXRT1052-EVKB
我用nxp官方sdk里面的基于freertos的USB样例时,枚举USB设备正常。可是我把它移植到我自己的工程里面去,就枚举不正常。单步调试后发现中断是有进入,但是它始终没有进入:USB_OsaEventSet函数,
if ((interruptStatus & USBHS_USBSTS_UI_MASK) || (interruptStatus & USBHS_USBSTS_UEI_MASK)) /* USB interrupt or USB error interrupt */
        {
            USB_OsaEventSet(ehciInstance->taskEventHandle, EHCI_TASK_EVENT_TRANSACTION_DONE);
        }

这是为什么呢???
我的工程已经包含了freertos,lwip,fatfs,emwin,sdcard。
我反复看了官方的USB样例,发现没有配置USB的相关IO口,就初始化了寄存器,然后我也是把整个USB相关的文件都移植到我自己的工程里面,可是整合后就是枚举不成功。单步调试后发现就是上面所说的,没有进入USB_OsaEventSet函数,请问有人知道怎么解决吗???谢谢
微信图片_20180927105355.png

最佳答案

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

哈哈哈,,,蹲了个厕所回来就想明白了。。。已经可以了。。谢谢咯!!!
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

4

主题

14

帖子

0

精华

初级会员

Rank: 2

积分
114
金钱
114
注册时间
2018-8-6
在线时间
13 小时
 楼主| 发表于 2018-9-27 11:21:03 | 显示全部楼层
touchzou 发表于 2018-9-29 16:57
重新定义内存段,EMWIN所需要的内存单独放置在sdram即可。检查SDRAM驱动是否正常,建议使用DCD参数控制SDRA ...

微信图片_20180929204343.png
哈哈哈,,,蹲了个厕所回来就想明白了。。。已经可以了。。谢谢咯!!!
回复

使用道具 举报

558

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
164897
金钱
164897
注册时间
2010-12-1
在线时间
2100 小时
发表于 2018-9-28 02:01:33 | 显示全部楼层
帮顶
回复

使用道具 举报

0

主题

109

帖子

0

精华

初级会员

Rank: 2

积分
167
金钱
167
注册时间
2018-9-2
在线时间
8 小时
发表于 2018-9-28 07:38:21 | 显示全部楼层
这是什么问题楼主,可以说一下吗
回复

使用道具 举报

4

主题

14

帖子

0

精华

初级会员

Rank: 2

积分
114
金钱
114
注册时间
2018-8-6
在线时间
13 小时
 楼主| 发表于 2018-9-29 11:28:42 | 显示全部楼层
这个问题又有进一步发现,就是官方SDK里面的USB样例用的分散加载文件 跟我自己工程里面的分散加载文件不一样。我交换分散加载文件后,我自己的工程也可以枚举USB设备了,但是emwin又不能用了,所以我估计要在分散加载文件这里动手脚,才能兼容USB和emwin 微信图片_20180929112351.png 微信图片_20180929112401.png
这个分散加载文件有什么用,它是根据什么来编写的??有大神知道吗?谢谢
回复

使用道具 举报

4

主题

14

帖子

0

精华

初级会员

Rank: 2

积分
114
金钱
114
注册时间
2018-8-6
在线时间
13 小时
 楼主| 发表于 2018-9-29 16:45:50 | 显示全部楼层
进一步追踪这个问题发现如下现象:
#define m_data_start                   0x20000000
#define m_data_size                    0x00020000
把data地址设置在DTCM里面,USB枚举设备就正常。但是把它改成下面地址
#define m_data_start                   0x80000000
#define m_data_size                    0x01E00000
把data地址设置在SDRAM外部存储,USB枚举设备就不正常。这是为什么??
因为我要用到emwin,所以data就设置在SDRAM里面。
回复

使用道具 举报

1

主题

10

帖子

0

精华

初级会员

Rank: 2

积分
168
金钱
168
注册时间
2015-11-12
在线时间
28 小时
发表于 2018-9-29 16:57:05 | 显示全部楼层
本帖最后由 touchzou 于 2018-9-29 17:01 编辑

重新定义内存段,EMWIN所需要的内存单独放置在sdram即可。检查SDRAM驱动是否正常,建议使用DCD参数控制SDRAM,这样启动后无需再次初始化SDRAM,可以直接进行访问。系统启动后有很多的变量只能放置在DTCM里面,工程的基础部分不要改动,很容易出问题。
回复

使用道具 举报

4

主题

14

帖子

0

精华

初级会员

Rank: 2

积分
114
金钱
114
注册时间
2018-8-6
在线时间
13 小时
 楼主| 发表于 2018-9-29 19:42:35 | 显示全部楼层
touchzou 发表于 2018-9-29 16:57
重新定义内存段,EMWIN所需要的内存单独放置在sdram即可。检查SDRAM驱动是否正常,建议使用DCD参数控制SDRA ...

我自己的工程目前存储器分配如下:
#define m_flash_config_start           0x60000000
#define m_flash_config_size            0x00001000

#define m_ivt_start                    0x60001000
#define m_ivt_size                     0x00001000

#define m_interrupts_start             0x60002000
#define m_interrupts_size              0x00000400

#define m_text_start                   0x60002400
#define m_text_size                    0x03FFDC00

#define m_data_start                   0x80000000
#define m_data_size                    0x01E00000

#define m_ncache_start                 0x81E00000
#define m_ncache_size                  0x00200000

#define m_data2_start                  0x20000000
#define m_data2_size                   0x00020000

#define m_data3_start                  0x20200000
#define m_data3_size                   0x00040000

然后我想data2已经设置在DTCM里面了,是不是只要把它放在执行域里面就可以了。可是我编译报错: 微信图片_20180929193748.png
Error: L6261E: Multiple execution regions with the same name (RW_m_data) are not allowed.
不能有两个RW_m_data。。
可以再详细跟我说说怎么弄存储器分配文件吗??谢谢。


回复

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
12
金钱
12
注册时间
2018-11-10
在线时间
3 小时
发表于 2018-12-3 11:15:26 | 显示全部楼层
lufeifei 发表于 2018-9-29 19:42
我自己的工程目前存储器分配如下:
#define m_flash_config_start           0x60000000
#define m_fla ...

解决了吗?
我这边提示是
请求 USB 设备描述符失败。

回复

使用道具 举报

8

主题

25

帖子

0

精华

初级会员

Rank: 2

积分
134
金钱
134
注册时间
2020-7-13
在线时间
30 小时
发表于 2021-6-18 17:52:58 | 显示全部楼层
楼主能分想一下吗?我也遇到这个问题,移植rt_thread失败,请问是分散文件的问题吗?
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-5-29 06:48

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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