找回密码
 立即注册
查看: 355|回复: 8

USB 模块 FIFO 的疑问?

[复制链接]
  • 打卡等级:以坛为家I
  • 打卡总天数:312
  • 最近打卡:2025-03-11 13:20:13

54

主题

1327

回帖

5395

积分

荣誉版主

积分
5395
发表于 2024-12-27 06:17:05 | 显示全部楼层 |阅读模式
上次 STC论坛上有个网友, 使用汇编调用 USB库, 发现加入的程序长度超出一定范围, 连接报错.
大家知道, 编译出错的问题, 出错的位置在源码中定位比较准确, 容易排查和解决.
而连接报错的问题, 出错的位置在源码中定位困难, 难以排查和解决.
我直观的认为, STC 的USB库, 有点问题(使用了AX51编译和LX51连接, 内部加入了很多扩展特征),
此库和 C混合编译调用通常不会出问题, 但和汇编混合编译调用, 程序一长容易出问题, 且排查和解决问题难度较大.
所以我推荐其使用 USB 的 C源码 和 ASM汇编 混合编译.


通过不断的反向分析官方 USB库, 和官方的 USB  C源码, 发现一个疑点?
USB 库模块 占用 XRAM 内存, 而 USB  C源码 不占用 XRAM 内存,
大家知道, USB 模块共有 1280 字节的 FIFO, 我的疑问是:
USB 模块的 FIFO, 是独立的 1280 字节? 还是 和 XRAM共用(占据 XRAM 最后1280 字节)?

回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:439
  • 最近打卡:2025-05-09 10:01:19

33

主题

2356

回帖

4886

积分

论坛元老

积分
4886
发表于 2024-12-27 09:16:04 | 显示全部楼层
一点儿拙见,,从那个STC8H2K12U上面的介绍上说,再不使用USB的情况下,这个片子的XRAM有 2.25k,,如果使用USB情况下,就是 1K 。。从这点上能不能推断出 这个FIFO的位置应该就是您说的 占据XRAM最后1280字节?  FIFO和 XRAM中间的地址不连续,,是不是在设置上就要有区别,才能在不使用USB的时候使用全部的2.25K XRAM?

或者说可能这个STC8H2K12U是这样分配的,,其他的不一定是?

点评

关于这一点, 需要官方明确回复. 如占用, 则在使用 USB时, XRAM最后1280字节程序中不能使用. 否则, 程序运行会产生莫明其妙的死机等现像. 像上次 STC论坛上有个网友, 使用汇编调用 USB库, 发现加入的程序长度超出一  详情 回复 发表于 2024-12-28 03:33
参考例程并不是对技术参 考手册的补充,而是对技术参 考手册的解释。
技术参 考手册不应该需要参考例程作为补充,而是解释成了参考例程的样子
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:312
  • 最近打卡:2025-03-11 13:20:13

54

主题

1327

回帖

5395

积分

荣誉版主

积分
5395
发表于 2024-12-28 03:33:14 | 显示全部楼层
_奶*** 发表于 2024-12-27 09:16
一点儿拙见,,从那个STC8H2K12U上面的介绍上说,再不使用USB的情况下,这个片子的XRAM有 2.25k,,如果使 ...

关于这一点, 需要官方明确回复.
如占用, 则在使用 USB时, XRAM最后1280字节程序中不能使用.  否则, 程序运行会产生莫明其妙的死机等现像.
像上次  STC论坛上有个网友, 使用汇编调用 USB库, 发现加入的程序长度超出一定范围, 连接报错现像. 也得到了理论上的解释.
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:439
  • 最近打卡:2025-05-09 10:01:19

33

主题

2356

回帖

4886

积分

论坛元老

积分
4886
发表于 2024-12-28 08:45:43 | 显示全部楼层
LAO*** 发表于 2024-12-28 03:33
关于这一点, 需要官方明确回复.
如占用, 则在使用 USB时, XRAM最后1280字节程序中不能使用.  否则, 程序 ...

