查看: 3572|回复: 3

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

[复制链接]
  • TA的每日心情

    2018-9-27 19:13
  • 签到天数: 13 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    2

    主题

    21

    帖子

    0

    注册会员

    Rank: 2

    积分
    85
    最后登录
    2020-7-14
    发表于 2018-9-27 11:10:55 | 显示全部楼层 |阅读模式
    开发板: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
    学习imxrt1050打卡
    回复

    使用道具 举报

  • TA的每日心情

    2018-9-27 19:13
  • 签到天数: 13 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    2

    主题

    21

    帖子

    0

    注册会员

    Rank: 2

    积分
    85
    最后登录
    2020-7-14
     楼主| 发表于 2018-9-29 11:45:15 | 显示全部楼层
    这个问题又有进一步发现,就是官方SDK里面的USB样例用的分散加载文件 跟我自己工程里面的分散加载文件不一样。我交换分散加载文件后,我自己的工程也可以枚举USB设备了,但是emwin又不能用了,所以我估计要在分散加载文件这里动手脚,才能兼容USB和emwin 微信图片_20180929112351.png 微信图片_20180929112401.png
    这个分散加载文件有什么用,它是根据什么来编写的??有大神知道吗?谢谢
    学习imxrt1050打卡
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2018-9-27 19:13
  • 签到天数: 13 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    2

    主题

    21

    帖子

    0

    注册会员

    Rank: 2

    积分
    85
    最后登录
    2020-7-14
     楼主| 发表于 2018-9-29 16:46:55 | 显示全部楼层

    进一步追踪这个问题发现如下现象:
    #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里面。
    学习imxrt1050打卡
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    712

    主题

    6371

    帖子

    0

    超级版主

    Rank: 8Rank: 8

    积分
    24858
    最后登录
    2025-7-17
    发表于 2018-10-19 16:45:38 | 显示全部楼层
    理论上,不应该有这样奇怪的问题的。
    你这样测试一下试试:
    是XIP模式,在Hyper flash上运行,不通过SDRAM和DTCM。如果OK,这个模式也可以用emWin.
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-7-18 18:24 , Processed in 0.089914 second(s), 23 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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