zj0127
驱动牛犊
驱动牛犊
  • 注册日期2004-02-19
  • 最后登录2007-10-17
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
阅读:1662回复:10

请教cy68013一个简单问题,

楼主#
更多 发布于:2004-04-28 09:45
我在看CY例程的固件程序,其中fw.c写到有                    if ((WORD)&DeviceDscr & 0xe000)  应该是取结构体DeviceDscr的地址与0xe000相与。我不太明白设备描述符DeviceDscr结构体是从RAM地址的0xe000开始存放的?查了些资料也没有弄清楚,请大虾们赐教!
zj0127
驱动牛犊
驱动牛犊
  • 注册日期2004-02-19
  • 最后登录2007-10-17
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-04-28 10:34
顶一下,要不快找不见了。
SUNSHANGXIN
驱动老牛
驱动老牛
  • 注册日期2002-11-19
  • 最后登录2009-08-01
  • 粉丝0
  • 关注0
  • 积分21分
  • 威望19点
  • 贡献值0点
  • 好评度9点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-04-28 10:41
我郁闷 顺便帮你顶一下 :( :( :(
[b]苍白的,不是文字,是人的思想 虚伪的,不是网络,是人的灵魂 伤心的,不是爱情,是人的心灵 难忘的,不是容貌,是人的思诀 黎明的曙光早已不见了夕日的辉煌 东方的日出早就失去了往日的灿烂 而我也尽脱了昨日的笑容去迎接明天的枯涩 [/b]
zj0127
驱动牛犊
驱动牛犊
  • 注册日期2004-02-19
  • 最后登录2007-10-17
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-04-28 14:07
谁能帮帮我呀,指点我???小生不胜感激.
arthurcao
驱动小牛
驱动小牛
  • 注册日期2003-10-12
  • 最后登录2012-07-08
  • 粉丝0
  • 关注0
  • 积分92分
  • 威望20点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2004-04-29 10:21
关注中。。。。。
arthurcao喜欢开源。
valenhsu
驱动牛犊
驱动牛犊
  • 注册日期2002-12-20
  • 最后登录2005-04-22
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2004-04-29 13:15
提示你一下:

if ((WORD)&DeviceDscr & 0xe000)的意思是判断DeviceDscr是否位于大于0xe000的地址空间,而这正是外部数据空间
zj0127
驱动牛犊
驱动牛犊
  • 注册日期2004-02-19
  • 最后登录2007-10-17
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2004-04-29 14:30
我注意到从0xe000开始为data Ram,但if ((WORD)&DeviceDscr & 0xe000)的意思是判断DeviceDscr的地址一定在0xe000。在fx2.h中它的前面还有DSCR结构体,我是想C中应该是顺序存放自定义的变量吧,那么它也不应该在地址0xe000吧?
 :(郁闷呀,请踊跃发言!谢谢
upstar
驱动牛犊
驱动牛犊
  • 注册日期2004-04-20
  • 最后登录2005-02-02
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2004-04-29 14:37
用SUDPTRH:L指向描速表首地址的时候,设备描述必须保存在片内的8K以内,所以假如描述表保存在0xE000以外的地址就必须移动到8K以内。这段代码就是这个作用。

[编辑 -  4/29/04 by  upstar]
zj0127
驱动牛犊
驱动牛犊
  • 注册日期2004-02-19
  • 最后登录2007-10-17
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2004-04-29 14:53
感谢upstar,但好像没有说明白为什么自举前DeviceDscr的地址一定在0xe000。
upstar
驱动牛犊
驱动牛犊
  • 注册日期2004-04-20
  • 最后登录2005-02-02
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2004-04-29 15:36
上面这个IF语句的判断,不是说正好就在0xe000而是说地址大于0xe000。
zj0127
驱动牛犊
驱动牛犊
  • 注册日期2004-02-19
  • 最后登录2007-10-17
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2004-04-29 16:27
upstar说得有道理,谢谢upstar。
游客

返回顶部