一、 值得参考的资料:FX2 TechRefManual、USB应用开发宝典、

LabVIEW-USB通信简单教程(用于参考生成labview驱动程序)、USB设备请求和描述符整理(仅用于理解描述符的作用)

二、KEIL软件的配置:

打开project-manage-component,environment,books

选择folders/extentions页将bin,inc,lib和regfile都配置成正确的路径(keil和cypress程序的安装目录下找,有些项含有两种路径中间用;隔开)。

使用KEIL生成IIC文件的方法:

使用cypress提供的hex2bix

打开图1所示界面

勾上run #1并选择下面的路径(cypress软件安装程序中可以找到):D:\cy3684_ez_usb_fx2lp_development_kit_15\bin\Hex2bix -i -f 0xC2 -o sample.iic slavefifo.hex(sample为iic文件名,slavefifo为hex文件名)

-i表示要生成iic文件,-f表示烧写后采用C2方式启动(程序、VID、PID都从EEPROM读取),后面依次是要生成IIC文件的文件名和源文件的文件名,关于其他参数的用法可以参见hex2bix的帮助。

注意:烧写iic文件并不想hex文件那样立即变成固件中描述的设备,而是要拔出USB一下才可以。

三、驱动程序:不同的上位机软件对应不同的驱动程序

四、固件设计:

(1) 自定义用户请求

注意请求号不能和系统请求号冲突

五、Verilog 程序:

注意:1修改VID和PID可修改设备受哪种上位机软件控制。

2注意固件描述符中、load.inf(在cypress安装程序下)、生成驱动过程中VID\PID的不同和相同之处。

3当FIFO数据端口定义为16位时,需要两个字节的十六进制才能体现此时后一个字节为高8位,如读出12 34则此数的值为3412转化为十进制为13330。

注:每次下载完iic文件后必须拔下一次USB接头才会起作用

六、关于CYPRESS内核FX2REGS.H定义了USB中所有的寄存器,但是内核中并没有对PE口进行位定义,需要自己添加

CY7C68013A的一点总结的更多相关文章

  1. 13.首次安装CY7C68013A驱动失败记(结果竟然是这样)

    原文地址:首次安装CY7C68013A驱动失败记(结果竟然是这样)作者:孙茂多 今天把68013A-56焊接在CCD2的CPLD PCB上,配套的EEPROM存储器还没有焊接上,所以想用它试验一下Cy ...

  2. 关于自己写C++的一点风格

    现在,我学了很长时间的C++,但是自己就是无法精通.许多知识是入门书上没有的.现在写C++最重要的就是风格问题. 我现在的C++风格: 把自己所有的东西都放在一个名称空间下. 没有全局的函数,有的函数 ...

  3. 学习AOP之深入一点Spring Aop

    上一篇<学习AOP之认识一下SpringAOP>中大体的了解了代理.动态代理及SpringAop的知识.因为写的篇幅长了点所以还是再写一篇吧.接下来开始深入一点Spring aop的一些实 ...

  4. 一点公益商城开发系统模式Ring Buffer+

    一个队列如果只生产不消费肯定不行的,那么如何及时消费Ring Buffer的数据呢?简单的方案就是当Ring Buffer"写满"的时候一次性将数据"消费"掉. ...

  5. SVM一点心得体会

    支持向量机的学习说是刚刚开始,又不合理,只能说隔了很长的时间再看,终于在分类这块的层面上有了新的认识. 总的来说,支持向量机分为线性支持向量机和非线性支持向量机,线性支持向量机又可以分为硬间隔最大化线 ...

  6. [网站性能1]对.net系统架构改造的一点经验和教训

    文章来源:http://www.admin10000.com/document/2111.html 在互联网行业,基于Unix/Linux的网站系统架构毫无疑问是当今主流的架构解决方案,这不仅仅是因为 ...

  7. 关于js的回调函数的一点看法

    算了一下又有好几个月没写博客了,最近在忙公司android的项目,所以也就很少抽时间来写些东西了.刚闲下来,我就翻了翻之前看的东西.做了android之后更加感觉到手机端开发的重要性,现在做nativ ...

  8. .NET支持多平台后的一点拙见

    我们目前对.NET的理解大部分可以归纳为:起初它是Java平台(注意是平台,不要跟Java语言搞混淆)的一个克隆品,后来慢慢演变,有了自己的特性.由于Java平台最显著的特点就是“平台独立性”(或者说 ...

  9. 每天多一点(2016.12.04)》Javascript隐式转换

    乱想 javascript为什么需要隐式转换?如果没有会出现什么情况? 找了一圈没有看到关于这个的讨论,只好自己研究了,可能不一定正确,自行辨知. 郁闷就是郁闷在好好的,为什么要搞个隐式转换,一般来讲 ...

随机推荐

  1. 游刃于MVC、WCF中的Autofac

    为了程序的健壮性.扩展性.可维护性,依赖抽象而不是具体实现类等等,于是我选择了Autofac依赖注入容器 就是这个工厂来降低耦合.之前买东西是自己去超市,现在呢 我需要什么东西,他们给送过来直接拿到了 ...

  2. UML中的六大关系

    转自:http://www.cnblogs.com/shengtianlong/archive/2010/10/23/1858953.html UML定义的关系主要有六种:依赖.类属.关联.实现.聚合 ...

  3. nodejs mongodb

    27017 nodejs指定vsisual studio版本 npm install mongodb --msvs_version=2013 npm install mongoose --msvs_v ...

  4. C# Windows - 创建控件

    VS提供了一个项目类型Windows Control Library,使用它可以创建自己的控件. 可以开发两种不同类型的自定义控件: 用户或组合控件:这种控件是根据现有控件的功能创建一个新控件.这类控 ...

  5. bnuoj 25659 A Famous City (单调栈)

    http://www.bnuoj.com/bnuoj/problem_show.php?pid=25659 #include <iostream> #include <stdio.h ...

  6. netbeans设置字体

    选择 monospaced 字体 摘抄自:http://blog.sina.com.cn/s/blog_4b6047bc01000boz.html 今天看该文档时,突然意识到通过修改JRE的字体配置文 ...

  7. 2013 Asia Regional Changchun

    Hard Code http://acm.hdu.edu.cn/showproblem.php?pid=4813 #include<cstdio> ]; int main(){ int t ...

  8. vc6命令行编译工程方法

    查vc++ 6.0 的 msdn找到下面的命令: msdev FileName [/MAKE "ProjectName – ConfigName | ALL"] [/REBUILD ...

  9. 关于nginx限制IP或IP段的问题2011

    关于nginx限制IP或IP段的问题2011-04-08 16:46:39 分类: LINUX 最近有同事问需要在nginx中针对一些IP和IP段限制访问,通过了解以下方法可以解决问题:   首先建立 ...

  10. 【面试题001-补充】C++ MyString类的封装

    [面试题001-补充]C++ MyString类的封装  一,C++ MyString类的封装 String.h: 123456789101112131415161718192021222324252 ...