搜索
bottom↓
回复: 180
打印 上一主题 下一主题

【开源】万能 SPI Flash 驱动库 SFUD 正式发布

  [复制链接]

出0入198汤圆

跳转到指定楼层
1
发表于 2016-7-26 21:27:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 sunnydragon 于 2016-7-26 21:27 编辑

SFUD (Serial Flash Universal Driver) 串行 Flash 通用驱动库
0、SFUD 是什么

SFUD 是一款开源的串行 SPI Flash 通用驱动库。由于现有市面的串行 Flash 种类居多,各个 Flash 的规格及命令存在差异, SFUD 就是为了解决这些 Flash 的差异现状而设计,让我们的产品能够支持不同品牌及规格的 Flash,提高了涉及到 Flash 功能的软件的可重用性及可扩展性,同时也可以规避 Flash 缺货或停产给产品所带来的风险。

  • 主要特点:面向对象(同时支持多个 Flash 对象)、可灵活裁剪、扩展性强、支持 4 字节地址
  • 资源占用

    • 标准占用:RAM:0.2KB ROM:5.5KB
    • 最小占用:RAM:0.1KB ROM:3.6KB

  • 设计思路:这里要首先跟大家介绍一个标准: SFDP ,它是 JEDEC (固态技术协会)制定的串行 Flash 功能的参数表标准,最新版 V1.6B (点击这里查看)。该标准规定了,每个 Flash 中会存在一个参数表,该表中会存放 Flash 容量、写粗粒度、擦除命令、地址模式等 Flash 规格参数。目前,除了部分厂家旧款 Flash 型号会不支持该标准,其他绝大多数新出厂的 Flash 均已支持 SFDP 标准。所以该库在初始化时会优先读取 SFDP 表参数,如果该 Flash 不支持 SFDP,则查询配置文件 ( /sfud/inc/sfud_flash_def.h ) 中提供的 Flash 参数信息表 中是否支持该款 Flash。如果不支持,则可以在配置文件中添加该款 Flash 的参数信息(添加方法详细见 2.5 添加库目前不支持的 Flash)。获取到了 Flash 的规格参数后,就可以实现对 Flash 的全部操作。


1、为什么选择 SFUD
  • 避免项目因 Flash 缺货、Flash 停产或产品扩容而带来的风险;
  • 越来越多的项目将固件存储到串行 Flash 中,例如:ESP8266 的固件、主板中的 BIOS 及其他常见电子产品中的固件等等,但是各种 Flash 规格及命令不统一。使用 SFUD 即可避免,在相同功能的软件平台基础下,无法适配不同 Flash 种类的硬件平台的问题,提高软件的可重用性;
  • 简化软件流程,降低开发难度。现在只需要配置好 SPI 通信,即可畅快的开始玩串行 Flash 了;
  • 可以用来制作 Flash 编程器/烧写器



2、SFUD 如何使用
2.1 已支持 Flash

下表为所有在 Demo 平台上进行过真机测试的 Flash。目前 SFUD 提供的 Flash 参数信息表 只包括下表中 不支持 SFDP 标准的 Flash,其他不支持 SFDP 标准的 Flash 需要大家以后 共同来完善和维护 (Github|OSChina|Coding) 。如果觉得这个开源项目很赞,可以点击 项目主页 右上角的 Star ,同时把它推荐给更多有需要的朋友。

[td]
型号
制造商
容量
最高速度
SFDP
备注
Winbond
4Mb
50Mhz
不支持
已停产
Winbond
8Mb
104Mhz
支持

Winbond
16Mb
104Mhz
支持

Winbond
32Mb
104Mhz
支持

Winbond
64Mb
80Mhz
支持

Winbond
128Mb
104Mhz
支持

Macronix
32Mb
86MHz
支持

Macronix
32Mb
86Mhz
支持

Microchip
16Mb
50MHz
不支持
SST 已被 Microchip 收购
Micron
32Mb
75Mhz
不支持

EON
32Mb
104MHz
不支持

GigaDevice
64Mb
120Mhz
不支持

Cypress
16Mb
65Mhz
不支持