是的,  需要官方来解释。。以上确实是我的猜测
参考例程并不是对技术参 考手册的补充,而是对技术参 考手册的解释。
技术参 考手册不应该需要参考例程作为补充,而是解释成了参考例程的样子
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:528
  • 最近打卡:2025-05-09 08:05:09

109

主题

1936

回帖

5364

积分

论坛元老

积分
5364
发表于 2024-12-28 09:23:49 | 显示全部楼层
LAO*** 发表于 2024-12-28 03:33
关于这一点, 需要官方明确回复.
如占用, 则在使用 USB时, XRAM最后1280字节程序中不能使用.  否则, 程序 ...

以前好像在哪里看到过什么USB芯片(也忘记了是不是STC)的手册说,在使用 USB时就是占用XRAM的

点评

不同厂家 USB 占用RAM 的空间位置, 肯定不一样, 像 STC8H2K12U 类低价芯片, 为降低成本, 借用 XRAM, 占据最后1280字节, 完全正常. 但高挡芯片, 就不一定这样干了, 通常的 XRAM, 为降低成本, 速度并不快, 而独立  详情 回复 发表于 2024-12-28 17:58
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:312
  • 最近打卡:2025-03-11 13:20:13

54

主题

1327

回帖

5395

积分

荣誉版主

积分
5395
发表于 2024-12-28 17:58:11 | 显示全部楼层
xxkj*** 发表于 2024-12-28 09:23
以前好像在哪里看到过什么USB芯片(也忘记了是不是STC)的手册说,在使用 USB时就是占用XRAM的 ...

不同厂家 USB 占用RAM 的空间位置, 肯定不一样,

像 STC8H2K12U 类低价芯片, 为降低成本, 借用 XRAM, 占据最后1280字节, 完全正常.  

但高挡芯片, 就不一定这样干了, 通常的 XRAM, 为降低成本, 速度并不快, 而独立的 FIFO, 可采用高速 RAM, 速度更快.
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:528
  • 最近打卡:2025-05-09 08:05:09

109

主题

1936

回帖

5364

积分

论坛元老

积分
5364
发表于 2024-12-28 18:08:08 | 显示全部楼层
LAO*** 发表于 2024-12-28 17:58
不同厂家 USB 占用RAM 的空间位置, 肯定不一样,

像 STC8H2K12U 类低价芯片, 为降低成本, 借用 XRAM, 占 ...

是的,能有独立的 FIFO,那更好!
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:7
  • 最近打卡:2025-04-01 23:18:33

15

主题

139

回帖

987

积分

高级会员

积分
987
发表于 2024-12-28 21:35:29 | 显示全部楼层
最新版的数据手册增加了内容
无标题.png

点评

STC8H2K12U 类低价芯片, 为降低成本, 借用 XRAM, 占据最后1280字节, 完全正常 但其他 带 USB 的芯片, 是否独立的 FIFO ? 还是像 STC8H2K12U 类一样, 借用 XRAM, 占据最后1280字节 ? 希望官方能给一个明确的答复,  详情 回复 发表于 2024-12-29 07:22
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:312
  • 最近打卡:2025-03-11 13:20:13

54

主题

1327

回帖

5395

积分

荣誉版主

积分
5395
发表于 2024-12-29 07:22:46 | 显示全部楼层
hea*** 发表于 2024-12-28 21:35
最新版的数据手册增加了内容

STC8H2K12U 类低价芯片, 为降低成本, 借用 XRAM, 占据最后1280字节, 完全正常

但其他 带 USB 的芯片, 是否独立的 FIFO ?  还是像 STC8H2K12U 类一样, 借用 XRAM, 占据最后1280字节 ?

希望官方能给一个明确的答复, 否则靠猜测, 没法干活.
回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-9 22:30 , Processed in 0.137451 second(s), 116 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表