0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于Modus ToolBox创建Demo工程以评估USBD模块

冬至子 来源:qinyunti 作者:qinyunti 2023-08-15 15:10 次阅读

模块介绍
参考《Infineon-PSoC6_MCU_CY8C6xx8_CY8C6xxA_Architecture_Technical_Reference_Manual(TRM)-AdditionalTechnicalInformation-v08_00-EN.pdf》的33. Universal Serial Bus (USB) Device Mode
PSoC 6 MCU 提供了一个USB2.0全速设备接口。具备一下特征:

USB2.0全速
8个数据端点和一个控制端点
512B共享FIFO
控制端点专用的8字节存储
支持控制,中断,批量,同步传输
支持总线和自供电
支持USB挂起以降低功耗
支持
DMA,手动DMA模式 最大512字节的包
自动DMA模式 同步传输最大1023自己的包
带22欧终端电阻和1.5k上拉电阻
支持USB2.0 LPM

框图如下

1.jpg

离线模式创建工程
1.安装Modus Toolbox建议从Infineon Developer Center Launcher安装,直接下载的话比较慢。
2.果在线从github拉取,需要配置C:WindowsSystem32driversetchosts后添加一行185.199.108.133 raw.githubusercontent.com 否则会提示不能访问raw.githubusercontent.com
3.如果修改了Modus Toolbox默认安装路径的话需要设置环境变量
CY_TOOLS_PATHS为安装路径D:/ModusToolbox/tools_3.0 注意斜杠方向为左斜杠
4.从以下地址下载离线包,在线git拉取基本都会失败

1.jpg

5.配置离线包
将上述下载内容解压到%USERPROFILE%/.modustoolbox目录下
只有.modustoolbox/offline文件夹,其他之前在线模式已经下载的内容都要删掉。
新建系统环境变量CY_GETLIBS_OFFLINE=true
6.创建工程
离线的方式创建工程

打开Modus ToolBox
File->New->ModusToolbox Applacation->

1.jpg

1.jpg

测试
双击打开
D:BOARDinfineonPSOC62usbUSB_HID_GenericUSB_HID_Generic.cprj

另外需要先安装Cypress.PSoC6_DFP.1.2.0.pack包。

修改设备

1.jpg

Pre_Include_Global.h中注释掉#define CY_SUPPORTS_DEVICE_VALIDATION

#define CY_TARGET_DEVICE CY8C624ABZI_S2D44
改为#define CY_TARGET_DEVICE CY8C624ABZI_S2D44
#define CY_TARGET_DEVICE CY8C624ALQI_S2D42

报以下错误

1.jpg

按如下设置

1.jpg

设置仿真器

1.jpg

1.jpg

1.jpg

下载运行
卡在了WCO初始化

1.jpg

这是因为板子上没有WCO的32.768Khz时钟
所以cycfg_system.c中注释掉//#define CY_CFG_SYSCLK_WCO_ENABLED 1
板子上也没有外接ECO
从手册上看到时钟树,只能使用IMO作为系统时钟源,

1.jpg

修改#define CY_CFG_SYSCLK_CLKBAK_SOURCE CY_SYSCLK_BAK_IN_WCO
为#define CY_CFG_SYSCLK_CLKBAK_SOURCE CY_SYSCLK_BAK_IN_ILO
全部选择IMO作为时钟源

1.jpg

接上USB线到PC,运行程序测试可以看到多了USB输入设备

1.jpg

调试

下载HID调试工具

进入USB-HID-Toolbinwindows目录 右键打开终端
输入./usbhidtool.exe 0x04B4 0xE17E 4 0xDE 0xAD 0xBE 0xEF
其中0x04B4 0xE17E是设备的VID和PID, 发送4个字节给设备(实际发送64字节剩余的补0),设备原样返回收到的数据

1.jpg

以上结合仿真就可以进行调试了。

代码介绍
代码框架如下
使用了usbdev设备驱动

1.jpg

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 驱动器
    +关注

    关注

    52

    文章

    8160

    浏览量

    146029
  • 上拉电阻
    +关注

    关注

    5

    文章

    359

    浏览量

    30573
  • USB接口
    +关注

    关注

    9

    文章

    699

    浏览量

    55574
  • 仿真器
    +关注

    关注

    14

    文章

    1016

    浏览量

    83644
  • MCU控制器
    +关注

    关注

    0

    文章

    27

    浏览量

    6873
