mushy
驱动牛犊
驱动牛犊
  • 注册日期2001-07-30
  • 最后登录2004-06-29
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:2349回复:12

请教各位大虾:EZUSB的firmware如何修改?

楼主#
更多 发布于:2001-10-25 08:33
在EZ-USB自带的例程中,有两个example是带了FW.C的,我都看了一下结果是一样的!不一样的是PERIPH.C和DSCR.A51,这两个例子分别是关于bulk何iso传输的。看了这么久却依然不知道如何修改fw.c为自己的固件,看不懂前面所述的程序之间是如何联系的!还请sunkai、usb11老斑竹rayyang2000等高人指点一二!先谢过了!

最新喜欢:

LonghaiLongha...
共同学习,一块进步 勤学,多问,善于思考
cherry
驱动小牛
驱动小牛
  • 注册日期2001-11-28
  • 最后登录2006-03-02
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2001-11-29 16:50
那些中断函数是留给你自己填的,以实现你所要求的功能。
Longhai
驱动牛犊
驱动牛犊
  • 注册日期2001-11-27
  • 最后登录2002-01-26
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2001-11-29 15:41
......
void ISR_Ep0in(void) interrupt 0
{
}
void ISR_Ep0out(void) interrupt 0
{
}
void ISR_Ep1in(void) interrupt 0
{
}
......

在PERIPH.C里,上面的中断函数是什么意思啊?为什么都是空的,而且都是interrupt 0? 唉,有太多的不明白了,那位大侠能耐心一点把以上的诸多问题都一一讲解一下呀?在此小的向你们磕头了. :D :D :D
山重水复疑无路.
algafly
驱动牛犊
驱动牛犊
  • 注册日期2001-11-27
  • 最后登录2018-05-29
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望10点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
  • 社区居民
地板#
发布于:2001-11-29 11:02
你要想修改obj和lib文件,恐怕要重新看一下编译原理,lib的源文件好像就在hardware的目录下吧!
我对那个firmware的感受是:它只提供了对usb中断的相应支持,对于其他的象int0,int1都没有支持,你需要在fw。c中修改,还有如果你用gpif的话,还要插入gpif的初始化等东西。
如果说的不对,请大家改正!!!
Longhai
驱动牛犊
驱动牛犊
  • 注册日期2001-11-27
  • 最后登录2002-01-26
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2001-11-29 10:01
听了以上诸位高手的辩论,我也有mushy的那种感觉和困惑,甚至比他还甚,比如,那个LIB和OBJ文件是怎么得来的?在写我自己的FIRMWARE时,这两个文件也要加进去吗?如果需要的话,还要不要修改为自己的LIB和OBJ文件?怎样修改?

我是笨一点:(,各位高手就耐心一点了:)。
山重水复疑无路.
cherry
驱动小牛
驱动小牛
  • 注册日期2001-11-28
  • 最后登录2006-03-02
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2001-11-28 22:15
fanwei7,你说的“有一篇关于如何使用固件得文档............”在哪个网站呀?我想看一看,谢了先!
mushy
驱动牛犊
驱动牛犊
  • 注册日期2001-07-30
  • 最后登录2004-06-29
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2001-10-26 12:08
[QUOTE]原本由 fanwei7 发表
[B]有一篇关于如何使用固件得文档,你可以从网上当下来。

另外,这个固件程序给出了很多函数原型,主要是提供给用户修改。 [/B][/QUOTE]