AMIC
64Mb
104Mhz
支持

AMIC
8Mb
100Mhz
不支持

ESMT
4Mb
100Mhz
不支持

PCT
16Mb
80Mhz
不支持
SST 授权许可,会被识别为 SST25VF016B
ADESTO
16Mb
85MHz
不支持
ADESTO 收购 Atmel 串行闪存产品线
更多 API 说明 及 配置方法详见源码中的说明文档及 https://github.com/armink/SFUD

目前以支持如下平台下的 Demo

路径
平台描述
STM32F10X 裸机平台
STM32F2XX + RT-Thread 操作系统平台

项目采用 MIT 开源协议


再晒几张这些日子测试环境的图片:

ART-WiFi 开发板及 Flash 测试座。在这里要感谢 RT-Thread 开发团队提供的 ART-WiFi 开发板。


Flash 全家福。为了保证库的通用性及测试覆盖率,选购了尽可能多的各种品牌及型号的 SPI Flash。


全系列华邦 SPI Flash 模块


本坛下载:

最新版请关注 GitHub :https://github.com/armink/SFUD



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入198汤圆

来自 2楼
 楼主| 发表于 2016-8-28 23:03:15 | 只看该作者
最近对软件主要做了以下两项更新,强烈建议大家将核心源码更新下。

1、【修复】采用 SFDP 参数在某些条件下,擦除命令选择不合适的问题;
2、【增加】全片擦除方法。

更多信息详见:

GitHub:https://github.com/armink/SFUD
OSChina:http://git.oschina.net/Armink/SFUD
Coding:https://coding.net/u/armink/p/SFUD/git

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

3
发表于 2016-7-26 21:32:13 | 只看该作者
感谢楼主的开源,现在还用不到,但学习一下

出0入8汤圆

4
发表于 2016-7-26 21:32:44 | 只看该作者
搬沙发来支持LZ,谢谢LZ的分享!

出0入0汤圆

5
发表于 2016-7-26 21:35:25 | 只看该作者
mark
fork
tk

出0入0汤圆

6
发表于 2016-7-26 21:37:56 来自手机 | 只看该作者
谢谢分享

出0入0汤圆

7
发表于 2016-7-26 21:47:06 | 只看该作者
使用过楼主的Easyflash;非常好用!

出0入0汤圆

8
发表于 2016-7-26 21:47:19 | 只看该作者
非常好,有没有SDRAM的驱动库呀

出0入0汤圆

9
发表于 2016-7-26 21:50:48 来自手机 | 只看该作者
支持开源

出0入22汤圆

10
发表于 2016-7-26 21:52:22 来自手机 | 只看该作者
关注一个,最近可能要用到。

出0入0汤圆

11
发表于 2016-7-26 21:52:23 | 只看该作者
非常感谢楼主分享,敬佩

出0入0汤圆

12
发表于 2016-7-26 22:18:11 | 只看该作者
好项目,感谢楼主

出0入0汤圆

13
发表于 2016-7-26 22:22:52 | 只看该作者
差距好大,每次LZ 开源,都是新知识,发现LZ面好广

出0入0汤圆

14
发表于 2016-7-26 22:52:03 | 只看该作者
支持,挺累人的活。

虽然有标准,但还是得要一个个测一下才能确保正确。

出0入0汤圆

15
发表于 2016-7-26 23:02:21 | 只看该作者
谢谢分享,应该能用的着。

出0入0汤圆

16
发表于 2016-7-26 23:36:10 | 只看该作者
感谢分享,十分实用

出0入0汤圆

17
发表于 2016-7-27 01:04:33 | 只看该作者
感谢楼主,收藏了

出0入0汤圆

18
发表于 2016-7-27 06:27:49 来自手机 | 只看该作者
谢谢分享

出0入0汤圆

19
发表于 2016-7-27 07:35:12 | 只看该作者
这个真需要支持,对于这样的产品,可靠方便的真少。

出0入0汤圆

20
发表于 2016-7-27 07:56:55 | 只看该作者
楼主开源大牛!

出0入0汤圆