收藏 人收藏

    评论

    相关推荐

    MODUS TOOLBOX中获取电容测量值失败了的原因?

    嗨,我正在使用 CYPROTO-062-4343W PSoC6 Wi-Fi BT 原型 KIT_A2G_TC387_MOTORCTR ,我正在尝试编写固件获取电容并通过 UART 发送测量值,但代码在 MODUS TOOLBOX
    发表于 01-18 07:15

    请问KitProg2是否支持加载使用Modus工具箱构建的程序闪存?

    我明白 KitProg3 或更高版本的工具(例如 需要 miniProg4) 才能调试使用 Modus 工具箱创建的项目。 但是,我想使用 KitProg2(例如 miniProg3) 加载程序闪存
    发表于 01-19 06:29

    XMC4400 USBD_VCOM设备描述符请求失败的原因?

    我们正在尝试在 XMC4400 评估板上使用带有 Windows 的虚拟 COM 端口。 基本上我们在DAVE中添加了USBD_VCOM模块,并在主函数中尝试了许多不同的东西,但结果都是一样
    发表于 01-22 08:14

    使用自定义BSP的空项目出现Modus工具箱编译错误的原因?

    Mac OS 发行版下的 ModuStool 盒子里。 正如我在论坛上读到的那样,在Modus Toolbox中重新创建包含所有3个项目的OTA应用程序是另一个挑战,但到目前为止,我想让一个简单
    发表于 01-23 06:32

    可以在Modus工具箱eclipse中使用DAVE™创建的项目吗?

    我们可以将项目(在 IDE 中创建 DAVE™ )使用 Modus 工具箱 eclipse IDE 吗? 如果是,怎么做? 如果不是,为什么不呢?
    发表于 01-26 06:55

    如何使用支持标准蓝牙HCI命令的定制BLE模块(如 DA14531)来代替ModusToolbox支持的蓝牙模块

    如何使用支持标准蓝牙 HCI 命令的定制 BLE 模块(如 DA14531)来代替 Modus Toolbox 支持的蓝牙模块? 我正在使用 Mod
    发表于 06-03 07:05

    DevEco Studio中创建demo工程,Wearable模板为什么无法打开远程模拟器?

    按官方文档,DevEco中创建demo工程,Wearable模板, 无法打开远程模拟器。
    发表于 05-25 15:13

    【英飞凌PSoC 6 RTT开发板试用】+USB测试

    前言本文介绍基于Modus ToolBox自动创建Demo工程,演示HID设备功能,
    发表于 06-16 23:32

    maTlab toolbox(带教程下载)

    maTlab toolbox  (带教程下载):
    发表于 09-03 12:25 224次下载

    Instrument Control Toolbox 2

    The Instrument Control Toolbox lets you communicate with instruments, such as oscilloscopes
    发表于 07-29 17:08 11次下载

    如何创建AXI CDMA Linux用户空间示例应用

    模块框图 Vivado步骤 步骤 1:基于ZCU111 评估创建一个工程,并根据上图中的模块设计完成相应的
    的头像 发表于 09-28 15:31 2499次阅读
    如何<b class='flag-5'>创建</b>AXI CDMA Linux用户空间示例应用

    IP例化和几个基于FPGA芯片实现的Demo工程

    本文接续上一篇《FPGA杂记基础篇》,继续为大家分享IP例化和几个基于FPGA芯片实现的Demo工程。IP例化IP即是一个封装好的模块,集成在相应的开发环境里面,安路的TD软件为例,
    的头像 发表于 12-24 12:58 1264次阅读

    ZM433S M DEMO评估套件原理图

    电子发烧友网站提供《ZM433S M DEMO评估套件原理图.pdf》资料免费下载
    发表于 10-14 14:16 1次下载
    ZM433S M <b class='flag-5'>DEMO</b><b class='flag-5'>评估</b>套件原理图

    如何使用CPK-RA2L1/CPK-RA2E1板创建基于FreeRTOS的CapTouch触摸按键demo工程

    的 CapTouch触摸按键demo工程 下面将介绍如何使用CPK-RA2L1/CPK-RA2E1板创建基于FreeRTOS的CapTouch触摸按键demo
    的头像 发表于 11-22 12:20 1478次阅读

    创建STM32工程模板

     创建一个工程文件夹,并且在文件夹里创建三个文件夹并分别CORE、STM32F10X_LIB、USER命名。
    的头像 发表于 02-10 14:38 1219次阅读
    <b class='flag-5'>创建</b>STM32<b class='flag-5'>工程</b>模板