不知道你说的是不是:Anchor EZ-USB Frameworks?
函数原型在哪儿可以找到呀?example里很少呀,只有两个firmware好象!~:(
哪儿可以下其他的例子呀?
还清指教
共同学习,一块进步 勤学,多问,善于思考
fanwei7
驱动牛犊
驱动牛犊
  • 注册日期2001-06-26
  • 最后登录2002-03-16
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2001-10-26 09:02
有一篇关于如何使用固件得文档,你可以从网上当下来。

另外,这个固件程序给出了很多函数原型,主要是提供给用户修改。
共享的资源才能更快的提高
mushy
驱动牛犊
驱动牛犊
  • 注册日期2001-07-30
  • 最后登录2004-06-29
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2001-10-25 19:18
[QUOTE]原本由 sunkai 发表
[B]cpress为2100开发板提供了一个C的FIRMARE框架工程,在默认安装路径下\Cypress\USB\Target\Fw。其他的C例子都是在它的基础了做出的。工程中有fw.c,feriph.c,dscr.a51三个代码文件,另外有一个LIB文件,一个OBJ文件。fw.c几乎根本不用修改,所以你看到都是一样的。feriph.c是功能部分,不用的端点功能当然不一样,dscr.a51是设备描述符文件,不用的设备有不用的描述。这5个文件加上工程描述文件才完整。 [/B][/QUOTE]

首先感谢各位大虾热心的回答!尤其感谢sunkai老兄回答的这么详细!我现在有种豁然开朗的感觉,不过还有一点疑惑就是:在periph.c里有一段代码是写的“可以被USB的中断jump table”调用的,不知道哪儿可以找到这个表?我只在开发手册的第6章看到一小段,而且这些中断是通过判断什么而引起的我也不甚了了!~:(
void ISR_Sof(void) interrupt 0是此段中的一个函数吧?但是函数的声明后的vinterrupt 0是什么意思呢?在firmware中没有发现有这个函数被调用的!所以我自己猜想可能是某个积存器发生变化会调用这段代码,但究竟是什么时候调用哪个,我应该在中断表里找吧?不知道这样理解对不对?还有在fw.c里有许多没有声明的东东(看上去象函数,但却没有定义过),也不知道是什么?比如:EZUSB_SET_EP_BYTES(IN)BUF_ID,min(len,64)),
SETUPDAT[3]之类的又是什么东东?ft,看的我头都大了!~:(
还望各位大虾帮小弟指点迷津,解围呀!!!!!


fuzi,你好,EZUSB是塞普拉斯(cypress)公司的USB的开发套间,它里面集成了一个增强的8051处理器。想知道更具体的情况请访问它们的主页  http://www.cypress.com
共同学习,一块进步 勤学,多问,善于思考
sunkai
驱动中牛
驱动中牛
  • 注册日期2002-12-31
  • 最后登录
  • 粉丝1
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2001-10-25 12:56
cpress为2100开发板提供了一个C的FIRMARE框架工程,在默认安装路径下\Cypress\USB\Target\Fw。其他的C例子都是在它的基础了做出的。工程中有fw.c,feriph.c,dscr.a51三个代码文件,另外有一个LIB文件,一个OBJ文件。fw.c几乎根本不用修改,所以你看到都是一样的。feriph.c是功能部分,不用的端点功能当然不一样,dscr.a51是设备描述符文件,不用的设备有不用的描述。这5个文件加上工程描述文件才完整。
飞天猩猩
驱动巨牛
驱动巨牛
  • 注册日期2001-09-24
  • 最后登录2008-06-17
  • 粉丝0
  • 关注0
  • 积分201分
  • 威望22点
  • 贡献值0点
  • 好评度21点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2001-10-25 12:35
[QUOTE]原本由 fuzi 发表
[B]我很菜,请问EZUSB是什么? [/B][/QUOTE]
你真的很菜。本站开发了EZUSB,你居然不知道。
fuzi
驱动牛犊
驱动牛犊
  • 注册日期2001-09-12
  • 最后登录
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2001-10-25 12:19
我很菜,请问EZUSB是什么?
fuzi
yangsz
驱动牛犊
驱动牛犊
  • 注册日期2001-10-10
  • 最后登录
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2001-10-25 10:21
fw.c基本不用改,就只要在periph.c中改就好了,整个工程合起来才是一个完整的firmware.
游客

返回顶部