21
发表于 2016-7-27 07:58:39 | 只看该作者
谢楼主分享

出0入0汤圆

22
发表于 2016-7-27 08:00:07 | 只看该作者
感谢楼主分享

出0入0汤圆

23
发表于 2016-7-27 08:22:26 | 只看该作者
非常感谢楼主分享

出0入0汤圆

24
发表于 2016-7-27 08:26:25 | 只看该作者
多谢楼主,下载来学习学习

出0入0汤圆

25
发表于 2016-7-27 08:27:45 | 只看该作者
楼主又出精品了,感谢!

出0入0汤圆

26
发表于 2016-7-27 08:31:50 | 只看该作者
楼主出面,必有精品;楼主什么时候给我普及下提高软件技术的讲座

出0入198汤圆

27
 楼主| 发表于 2016-7-27 08:41:08 | 只看该作者
li.wen 发表于 2016-7-26 21:47
使用过楼主的Easyflash;非常好用!

也欢迎多多尝试 SFUD 。开发这个库实际上还有一个原因,就是我当时想给 EasyFlash 制作 SPI Flash Demo 时,没有找到合适用的通用的 SPI Flash 库。所以有了 SFUD 之后,也能很大层面上降低 EasyFlash 在 SPI Flash 上的入门使用难度。

出0入198汤圆

28
 楼主| 发表于 2016-7-27 08:41:53 | 只看该作者
JohnsonTan 发表于 2016-7-26 21:47
非常好,有没有SDRAM的驱动库呀

这个暂时没有~

出0入198汤圆

29
 楼主| 发表于 2016-7-27 08:43:23 | 只看该作者
zxq6 发表于 2016-7-26 21:52
关注一个,最近可能要用到。


太好了,欢迎成为 SFUD 的首批试用用户,到时候有任何问题可以随时与我联系。

出0入198汤圆

30
 楼主| 发表于 2016-7-27 08:52:30 | 只看该作者
JJKwong 发表于 2016-7-26 22:22
差距好大,每次LZ 开源,都是新知识,发现LZ面好广

过奖了,实际上我开源的很多软件,都是围绕着 EasyFlash 展开的。要感谢广大网友们的建议与支持,才使得我能认识这么多朋友,接触到这么多新知识。

出0入198汤圆

31
 楼主| 发表于 2016-7-27 08:58:29 | 只看该作者
aozima 发表于 2016-7-26 22:52
支持,挺累人的活。

虽然有标准,但还是得要一个个测一下才能确保正确。 ...

还是吴兄理解啊。真正费时的工作确实是在调试测试阶段。因为要对自己的软件负责,所以软件质量一直是我放在第一位要求,这样也能让广大用户少遇到点坑。

出0入198汤圆

32
 楼主| 发表于 2016-7-27 09:03:35 | 只看该作者
lfgc 发表于 2016-7-27 07:35
这个真需要支持,对于这样的产品,可靠方便的真少。

多谢支持,也希望大家多多试用 SFUD ,多多吐槽,一起来完善它。国内的开源环境需要大家一起来构建。

出0入0汤圆

33
发表于 2016-7-27 09:06:31 | 只看该作者
感谢楼主,非常好的推荐

出0入198汤圆

34
 楼主| 发表于 2016-7-27 09:16:21 | 只看该作者
zhousun 发表于 2016-7-27 08:31
楼主出面,必有精品;楼主什么时候给我普及下提高软件技术的讲座

学习(基础要扎实,可以读一些软件设计方面书籍)->动手(Coding any where)->交流(论坛、QQ群、GitHub)->思考(不要浮躁,看问题要看本质)->总结(总结为改变提供方向)->改变(不停的重构你的软件)    我就是用的这个闭环

出0入0汤圆

35
发表于 2016-7-27 09:17:59 | 只看该作者

感谢楼主,下载来学习学习.

出0入0汤圆

36
发表于 2016-7-27 09:18:26 | 只看该作者
强烈支持开源 真是造福啊

出0入0汤圆

37
发表于 2016-7-27 09:19:11 | 只看该作者
赞赞,楼主搞个专门基于flash的文件管理系统好了。

