zhanggy_zju
驱动牛犊
驱动牛犊
  • 注册日期2003-10-04
  • 最后登录2004-10-15
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1567回复:5

请问关于用C51开发68013固件的问题

楼主#
更多 发布于:2003-10-06 19:57
我用keil C51试着编写68013的固件。
按照这样的步骤:
    在uVision中新建项目文件
    把...\\CYPRESS\\USB\\Target\\Fw\\Fx2的相关文件拷贝到项目目录下。(不包括.hex和.Uv2)
    修改periph.c文件,加入自己的代码。初始化了2个Endpoint。
    接着就是build生成hex文件。
编译通过,没有提示什么错误,但用Control Panel下载hex文件后,根本不能设置68013,是不是我哪里做错了?
    另外,build的时候似乎只是对项目窗口中选中的c文件编译嘛。
    哪位大侠指点一下,谢谢!
    
resource
驱动牛犊
驱动牛犊
  • 注册日期2003-07-18
  • 最后登录2003-10-10
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-10-07 11:19
你的目的是想设置68013的VID、PID。这个设置要在dscr.a51文件中设置
DeviceDscr:  
      db   DSCR_DEVICE_LEN      ;; Descriptor length
      db   DSCR_DEVICE   ;; Decriptor type
      dw   0002H      ;; Specification Version (BCD)
      db   00H        ;; Device class
      db   00H         ;; Device sub-class
      db   00H         ;; Device sub-sub-class
      db   64         ;; Maximum packet size
      dw   4705H      ;; Vendor ID
      dw   0210H      ;; Product ID (Sample Device)
      dw   0000H      ;; Product version ID
      db   1         ;; Manufacturer string index
      db   2         ;; Product string index
      db   0         ;; Serial number string index
      db   1         ;; Number of configurations
zhanggy_zju
驱动牛犊
驱动牛犊
  • 注册日期2003-10-04
  • 最后登录2004-10-15
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-10-08 14:02
抱歉我没有说清楚。
我的问题不是处在vid和pid上。
我用Contral Panel下载自己编译的固件hex文件后。
根本不能读到设备描述符,更不用说其它的描述符了。
但是编译过程并没有提示出错,是不是在用C51建立项目的时候缺少了什么步骤?
谢谢!
abei11
驱动小牛
驱动小牛
  • 注册日期2002-11-14
  • 最后登录2005-06-11
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-10-08 14:19
我觉得可能你没有设置好bl51 locate中code的起始地址!
zhanggy_zju
驱动牛犊
驱动牛犊
  • 注册日期2003-10-04
  • 最后登录2004-10-15
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-10-08 21:28
谢谢abei11,问题确实出在这里。
另外我想问一下,BL51 Locate中的
 code range
 xdata range
在68013中,是不是必须设在8k的Main RAM中,也就是0x0000~0x1fff
的范围内?
而且是随意设置的吗?
谢谢!
jinghuiren
驱动巨牛
驱动巨牛
  • 注册日期2002-06-01
  • 最后登录2008-10-27
  • 粉丝0
  • 关注0
  • 积分291分
  • 威望460点
  • 贡献值0点
  • 好评度428点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2003-10-09 11:13
是可以随意设置的,不过一般情况下那个code range只要稍大于你的代码大小即可,一般情况下代码大小不会超过4k的,而剩余的部分你可以设置为xdata range,例如附件中的设置,前面预留的是给中断向量的存储空间。

游客

返回顶部