iolinux
驱动牛犊
驱动牛犊
  • 注册日期2005-05-12
  • 最后登录2005-08-07
  • 粉丝0
  • 关注0
  • 积分17分
  • 威望4点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1599回复:2

求助Cypress芯片驱动问题!20分!

楼主#
更多 发布于:2005-05-23 16:59
在《USB2.0原理与工程开发》一书的chap16/loader/文件夹(该文件夹存放的是驱动程序)下的loader.c和tagtest.c文件中都有下述定义:
INTEL_HEX_RECORD loader[] = {
16,
0x146c,
0,
{0xc2,0x00,0x90,0x7f,0xa5,0xe0,0x54,0x18,0xff,0x13,0x13,0x13,0x54,0x1f,0x44,0x50},
16,
0x147c,
0,。。。。。。。
INTEL_HEX_RECORD firmware[] = {
16,
0x420,
0,
{0xe4,0xf5,0x0b,0xf5,0x0a,0xf5,0x09,0xf5,0x08,0xc2,0x03,0xc2,0x00,0xd2,0x02,0xc2},
16,
0x430,
0,。。。。。。。
在Cypress公司给出的源代码里面也有这些东西。这些干什么用的,通过分析源程序我比较清楚,如下:
extern INTEL_HEX_RECORD firmware[];
NTSTATUS Ezusb_DownloadIntelHex(
   PDEVICE_OBJECT fdo,
   PINTEL_HEX_RECORD hexRecord
   )
我想请问的是,INTEL_HEX_RECORD loader[] =后面的数据怎么得来的?前面的loader[]我不清楚怎么得来的。后面的firmware[],我感觉应该是根据固件写出来的,可是我编译了固件,却不一样。我想请问这些是怎么得到的?能不能告诉我相关的参考书?多谢啦!



yoursjohn
驱动牛犊
驱动牛犊
  • 注册日期2004-10-18
  • 最后登录2006-02-02
  • 粉丝0
  • 关注0
  • 积分17分
  • 威望3点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2005-05-23 20:59
1.固件由keilc编写假如生成文件为bulk.hex
2.利用cypress的hex2c工具将其转换为c文件,假设命名为firmware.c
3。利用cypress的ezloader驱动包中的驱动文件夹,将其firmware.c文件用2步生成的firmware.c替换(别忘了加上以前的包含文件),利用DDK编译即可生成所需要的下载固件驱动 详细的可以进一步讨论
iolinux
驱动牛犊
驱动牛犊
  • 注册日期2005-05-12
  • 最后登录2005-08-07
  • 粉丝0
  • 关注0
  • 积分17分
  • 威望4点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2005-05-23 21:40
多谢啦。我的QQ:466194205。希望我们进一步讨论!
游客

返回顶部