出0入4汤圆

38
发表于 2016-7-27 09:21:24 | 只看该作者
这个确实很有用,免不了有时候需要更换flash的

出0入0汤圆

39
发表于 2016-7-27 09:23:57 | 只看该作者
谢谢LZ的分享!

出0入0汤圆

40
发表于 2016-7-27 09:40:28 | 只看该作者
谢谢楼主,先收藏了

出0入0汤圆

41
发表于 2016-7-27 09:45:26 | 只看该作者
本帖最后由 闪客 于 2016-7-27 09:48 编辑

太棒了!
有此SFUD库,配合EasyFlash,很大部分应用可以摒弃臃肿的文件系统了。

出0入0汤圆

42
发表于 2016-7-27 09:49:13 | 只看该作者
可以像文件系统那样 ,对某个数据反复擦写吗?

出0入0汤圆

43
发表于 2016-7-27 10:16:07 | 只看该作者
楼主对文档的整理,真心佩服!!非常干净,清爽!!

出0入90汤圆

44
发表于 2016-7-27 10:33:10 | 只看该作者
兄弟看来很热衷于开源项目啊!每次搞出来的都还挺不错。

出0入10汤圆

45
发表于 2016-7-27 10:38:45 | 只看该作者
点赞,谢谢分享。

出0入0汤圆

46
发表于 2016-7-27 10:44:54 | 只看该作者
  楼主厉害,大牛一枚

出0入0汤圆

47
发表于 2016-7-27 10:53:52 | 只看该作者
感谢楼主开源了这么高质量的项目

出0入0汤圆

48
发表于 2016-7-27 13:39:51 | 只看该作者
多谢楼主分享

出0入0汤圆

49
发表于 2016-7-27 14:07:32 | 只看该作者
不明觉厉          。

出0入0汤圆

50
发表于 2016-7-27 17:51:16 | 只看该作者
学习,支持一下SFUD!

出0入0汤圆

51
发表于 2016-7-27 19:51:46 | 只看该作者
支持,大赞~收藏~谢谢~

出50入255汤圆

52
发表于 2016-7-27 19:57:14 来自手机 | 只看该作者
关注,正在看easyflash

出0入198汤圆

53
 楼主| 发表于 2016-7-27 21:00:20 | 只看该作者
闪客 发表于 2016-7-27 09:45
太棒了!
有此SFUD库,配合EasyFlash,很大部分应用可以摒弃臃肿的文件系统了。 ...

哈哈~这还得感谢你的建议,也就是在准备给 EasyFlash 做 SPI Flash Demo 时,找不到合适的 SPI Flash 通用驱动库,从而产生了开源 SFUD 的动机。

有了 SFUD ,再来做给 EasyFlash 做 SPI Flash Demo 就非常简单了,争取这周就把 EasyFlash 的 外部 SPI Flash 环境变量 功能 Demo 做好。

出0入198汤圆

54
 楼主| 发表于 2016-7-27 21:03:13 | 只看该作者
AlertTao 发表于 2016-7-27 10:16
楼主对文档的整理,真心佩服!!非常干净,清爽!!

呵呵,过奖了~我对用户体验还是蛮重视的。也希望这样吸引更多的朋友来了解 SFUD ,更快的上手使用 SFUD ,还有其他建议也欢迎再提哈。

出0入198汤圆

55
 楼主| 发表于 2016-7-27 21:15:21 | 只看该作者
honami520 发表于 2016-7-27 10:33
兄弟看来很热衷于开源项目啊!每次搞出来的都还挺不错。

业余兴趣爱好。有机会一起交流。

出0入0汤圆

56
发表于 2016-7-27 21:16:11 | 只看该作者
多谢楼主分享

出0入0汤圆

57
发表于 2016-7-27 21:16:55 | 只看该作者
真心感谢楼主的开源。

出0入0汤圆

58
发表于 2016-7-27 23:01:29 | 只看该作者
楼主牛人,给楼主的开源精神点个赞

出0入0汤圆

59
发表于 2016-7-27 23:53:01 | 只看该作者
SPI库,楼主想法真不错,赞

