SFUD (Serial Flash Universal Driver) 串行 Flash 通用驱动库


0、SFUD 是什么

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

  • 主要特点:支持 SPI/QSPI 接口、面向对象(同时支持多个 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 表参数。
    • 不支持 SFDP 怎么办 :如果该 Flash 不支持 SFDP 标准,SFUD 会查询配置文件 ( /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。显示为 不支持 SFDP 标准的 Flash 已经在 Flash 参数信息表中定义,更多不支持 SFDP 标准的 Flash 需要大家以后 共同来完善和维护 (Github|OSChina|Coding)

如果觉得这个开源项目很赞,可以点击 项目主页 右上角的 Star ,同时把它推荐给更多有需要的朋友。

型号制造商容量最高速度SFDP 标准QSPI 模式备注
W25Q40BVWinbond4Mb50Mhz不支持双线已停产
W25Q80DVWinbond8Mb104Mhz支持双线
W25Q16BVWinbond16Mb104Mhz不支持双线by slipperstree
W25Q16CVWinbond16Mb104Mhz支持未测试
W25Q16DVWinbond16Mb104Mhz支持未测试by slipperstree
W25Q32BVWinbond32Mb104Mhz支持双线
W25Q64CVWinbond64Mb80Mhz支持四线
W25Q128BVWinbond128Mb104Mhz支持四线
W25Q256FVWinbond256Mb104Mhz支持四线
MX25L3206EMacronix32Mb86MHz支持双线
KH25L4006EMacronix4Mb86Mhz支持未测试by JiapengLi
KH25L3206EMacronix32Mb86Mhz支持双线
SST25VF016BMicrochip16Mb50MHz不支持不支持SST 已被 Microchip 收购
M25P40Micron4Mb75Mhz不支持未测试by redocCheng
M25P80Micron8Mb75Mhz不支持未测试by redocCheng
M25P32Micron32Mb75Mhz不支持不支持
EN25Q32BEON32Mb104MHz不支持未测试
GD25Q16BGigaDevice16Mb120Mhz不支持未测试by TanekLiang
GD25Q64BGigaDevice64Mb120Mhz不支持双线
S25FL216KCypress16Mb65Mhz不支持双线
S25FL032PCypress32Mb104Mhz不支持未测试by yc_911
S25FL164KCypress64Mb108Mhz支持未测试
A25L080AMIC8Mb100Mhz不支持双线
A25LQ64AMIC64Mb104Mhz支持支持
F25L004ESMT4Mb100Mhz不支持不支持
PCT25VF016BPCT16Mb80Mhz不支持不支持SST 授权许可,会被识别为 SST25VF016B
AT45DB161EADESTO16Mb85MHz不支持不支持ADESTO 收购 Atmel 串行闪存产品线

注:QSPI 模式中,双线表示支持双线快读,四线表示支持四线快读。

一般情况下,支持四线快读的 FLASH 也支持两线快读。

2.2 API 说明

先说明下本库主要使用的一个结构体 sfud_flash 。其定义位于 /sfud/inc/sfud_def.h。每个 SPI Flash 会对应一个该结构体,该结构体指针下面统称为 Flash 设备对象。初始化成功后在 sfud_flash->chip 结构体中会存放 SPI Flash 的常见参数。如果 SPI Flash 还支持 SFDP ,还可以通过 sfud_flash->sfdp 看到更加全面的参数信息。以下很多函数都将使用 Flash 设备对象作为第一个入参,实现对指定 SPI Flash 的操作。

2.2.1 初始化 SFUD 库

将会调用 sfud_device_init ,初始化 Flash 设备表中的全部设备。如果只有一个 Flash 也可以只使用 sfud_device_init 进行单一初始化。

注意:初始化完的 SPI Flash 默认都 已取消写保护 状态,如需开启写保护,请使用 sfud_write_status 函数修改 SPI Flash 状态。

sfud_err sfud_init(void)

2.2.2 初始化指定的 Flash 设备

sfud_err sfud_device_init(sfud_flash *flash)
参数描述
flash待初始化的 Flash 设备

2.2.3 使能快速读模式(仅当 SFUD 开启 QSPI 模式后可用)

当 SFUD 开启 QSPI 模式后,SFUD 中的 Flash 驱动支持使用 QSPI 总线进行通信。相比传统的 SPI 模式,使用 QSPI 能够加速 Flash 数据的读取,但当数据需要写入时,由于 Flash 本身的数据写入速度慢于 SPI 传输速度,所以 QSPI 模式下的数据写入速度提升并不明显。

所以 SFUD 对于 QSPI 模式的支持仅限于快速读命令。通过该函数可以配置 Flash 所使用的 QSPI 总线的实际支持的数据线最大宽度,例如:1 线(默认值,即传统的 SPI 模式)、2 线、4 线。

设置后,SFUD 会去结合当前设定的 QSPI 总线数据线宽度,去 QSPI Flash 扩展信息表 中匹配最合适的、速度最快的快速读命令,之后用户在调用 sfud_read() 时,会使用 QSPI 模式的传输函数发送该命令。

sfud_err sfud_qspi_fast_read_enable(sfud_flash *flash, uint8_t data_line_width)
参数描述
flashFlash 设备
data_line_widthQSPI 总线支持的数据线最大宽度,例如:1、2、4

2.2.4 获取 Flash 设备对象

在 SFUD 配置文件中会定义 Flash 设备表,负责存放所有将要使用的 Flash 设备对象,所以 SFUD 支持多个 Flash 设备同时驱动。设备表的配置在 /sfud/inc/sfud_cfg.hSFUD_FLASH_DEVICE_TABLE 宏定义,详细配置方法参照 2.3 配置方法 Flash)。本方法通过 Flash 设备位于设备表中索引值来返回 Flash 设备对象,超出设备表范围返回 NULL

sfud_flash *sfud_get_device(size_t index)
参数描述
indexFlash 设备位于 FLash 设备表中的索引值

2.2.5 读取 Flash 数据

sfud_err sfud_read(const sfud_flash *flash, uint32_t addr, size_t size, uint8_t *data)
参数描述
flashFlash 设备对象
addr起始地址
size从起始地址开始读取数据的总大小
data读取到的数据

2.2.6 擦除 Flash 数据

注意:擦除操作将会按照 Flash 芯片的擦除粒度(详见 Flash 数据手册,一般为 block 大小。初始化完成后,可以通过 sfud_flash->chip.erase_gran 查看)对齐,请注意保证起始地址和擦除数据大小按照 Flash 芯片的擦除粒度对齐,否则执行擦除操作后,将会导致其他数据丢失。

sfud_err sfud_erase(const sfud_flash *flash, uint32_t addr, size_t size)
参数描述
flashFlash 设备对象
addr起始地址
size从起始地址开始擦除数据的总大小

2.2.7 擦除 Flash 全部数据

sfud_err sfud_chip_erase(const sfud_flash *flash)
参数描述
flashFlash 设备对象

2.2.8 往 Flash 写数据

sfud_err sfud_write(const sfud_flash *flash, uint32_t addr, size_t size, const uint8_t *data)
参数描述
flashFlash 设备对象
addr起始地址
size从起始地址开始写入数据的总大小
data待写入的数据

2.2.9 先擦除再往 Flash 写数据

注意:擦除操作将会按照 Flash 芯片的擦除粒度(详见 Flash 数据手册,一般为 block 大小。初始化完成后,可以通过 sfud_flash->chip.erase_gran 查看)对齐,请注意保证起始地址和擦除数据大小按照 Flash 芯片的擦除粒度对齐,否则执行擦除操作后,将会导致其他数据丢失。

sfud_err sfud_erase_write(const sfud_flash *flash, uint32_t addr, size_t size, const uint8_t *data)
参数描述
flashFlash 设备对象
addr起始地址
size从起始地址开始写入数据的总大小
data待写入的数据

2.2.10 读取 Flash 状态

sfud_err sfud_read_status(const sfud_flash *flash, uint8_t *status)
参数描述
flashFlash 设备对象
status当前状态寄存器值

2.2.11 写(修改) Flash 状态

sfud_err sfud_write_status(const sfud_flash *flash, bool is_volatile, uint8_t status)
参数描述
flashFlash 设备对象
is_volatile是否为易闪失的,true: 易闪失的,及断电后会丢失
status当前状态寄存器值

2.3 配置方法

所有配置位于 /sfud/inc/sfud_cfg.h ,请参考下面的配置介绍,选择适合自己项目的配置。

2.3.1 调试模式

打开/关闭 SFUD_DEBUG_MODE 宏定义

2.3.2 是否使用 SFDP 参数功能

打开/关闭 SFUD_USING_SFDP 宏定义

注意:关闭后只会查询该库在 /sfud/inc/sfud_flash_def.h 中提供的 Flash 信息表。这样虽然会降低软件的适配性,但减少代码量。

2.3.3 是否使用该库自带的 Flash 参数信息表

打开/关闭 SFUD_USING_FLASH_INFO_TABLE 宏定义

注意:关闭后该库只驱动支持 SFDP 规范的 Flash,也会适当的降低部分代码量。另外 2.3.2 及 2.3.3 这两个宏定义至少定义一种,也可以两种方式都选择。

2.3.4 既不使用 SFDP ,也不使用 Flash 参数信息表

为了进一步降低代码量,SFUD_USING_SFDPSFUD_USING_FLASH_INFO_TABLE 也可以 都不定义

此时,只要在定义 Flash 设备时,指定好 Flash 参数,之后再调用 sfud_device_init 对该设备进行初始化。参考如下代码:

sfud_flash sfud_norflash0 = {.name = "norflash0",.spi.name = "SPI1",.chip = { "W25Q64FV", SFUD_MF_ID_WINBOND, 0x40, 0x17, 8L * 1024L * 1024L, SFUD_WM_PAGE_256B, 4096, 0x20 } };
......
sfud_device_init(&sfud_norflash0);
......

2.3.5 Flash 设备表

如果产品中存在多个 Flash ,可以添加 Flash 设备表。修改 SFUD_FLASH_DEVICE_TABLE 这个宏定义,示例如下:

enum {SFUD_W25Q64CV_DEVICE_INDEX = 0,SFUD_GD25Q64B_DEVICE_INDEX = 1,
};#define SFUD_FLASH_DEVICE_TABLE                                                \
{                                                                              \[SFUD_W25Q64CV_DEVICE_INDEX] = {.name = "W25Q64CV", .spi.name = "SPI1"},   \[SFUD_GD25Q64B_DEVICE_INDEX] = {.name = "GD25Q64B", .spi.name = "SPI3"},   \
}

上面定义了两个 Flash 设备(大部分产品一个足以),两个设备的名称为 "W25Q64CV""GD25Q64B" ,分别对应 "SPI1""SPI3" 这两个 SPI 设备名称(在移植 SPI 接口时会用到,位于 /sfud/port/sfud_port.c ), SFUD_W25Q16CV_DEVICE_INDEXSFUD_GD25Q64B_DEVICE_INDEX 这两个枚举定义了两个设备位于设备表中的索引,可以通过 sfud_get_device_table() 方法获取到设备表,再配合这个索引值来访问指定的设备。

2.3.6 QSPI 模式

打开/关闭 SFUD_USING_QSPI 宏定义

开启后,SFUD 也将支持使用 QSPI 总线连接的 Flash。

2.4 移植说明

移植文件位于 /sfud/port/sfud_port.c ,文件中的 sfud_err sfud_spi_port_init(sfud_flash *flash) 方法是库提供的移植方法,在里面完成各个设备 SPI 读写驱动(必选)、重试次数(必选)、重试接口(可选)及 SPI 锁(可选)的配置。更加详细的移植内容,可以参考 demo 中的各个平台的移植文件。

2.5 添加库目前不支持的 Flash

这里需要修改 /sfud/inc/sfdu_flash_def.h ,所有已经支持的 Flash 见 SFUD_FLASH_CHIP_TABLE 宏定义,需要提前准备的 Flash 参数内容分别为:| 名称 | 制造商 ID | 类型 ID | 容量 ID | 容量 | 写模式 | 擦除粒度(擦除的最小单位) | 擦除粒度对应的命令 | 。这里以添加 兆易创新 ( GigaDevice ) 的 GD25Q64B Flash 来举例。

此款 Flash 为兆易创新的早期生产的型号,所以不支持 SFDP 标准。首先需要下载其数据手册,找到 0x9F 命令返回的 3 种 ID, 这里需要最后面两字节 ID ,即 type idcapacity idGD25Q64B 对应这两个 ID 分别为 0x400x17 。上面要求的其他 Flash 参数都可以在数据手册中找到,这里要重点说明下 写模式 这个参数,库本身提供的写模式共计有 4 种,详见文件顶部的 sfud_write_mode 枚举类型,同一款 Flash 可以同时支持多种写模式,视情况而定。对于 GD25Q64B 而言,其支持的写模式应该为 SFUD_WM_PAGE_256B ,即写 1-256 字节每页。结合上述 GD25Q64B 的 Flash 参数应如下:

    {"GD25Q64B", SFUD_MF_ID_GIGADEVICE, 0x40, 0x17, 8*1024*1024, SFUD_WM_PAGE_256B, 4096, 0x20},

再将其增加到 SFUD_FLASH_CHIP_TABLE 宏定义末尾,即可完成该库对 GD25Q64B 的支持。

2.6 Demo

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

路径平台描述
/demo/stm32f10x_non_osSTM32F10X 裸机平台
/demo/stm32f2xx_rttSTM32F2XX + RT-Thread 操作系统平台
/demo/stm32l475_non_os_qspiSTM32L475 + QSPI 模式 裸机平台

2.7 许可

采用 MIT 开源协议,细节请阅读项目中的 LICENSE 文件内容。

查看全文
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

相关文章

  1. Python函数

    目录一.目的与要求(一) 目的(二) 要求二.实验内容三. 实验代码清单四.小结(运行结果分析)一.目的与要求 (一) 目的 通过函数的设计,熟练掌握函数的使用,进一…...

    2024/4/15 5:12:43
  2. 笔记少时诵诗书

    操作系统 死锁的条件: 1.资源互斥:一个资源同时只能被一个线程占有 2.请求保持:线程请求其他资源被阻塞,此时他不会释放自己的资源 3.不可剥夺:线程的资源只能 4.存在线程-资源的环 计算机网络 流量控制和拥塞控…...

    2024/4/16 0:25:44
  3. 学习Java看什么书?哪些适合学者参考

    每当程序员开始学习Java编程语言时,他们问的第一个问题是:“我应该参考哪本书来学习Java?”或“对于初学者来说,学习Java的最佳书籍是什么?”或者“你能告诉我一些学习Java的好书吗?”这本身就说明了Java书…...

    2024/4/20 17:36:28
  4. 中国冰鲜鸡市场经营和品牌竞争分析报告(2021-2026年)

    中国冰鲜鸡市场经营和品牌竞争分析报告(2021-2026年) ************************************** 【报告编号】: BG545774 【出版时间】: 2021年11月 【出版机构】: 中智正业研究院 免费售后服务一年,具体订购内容及流程欢迎咨询客服专员。 内容简介: 第…...

    2024/4/17 4:46:22
  5. 数据结构实验四

    7-1 【模板】KMP字符串匹配 (20 分) 给出两个字符串text和pattern,其中pattern为text的子串,求出pattern在text中所有出现的位置。 为了减少骗分的情况,接下来还要输出子串的前缀数组next。 输入格式: 第一行为一个字符串,即为…...

    2024/4/19 21:12:48
  6. SpringBoot 创建主子模块后 项目正常运行并访问接口测试

    1.前面两篇博客 讲了 创建和配置 使用idea 创建 SpringBoot 和Maven 主子模块项目工程_Json的知识梦工厂-CSDN博客 SpringBoot 中mybatis-plus的代码生成器和常用配置文件_Json的知识梦工厂-CSDN博客 下面就是开发与测试 1.控制层 2.创建启动类 3.创建配置类 配置mapper扫描…...

    2024/4/15 5:12:38
  7. 『行远见大』 BQ Corpus 信贷文本匹配相似度计算

    『行远见大』 BQ Corpus 信贷文本匹配相似度计算 项目简介 BQ Corpus 信贷文本匹配相似度计算,根据两段银行信贷业务的文本在语义上是否相似进行二分类,相似判断为1,不相似判断为0。本项目为各位同学提供一个 Baseline:acc 0.8…...

    2024/4/20 14:51:42
  8. 【算法千题案例】每日LeetCode打卡——69.赎金信

    📢前言🌲原题样例:赎金信🌻C#方法:数组存储🌻Java 方法:数组存储💬总结📢前言 🚀 算法题 🚀 🌲 每天打卡一道算法题,既是…...

    2024/4/16 19:54:08
  9. jQuery Mobile弹出对话框后不刷新原页面,保持原页面内容不变

    使用jQuery Mobile开发移动应用程序时,在一个页面上弹出对话框,关闭对话框后,发现原来的页面被刷新了。如果原页面上有一些已经选择或者填写的数据,则这些数据就会丢失。这时候,就需要对对话框的返回按钮做一些处理,让页面返回到对话框父页面在弹出对话框执勤的状态。 弹…...

    2024/4/19 19:31:41
  10. loading完成, 加载提示条自动消失

    <!doctype html> <html> <head> <script> window.οnlοad=function(){var a = document.getElementById("loading");a.parentNode.removeChild(a); } document.write(<div id="loading" style="background:green;color:#…...

    2024/4/15 5:12:43
  11. 微星Z370M主板参数

    一 概述 官网信息&#xff1a;Specification Z370M MORTAR | 微星中国 (msi.com)https://cn.msi.com/Motherboard/Z370M-MORTAR/Specification 二 参数截图 个别细节待后续了解分析。。。...

    2024/4/15 5:12:18
  12. 集合的学习(1)

    集合(1) 集合的理解与好处 前面我们保存多个数据使用的是数组&#xff0c;那么数组有哪些不足的地方 1.数组长度&#xff0c;在开始时必须指定&#xff0c;而且一旦指定&#xff0c;不能更改 2.保存的必须为同一类型的元素 3.使用数组进行增加元素的代码比较麻烦 Peson[]per…...

    2024/4/15 5:12:33
  13. RocketMQ:深入理解Broker如何接收Producer生产消息请求?

    一、前言 今天原打算写一篇关于消息在Broker端如何存储的文档&#xff0c;刚梳理好整体文章脉络&#xff0c;想到一个问题&#xff1a;Broker端是如何接收生产消息请求的&#xff1f;印象中是通过Netty接收的&#xff0c;由于对具体的实现比较好奇&#xff0c;也就有了今天的故…...

    2024/4/19 20:53:40
  14. Spring系列总结

    1.什么是Spring&#xff1f; Spring是一个轻量级Java开源框架&#xff0c;最早由Rod Johnson创建&#xff0c;目的是解决企业级应用开发的复杂性&#xff0c;简化Java开发。Spring为开发Java应用程序提供全面的基础架构支持&#xff0c;因此Java开发者可以专注于应用程序的开发…...

    2024/4/7 0:44:04
  15. react使用antd

    1.流行的开源React UI组件库 前端框架ui库最多的是vue&#xff0c;然后是react&#xff0c;然后是angular。 material-ui(国外) 官网: http://www.material-ui.com/#/ github: https://github.com/callemall/material-ui ant-design(国内蚂蚁金服) 使用量最大 官网: Ant…...

    2024/4/15 5:12:23
  16. 如何保护你的代码 - Ollvm(一)

    一、目标 李老板&#xff1a;奋飞呀&#xff0c;最近的so都混淆的很厉害呀&#xff0c;也没有啥通用的反混淆方法。一点都不好玩&#xff0c;之前你说的 D810 也不是很好使。 奋飞&#xff1a;我传你六字真言&#xff0c;打不过就加入。 搞不定反混淆&#xff0c;我们搞搞代…...

    2024/4/20 1:53:54
  17. 01核心知识篇介绍

    找了那么多ElasticSearch相关视频&#xff0c;还是觉得中华石杉最为经典&#xff0c;讲解的简单易懂&#xff0c;既有广度也有深度。 课程特点 &#xff08;1&#xff09;我自己使用Elasticsearch 5.6.0版本&#xff0c;目前2021.11.2ElasticSearch的版本已经出到7.15.1了&…...

    2024/4/20 14:06:36
  18. 008.宋浩老师《线性代数》笔记(第六章二次型)

    宋浩老师《线性代数》笔记&#xff08;第六章二次型&#xff09; 目录 6.1 二次型的定义 二次型---->矩阵表达式 矩阵表达式---->二次型 标准形 6.2 二次型化标准型&#xff08;配方法&#xff09; 6.3 二次型化标准型&#xff08;初等变换&#xff0c;正交替换&a…...

    2024/4/19 13:12:30
  19. Redis基础知识、应用场景、集群安装

    Redis基础知识、应用场景、安装介绍Redis基础知识基础数据类型string示例用途list用途示例hashsetzsetlist/set/hash/zset通用规则失效时间应用场景分布式锁延时队列位图布隆过滤器集群安装环境实施步骤介绍 Redis是Remote Dictionary Service的首字母缩写&#xff0c;也就是“…...

    2024/4/19 19:09:51
  20. Prospecting personality展望型人格特质

    具有展望型人格特质的人可能会因为不确定性或其他方面的潜力而迟迟不能对某事做出承诺。如果他们不节制这种特质&#xff0c;优柔寡断或缺乏信念会成为一个问题。他们可能看起来没有重点。 People with the Prospecting personality trait can be slow to commit to something…...

    2024/4/18 17:04:17

最新文章

  1. 对Java未来的发展趋势和新技术的看法

    Java作为一种广泛使用的编程语言&#xff0c;已经走过了数十年的历程&#xff0c;其在企业级应用开发、大数据处理、云计算等多个领域都发挥着重要作用。随着技术的不断进步&#xff0c;Java也在不断发展&#xff0c;呈现出一些新的趋势和新技术。以下是对Java未来发展趋势和新…...

    2024/4/25 14:58:58
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言&#xff0c;在此感激不尽。 权重和梯度的更新公式如下&#xff1a; w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/3/20 10:50:27
  3. python爬取B站视频

    参考&#xff1a;https://cloud.tencent.com/developer/article/1768680 参考的代码有点问题&#xff0c;请求头需要修改&#xff0c;上代码&#xff1a; import requests import re # 正则表达式 import pprint import json from moviepy.editor import AudioFileClip, Vid…...

    2024/4/23 6:25:33
  4. Flutter 拦截系统键盘,显示自定义键盘

    一、这里记录下在开发过程中&#xff0c;下单的时候输入金额需要使用自定义的数字键盘 参考链接: https://juejin.cn/post/7166046328609308685 效果图 二、屏蔽系统键盘 怎样才能够在输入框获取焦点的时候&#xff0c;不让系统键盘弹出呢&#xff1f;同时又显示我们自定义的…...

    2024/4/24 15:01:47
  5. 【外汇早评】美通胀数据走低,美元调整

    原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...

    2024/4/25 11:51:20
  6. 【原油贵金属周评】原油多头拥挤,价格调整

    原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...

    2024/4/23 13:30:22
  7. 【外汇周评】靓丽非农不及疲软通胀影响

    原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...

    2024/4/23 13:28:06
  8. 【原油贵金属早评】库存继续增加,油价收跌

    原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...

    2024/4/24 18:16:28
  9. 【外汇早评】日本央行会议纪要不改日元强势

    原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...

    2024/4/23 13:27:44
  10. 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响

    原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...

    2024/4/19 11:57:53
  11. 【外汇早评】美欲与伊朗重谈协议

    原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...

    2024/4/23 13:29:53
  12. 【原油贵金属早评】波动率飙升,市场情绪动荡

    原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...

    2024/4/23 13:27:22
  13. 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试

    原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...

    2024/4/25 13:39:44
  14. 【原油贵金属早评】市场情绪继续恶化,黄金上破

    原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...

    2024/4/23 22:01:21
  15. 【外汇早评】美伊僵持,风险情绪继续升温

    原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...

    2024/4/23 13:29:23
  16. 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势

    原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...

    2024/4/25 0:00:17
  17. 氧生福地 玩美北湖(上)——为时光守候两千年

    原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...

    2024/4/25 4:19:21
  18. 氧生福地 玩美北湖(中)——永春梯田里的美与鲜

    原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...

    2024/4/19 11:59:23
  19. 氧生福地 玩美北湖(下)——奔跑吧骚年!

    原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...

    2024/4/19 11:59:44
  20. 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!

    原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...

    2024/4/25 2:10:52
  21. 「发现」铁皮石斛仙草之神奇功效用于医用面膜

    原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...

    2024/4/24 16:38:05
  22. 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者

    原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...

    2024/4/25 13:19:01
  23. 广州械字号面膜生产厂家OEM/ODM4项须知!

    原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...

    2024/4/23 13:27:51
  24. 械字号医用眼膜缓解用眼过度到底有无作用?

    原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...

    2024/4/23 13:27:19
  25. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下&#xff1a;1、长按电脑电源键直至关机&#xff0c;然后再按一次电源健重启电脑&#xff0c;按F8健进入安全模式2、安全模式下进入Windows系统桌面后&#xff0c;按住“winR”打开运行窗口&#xff0c;输入“services.msc”打开服务设置3、在服务界面&#xff0c;选中…...

    2022/11/19 21:17:18
  26. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像&#xff08;每一幅图像的大小是564*564&#xff09; f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...

    2022/11/19 21:17:16
  27. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面&#xff0c;在等待界面中我们需要等待操作结束才能关机&#xff0c;虽然这比较麻烦&#xff0c;但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  28. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows&#xff0c;请勿关闭计算机”的提示&#xff0c;要过很久才能进入系统&#xff0c;有的用户甚至几个小时也无法进入&#xff0c;下面就教大家这个问题的解决方法。第一种方法&#xff1a;我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  29. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题&#xff0c;电脑时发现开机屏幕显现“正在配置Windows Update&#xff0c;请勿关机”(如下图所示)&#xff0c;而且还需求等大约5分钟才干进入系统。这是怎样回事呢&#xff1f;一切都是正常操作的&#xff0c;为什么开时机呈现“正…...

    2022/11/19 21:17:13
  30. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示&#xff0c;没过几秒后电脑自动重启&#xff0c;每次开机都这样无法进入系统&#xff0c;此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一&#xff1a;开机按下F8&#xff0c;在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  31. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况&#xff0c;就是电脑提示正在准备windows请勿关闭计算机&#xff0c;碰到这样的问题该怎么解决呢&#xff0c;现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法&#xff1a;1、2、依次…...

    2022/11/19 21:17:11
  32. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后&#xff0c;每次关机的时候桌面上都会显示一个“配置Windows Update的界面&#xff0c;提示请勿关闭计算机”&#xff0c;每次停留好几分钟才能正常关机&#xff0c;导致什么情况引起的呢&#xff1f;出现配置Windows Update…...

    2022/11/19 21:17:10
  33. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着&#xff0c;别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚&#xff0c;只能是考虑备份数据后重装系统了。解决来方案一&#xff1a;管理员运行cmd&#xff1a;net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  34. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题&#xff1a;电脑提示“配置Windows Update请勿关闭计算机”怎么办&#xff1f;win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢&#xff1f;一般的方…...

    2022/11/19 21:17:08
  35. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 &#xff0c;然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  36. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  37. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了&#xff0c;具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面&#xff0c;长时间没反应&#xff0c;无法进入系统。这个问题原来帮其他同学也解决过&#xff0c;网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  38. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法&#xff0c;并在最后教给你1种保护系统安全的好方法&#xff0c;一起来看看&#xff01;电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中&#xff0c;添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  39. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候&#xff0c;开启电脑发现电脑显示&#xff1a;配置windows更新失败&#xff0c;正在还原更改&#xff0c;请勿关闭计算机。。.这要怎么办呢&#xff1f;下面小编就带着大家一起看看吧&#xff01;如果能够正常进入系统&#xff0c;建议您暂时移…...

    2022/11/19 21:17:02
  40. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机&#xff0c;电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  41. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题&#xff0c;就是我们的win7系统在关机的时候&#xff0c;总是喜欢显示“准备配置windows&#xff0c;请勿关机”这样的一个页面&#xff0c;没有什么大碍&#xff0c;但是如果一直等着的话就要两个小时甚至更久都关不了机&#xff0c;非常…...

    2022/11/19 21:17:00
  42. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时&#xff0c;一般是您正对windows进行升级&#xff0c;但是这个要是长时间没有反应&#xff0c;我们不能再傻等下去了。可能是电脑出了别的问题了&#xff0c;来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  43. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况&#xff0c;当我们打开电脑之后&#xff0c;发现一直停留在一个界面&#xff1a;“配置Windows Update失败&#xff0c;还原更改请勿关闭计算机”&#xff0c;等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  44. 如何在iPhone上关闭“请勿打扰”

    Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...

    2022/11/19 21:16:57