嵌入式以太网社区

?找回密码
?立即注册
搜索
365bet官网足球官方开户网利用Python来控制STM32365bet官网足球官方开户网365bet官网足球官方开户网
STM32高速USB数据传输方案,支持多系统!STM32全速USB数据传输方案,支持多系统!Flash高速烧写方案STM32 HID IAP/Bootloader升级方案
查看: 11842|bet365体-在线体育投注_365体育投注地址_365体育投注登录: 26
打印 上一主题 下一主题

最近做了个高速USB-SPI的东西,读写SPI Flash的速度相当可观啊

[复制链接]

1110

帖子

173

主题

14万

金币

超级版主

Rank: 8Rank: 8

积分
149607
QQ
跳转到指定楼层
楼主
发表于 2015-10-22 23:07:51 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 飞鸿踏雪 于 2015-10-22 23:07 编辑

实现了基本的USB-SPI相关功能,当然少不了SPI Flash读写的API,下面程序为读写W25Q64速度测试程序源码:
[C++] 纯文本查看 复制代码
// USB2XXXSPIW25Q64.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include 
#include "../../USB2XXX/source/usb2xxx/usb2spi.h"
#include "../../USB2XXX/source/usb_device.h"


int _tmain(int argc, _TCHAR* argv[])
{
    DEVICE_INFO DevInfo;
    int DevIndex = 0;
    int SPIIndex = 0;
    bool state;
    int ret,i;
    //扫描查找设备
    ret = USB_ScanDevice(true);
    if(ret <= 0){
        printf("No device connected!\n");
        return 0;
    }
    //打开设备
    state = USB_OpenDevice(DevIndex);
    if(!state){
        printf("Open device error!\n");
        return 0;
    }
    //获取固件信息
    state = USB_GetDeviceInfo(DevIndex,&DevInfo);
    if(!state){
        printf("Get device infomation error!\n");
        return 0;
    }

    //根据W25Q64配置相关参数
    SPI_FLASH_CONFIG SPIFlashConfig;
    SPIFlashConfig.CMD_EraseSector = 0x20;
    SPIFlashConfig.CMD_ReadData = 0x03;
    SPIFlashConfig.CMD_ReadFast = 0x0B;
    SPIFlashConfig.CMD_ReadID = 0x9F;
    SPIFlashConfig.CMD_ReadStatus = 0x05;
    SPIFlashConfig.CMD_WriteEnable = 0x06;
    SPIFlashConfig.CMD_WritePage = 0x02;
    SPIFlashConfig.CMD_EraseChip = 0xC7;
    SPIFlashConfig.EraseSectorAddressBytes = 3;
    SPIFlashConfig.ID_Length = 3;
    SPIFlashConfig.NumPages = 32768;
    SPIFlashConfig.PageSize = 256;
    SPIFlashConfig.ReadDataAddressBytes = 3;
    SPIFlashConfig.ReadFastAddressBytes = 3;
    SPIFlashConfig.SectorSize = 4096;
    SPIFlashConfig.WritePageAddressBytes = 3;
    ret = SPI_FlashInit(DevIndex,SPIIndex,50000000,&SPIFlashConfig);
    if(ret != SUCCESS){
        printf("Initialize Device Error!\n");
        return 0;
    }
    //读取芯片ID
    ret = SPI_FlashReadID(DevIndex,SPIIndex,SPIFlashConfig.ID);
    if(ret != SUCCESS){
        printf("Get Device ID Error!\n");
        return 0;
    }else{
        printf("ID = ");
        for(int i=0;i


运行结果如下所示:

速度那是相当的块啊,可惜SPI的时钟频率只能达到50M,否则还可以更快!直接秒杀淘宝上的任何烧录器!!

人生到处知何似,应似飞鸿踏雪泥。

67

帖子

4

主题

1195

金币

金牌会员

Rank: 6Rank: 6

积分
1424
沙发
发表于 2015-10-23 12:35:30 | 只看该作者
赞!具体什么芯片平台,有完整工程么?

1110

帖子

173

主题

14万

金币

超级版主

Rank: 8Rank: 8

积分
149607
QQ
板凳
?楼主| 发表于 2015-10-23 12:49:28 | 只看该作者
uranusgin 发表于 2015-10-23 12:35
赞!具体什么芯片平台,有完整工程么?

STM32F407+USB3300,测试工程可以提供
人生到处知何似,应似飞鸿踏雪泥。

29

帖子

0

主题

66

金币

注册会员

Rank: 2

积分
147
地板
发表于 2015-10-25 14:15:51 | 只看该作者
赞一个先,这速度飞一般的感觉。

10

帖子

0

主题

1

金币

新手上路

Rank: 1

积分
21
5#
发表于 2015-10-26 15:06:48 | 只看该作者
好厉害,观望

11

帖子

1

主题

6

金币

新手上路

Rank: 1

积分
32
6#
发表于 2015-10-26 17:07:28 | 只看该作者

好厉害,学习了

9

帖子

0

主题

1

金币

新手上路

Rank: 1

积分
29
7#
发表于 2015-10-27 18:36:02 | 只看该作者
好厉害,观望中》》》》》》》》》》》》

9

帖子

0

主题

3

金币

新手上路

Rank: 1

积分
26
8#
发表于 2015-10-28 22:55:34 | 只看该作者
看起来好复杂

27

帖子

0

主题

26

金币

注册会员

Rank: 2

积分
89
9#
发表于 2015-11-2 10:24:42 | 只看该作者

好厉害,观望中 , 学习了》》》

36

帖子

0

主题

7

金币

注册会员

Rank: 2

积分
79
10#
发表于 2015-11-4 09:35:05 | 只看该作者
这个可以做成小工具了

13

帖子

1

主题

7

金币

新手上路

Rank: 1

积分
34
11#
发表于 2015-11-4 12:30:49 | 只看该作者
这个可以做成小工具了

68

帖子

5

主题

82

金币

中级会员

Rank: 3Rank: 3

积分
306
QQ
12#
发表于 2016-3-27 18:43:08 | 只看该作者
好厉害。。。

25

帖子

1

主题

819

金币

高级会员

Rank: 4

积分
925
13#
发表于 2016-3-28 10:17:16 | 只看该作者
NOR FLASH擦除时间太慢,这是没办法的事情。

4

帖子

0

主题

7

金币

新手上路

Rank: 1

积分
19
14#
发表于 2016-5-17 09:57:09 | 只看该作者
非常有用,非常好

17

帖子

1

主题

43

金币

注册会员

Rank: 2

积分
119
15#
发表于 2016-7-18 15:53:37 | 只看该作者
正在学习,好资料,谢谢

48

帖子

2

主题

0

金币

注册会员

Rank: 2

积分
124
16#
发表于 2016-9-26 09:49:49 | 只看该作者
很不错,学习了,谢谢楼主。

6

帖子

0

主题

0

金币

新手上路

Rank: 1

积分
18
17#
发表于 2016-9-28 10:51:56 | 只看该作者
这个不错呀 ,速度也还可以

29

帖子

1

主题

135

金币

中级会员

Rank: 3Rank: 3

积分
231
18#
发表于 2016-10-10 22:06:15 | 只看该作者
版主真的很厉害

196

帖子

1

主题

1961

金币

金牌会员

Rank: 6Rank: 6

积分
2508
19#
发表于 2016-11-10 14:21:27 | 只看该作者
飞一般的感觉就是不错

8

帖子

0

主题

10

金币

新手上路

Rank: 1

积分
31
20#
发表于 2017-7-16 10:43:24 | 只看该作者
有没有做成小工具玩呢?

75

帖子

0

主题

156

金币

中级会员

Rank: 3Rank: 3

积分
355
21#
发表于 2017-7-16 13:19:46 | 只看该作者
个不错呀 ,速度也还可以

81

帖子

7

主题

284

金币

高级会员

Rank: 4

积分
539
22#
发表于 2017-7-17 09:02:58 | 只看该作者
留着以后用

196

帖子

1

主题

1961

金币

金牌会员

Rank: 6Rank: 6

积分
2508
23#
发表于 2017-7-18 09:44:40 | 只看该作者
你值得拥有呀

33

帖子

1

主题

13

金币

注册会员

Rank: 2

积分
78
24#
发表于 2017-7-25 12:18:32 | 只看该作者
努力bet365体-在线体育投注_365体育投注地址_365体育投注登录获取源码

12

帖子

0

主题

66

金币

注册会员

Rank: 2

积分
100
25#
发表于 2017-8-10 20:12:24 | 只看该作者
我也很想知道是用什么硬件来实现的。

1

帖子

0

主题

10

金币

新手上路

Rank: 1

积分
13
26#
发表于 2019-10-24 15:06:52 | 只看该作者
最近在调 flash??100KB写入用1min.? ?您这边这么快是怎么做到的啊

1110

帖子

173

主题

14万

金币

超级版主

Rank: 8Rank: 8

积分
149607
QQ
27#
?楼主| 发表于 昨天?19:52 | 只看该作者
人生到处知何似,应似飞鸿踏雪泥。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|嵌入式以太网社区 ( 渝ICP备14007427号 )?

GMT+8, 2019-11-6 12:34 , Processed in 0.106408 second(s), 33 queries .

Powered by Discuz! X3.2

? 2001-2013 Comsenz Inc.

快速bet365体-在线体育投注_365体育投注地址_365体育投注登录 返回顶部 返回列表