出0入0汤圆

60
发表于 2016-7-28 00:13:44 | 只看该作者
这个不错,支持楼主

出0入0汤圆

61
发表于 2016-7-28 01:10:20 来自手机 | 只看该作者
非常感谢楼主的开源,后面有机会用到!

出0入53汤圆

62
发表于 2016-7-28 07:16:31 | 只看该作者
感谢lz分享,暂时用不上,还是支持LZ的精神

出0入0汤圆

63
发表于 2016-7-28 07:37:53 | 只看该作者
非常感谢楼主的开源,顶一下

出0入0汤圆

64
发表于 2016-7-28 08:17:41 | 只看该作者
楼主太棒了!感谢开源!感谢分享!楼主辛苦了

出50入0汤圆

65
发表于 2016-7-28 08:17:59 | 只看该作者
感谢楼主的分享

出0入8汤圆

66
发表于 2016-7-28 08:47:57 | 只看该作者
本帖最后由 security 于 2016-7-28 08:53 编辑

还没下载看过代码
不过出于对 LZ 的个人品牌的略微了解(看过 EasyLogger),这也应该也是棒棒哒,赞一个!

我想 LZ 这种高质量、高用户体验的开源方式,才是专业的
有一些坛友开源的内容是有的,但很经常,就没注意到用户体验。

出0入0汤圆

67
发表于 2016-7-28 10:14:13 | 只看该作者
感谢LZ分享,辛苦了

出0入0汤圆

68
发表于 2016-7-28 15:17:51 | 只看该作者
多谢分享

出0入0汤圆

69
发表于 2016-7-28 18:35:17 | 只看该作者
原来楼主还是EasyFlash的作者,赞一个

出0入0汤圆

70
发表于 2016-7-28 18:49:22 | 只看该作者
这个要支持一下

出0入198汤圆

71
 楼主| 发表于 2016-7-29 08:08:51 | 只看该作者
目前 EasyFlash 已经提供了针对 SPI Flash 的裸机平台 Demo ,位于 /demo/env/stm32f10x/non_os_spi_flash 目录下,大家可以直接去其 GitHub: https://github.com/armink/EasyFlash  ,OSChina: http://git.oschina.net/armink/EasyFlash ,Coding: https://coding.net/u/armink/p/EasyFlash/git 进行下载,也可以直接下载我这里刚下载好了版本

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

72
发表于 2016-7-29 10:04:00 | 只看该作者
顶顶,楼主的代码写得非常规范啊。

出0入0汤圆

73
发表于 2016-7-29 16:45:04 | 只看该作者
看来要找个时间移植一下easyflash和SFDU到之前的项目中看看了,自己实现的那个太难乱了

出0入0汤圆

74
发表于 2016-8-2 09:10:04 | 只看该作者
大兄弟前途无量啊。不仅技术过硬,而且从文档的数量和质量上看,已经成功克服“懒癌”和“拖延症”。这两大症状目前是我的最大敌人。。。
要向你多多学习!

出0入0汤圆

75
发表于 2016-8-2 20:50:49 | 只看该作者
支持楼主,非常棒

出0入0汤圆

76
发表于 2016-8-16 16:09:52 | 只看该作者
这个楼主有在STM32F407,F4板移植好的Demo?

出0入198汤圆

77
 楼主| 发表于 2016-8-16 17:09:01 | 只看该作者
maxiang1985 发表于 2016-8-16 16:09
这个楼主有在STM32F407,F4板移植好的Demo?

暂时没有,不过 F4 和 F2 的 API 很接近,你可以借鉴下 STM32F20X 的那个 Demo 。

出0入0汤圆

78
发表于 2016-8-25 15:41:48 | 只看该作者
看了一下代码,写的很好。不过实际使用中,如果不带操作系统spi_lock()和spi_unlock()这两个函数可能要修改一下,他们是通过开关全局中断来实现的,在某些比较费时的操作中,比如擦除操作因该允许中断,只是不允许再对这片flash就进行其它操作了。

出0入0汤圆

79
发表于 2016-8-25 16:27:40 | 只看该作者
感谢楼主的开源,现在还用不到,但学习一下

出0入0汤圆

80
发表于 2016-8-26 13:34:47 | 只看该作者
楼主实在是太强大了,还这么无私,佩服。

出0入0汤圆

81
发表于 2016-8-27 08:46:50 | 只看该作者
楼主的项目都很不错,easyflash之前给别人搞的项目的时候使用上了

出0入0汤圆

82
发表于 2016-8-27 08:55:31 | 只看该作者
感谢楼主开源,造福我们小白,虽然现在用不上,以后肯定能用上

出0入0汤圆

83
发表于 2016-8-27 09:05:37 | 只看该作者
万能 SPI Flash 驱动库  mark

出0入0汤圆

84
发表于 2016-8-27 10:25:50 | 只看该作者
//软件版本号定义
const char sw_ver_name[] @ ".version" = "swver";
const char sw_ver_value[] @ ".version" = "0.06.23";
这个用法还是第一次看到,作者能解释一下吗

出0入198汤圆

85
 楼主| 发表于 2016-8-27 20:34:47 | 只看该作者
coolhorse 发表于 2016-8-27 10:25
//软件版本号定义
const char sw_ver_name[] @ ".version" = "swver";
const char sw_ver_value[] @ ".vers ...

这里定义了两个字符串 sw_ver_name 及 sw_ver_value (软件版本号内容),和平时定义字符串的区别是这两个字符串是放在 ROM 的 ".version" 段内的。

而 ".version" 段可以固定在 ROM 的某个固定地址,这样上位机软件、BootLoader 软件获取到了软件 bin 后,可以访问 bin 文件的固定地址内容来获取此 bin 文件对应的软件版本号,以便于在更新软件时的对版本信息进行检查与确认。

出0入0汤圆

86
发表于 2016-8-27 21:01:44 来自手机 | 只看该作者
有空学习学习,赞一个

出0入0汤圆

87
发表于 2016-8-27 22:35:01 | 只看该作者
楼主,你的代码这么规范,是遵循的什么原则啊,有文档和资料或者书,参考一下不,或者遵循什么编码规范

出0入0汤圆

88
发表于 2016-8-27 22:52:33 | 只看该作者
很好啊,可以节省很多事情,可移植性强

出0入0汤圆

89
发表于 2016-8-27 22:54:12 | 只看该作者
谢谢分享!!!

出0入0汤圆

90
发表于 2016-8-27 22:54:42 | 只看该作者
已Clone到本地

出0入0汤圆

91
发表于 2016-8-27 23:48:02 | 只看该作者
谢谢分享,非常有用

出0入0汤圆

92
发表于 2016-8-28 16:37:37 | 只看该作者
支持楼主,非常棒

出0入0汤圆

93
发表于 2016-8-28 17:24:37 来自手机 | 只看该作者
这份好,感谢楼主辛勤劳动

出0入198汤圆

94
 楼主| 发表于 2016-8-28 22:56:28 | 只看该作者
maimaige 发表于 2016-8-27 22:35
楼主,你的代码这么规范,是遵循的什么原则啊,有文档和资料或者书,参考一下不,或者遵循什么编码规范 ...

主要是借鉴的 RT-Thread 操作系统编程的规范。

出0入198汤圆

95
 楼主| 发表于 2016-8-28 22:57:32 | 只看该作者

刚才又推送更新了,建议选中 watch 项目,及时关注项目更新信息。

出0入0汤圆

96
发表于 2016-8-29 05:54:18 | 只看该作者
感谢楼主分享,非常非常好的参考。谢谢。

出0入0汤圆

97
发表于 2016-8-29 07:21:10 来自手机 | 只看该作者
这个得非常支持

出0入0汤圆

98
发表于 2016-8-29 09:10:02 | 只看该作者
感谢无私分享

出0入0汤圆

99
发表于 2016-9-17 10:04:15 | 只看该作者
感谢楼主分享

出0入0汤圆

100
发表于 2016-9-17 10:42:56 | 只看该作者
这个东西真不错
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-3-29 15:27

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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