STM32U5 STM32单片机 2022-02-09 17:30
工程师笔记|STM32U5带OEM Key保护的RDP降级STM32U5带OEM Key保护的RDP降级https://mp.weixin.qq.com/s/h2NhHvEX4crVhHwNPIS0_w

关键词:

读保护,RDP,调试保护,OEMKey

引言

通常芯片在其整个生命周期中跟随产品的开发生产可能经历如下几个不同阶段 :

在不同的生命周期阶段需要对芯片资源有不同的访问权限,例如芯片出厂时要开放所有资源供 OEM 进行开发,工厂生产烧录代码和数据后需要关闭某些资源的访问,确保代码与数据的安全性,设备回厂返修时需要再次允许某些资源的访问等等。 

STM32MCU 的硬件中能够用来进行芯片生命周期管理的最常见的特性就是 RDP(ReadOut Protection)读保护功能。通常 RDP 具有三个级别: 

• Level0:完全开放,这是芯片出厂的缺省状态 

• Level1:调试端口可以连接,但无法通过调试端口访问内部 Flash,部分 SRAM 以及其它一些资源,OptionByte 可以修改。Level1 可以降级回 Level0,但会伴随全片擦除。 

• Level2:调试端口永久关闭,进入这种状态后调试端口完全无法访问,且这种状态无法逆转。 

在 RDP Level1 调试端口依旧可以连接,虽然不能直接读取内部 Flash 的代码和数据,但是可以看到大部分 SRAM 的内容,并且 RDP Level1 允许随意回退到 Level0,并伴随全片擦除。因而从安全角度讲 Level1 这个级别的安全性不够高,因而通常对于调试端口保护我们会推荐使用 RDP Level2,但是 OEM 可能往往不会选择使用这个级别,原因有多方面,其中一部分的顾虑可能来自两方面,一个是 Level2 级别下 OptionByte 无法进行修改,另一个是设置到 Level2级别会影响芯片失效分析。

STM32L5 在 RDP 功能上带来一些改变,首先针对 TrustZone 架构,增加了 Level0.5,

• Level0.5:调试端口可以连接,但是安全测的所有调试功能都被禁止,非安全测的调 试功能依旧可以使用,因此在 RDP Level0.5 可以访问被定义为 NonSecure 的部分资 源,包括片上 Flash,SRAM,部分 CPU 寄存器以及系统外设等 

另外,STM32L5 的 RDP Level2 不影响 FA,但 OEM 依旧无法在这种状态下进行 RDP 降级或者 OptionByte 修改,依旧有一些局限性。

STM32U5 芯片生命周期管理新特性

STM32U5 在芯片生命周期管理方面在 STM32L5 的基础做了进一步的改进,引入了OEM Key 机制,使得 RDP 的级别状态转换能够通过 OEM 设置的 password 进行保护,一方面能够防止 RDP 任意降级,避免设备被远程攻击注入恶意代码后通过 RDP 降级变砖的风险,另一方面也使得 RDP2 降级成为可能,给产品后期维护带来更多的灵活性。

2.1. STM32U5 RDP 读保护级别状态转换

2.1.1. TrustZone 未使能 TZEN=0

芯片出厂缺省状态 TrustZone 没有使能,这时候和往常一样 RDP 依旧具有 3 个级别,如图 1 所示:

Figure 1 STM32U5 TZEN=0 时 RDP 级别及其状态转换

2.1.2. TrustZone 未使能 TZEN=1

当选项字节中的 TZEN 被设置为 1,系统的 TrustZone 功能被使能,此时 RDP 将具有4 个级别,如图 2 所示:

Figure 2 STM32U5 TZEN=0 时 RDP 级别及其状态转换

STM32U5 OEM Key 机制

3.1. OEM1Key 与 OEM2Key

客户可以自己定义并分别烧写两组 OEM Key,每组 Key 都有 64bit,有效的 Key 值必须是非全 0 或非全 1 的值。

 • OEM1Key: 

o 用于控制 RDP Level1 到 Level0 的降级

o 一旦写入 OEM1Key,则 OEM1 处于 LOCK 状态,必须首先使用 OEM1Key解锁后才能够进行 RDP 降级。

o 解锁的过程需要将 OEM1Key 的 64bit 值的两个 32bit 分两次通过 JTAG 或者SWD 端口写入 DBGMCU_DBG_AUTH_HOST 寄存器。 

o 如果 OEM1Key 未设置,则 RDP Level1 到 Level0 的降级没有限制

 • OEM2Key: 

o 用于使能并保护 RDP Level2 到 RDP Level1 的降级。只有写入有效的OEM2Key 之后,才有可能进行 RDP Level2 到 RDP Level1,且类似的,降级时必须首先使用 OEM2Key 解锁。 

o 在 TZEN=1 情况下 OEM2Key 同时保护 RDP Level1 到 RDP0.5 的降级

o 如果芯片从未写入有效的 OEM2Key,那么 RDP Level2 的效果与旧系列的STM32 的行为一致,无法 FA,无法撤销。 

如果芯片设置了 OEM2Key 和 RDP Level2 需要做 FA,则客户需要首先将芯片进行RDP2 解锁降级之后再送交 FA。

3.2. OEM1Key 与 OEM2Key 的设置修改条件 

OEM1Key 和 OEM2Key 的设置和修改是有条件的,并非在芯片的所有状态下都允许OEMKey 的设置,表 1 总结了哪些情况下允许对 OEM1Key 和 OEM2Key 进行修改。

 如何使用 STM32U5 的 OEM Key 功能

4.1. 检查 OEMxKey 是否已经设置 

由于 OEM Key 并非在任意情况下都允许修改,而且 OEM Key 一旦设置无法撤销,并且会影响 RDP 降级,因而强烈建议在设置 RDP 到非 0 级别之前,首先检查 OEM Key 在所使用的开发板、芯片上是否已经设置。 

如果 OEM Key 曾经被设置过,如果不能确认之前设置的 KEY 的值,那么我们建议在RDP 为 Level0 的时候,对 OEM Key 进行重新配置,这样可以保证新设置的 KEY 是自己确认知道的值。 

如果该芯片尚未设置过 OEM Key,那么可以根据需要选择是否要进行 KEY 的设置。 

检查 OEM Key 是否已经设置过,可以通过查看 FLASH 的 NSSR 寄存器来实现,即可以通过软件代码读取,也可以通过 STM32CubeProgrammer 读取。使用STM32CubeProgrammer 来读取 NSSR 的方法更加简单直接。步骤如图 3 所示 

• 打开 STM32CubeProgrammer(建议版本 v2.8.0 及以上)

• 点击 Connect 连接芯片 

• 根据使用的具体芯片在 REG 页面中选择 Device 

• 在 Search 框中填入 FLASH 并回车,这时候将看到 FLASH 寄存器的内容 

• 点击 FLASH_NSSR 左边小三角,展开 NSSR 寄存器内容 

• 查看 OEM1LOCK,OEM2LOCK bit 的值 

o 1:表示该 KEY 已经设置,在图 3 的例子中 OEM1Key 已经设置

o 0:表示该 KEY 从未被设置过,在图 3 的例子中 OEM2Key 未设置

Figure 3 通过 STM32CubProgrammer 查看 OEM1/OEM2 Key 设置情况示例

4.2. 设置 OEM1Key 和 OEM2Key 

OEMxKey 的设置是通过操作 Flash 选项字节对应的 OEM Key 寄存器实现的 

• OEM1Key:FLASH OEM1 key register 1 & FLASH OEM1 key register 2

• OEM2Key:FLASH OEM2 key register 1 & FLASH OEM2 key register 2这个操作可以通过两种方式实现,一种方法是使用 STM32CubeProgrammer CLI 命令完成,另一种方法是通过软件代码实现。 

注意: 

1. OEMxKey 不能设置为全 0 或者全 1 的值 

2. OEMx2Key 一旦成功写入,无法通过读取相应的 OptionByte 获取,且在不可修改的RDP Level 将无法重新设置,所以写入的 OEM Key 要确认 Key 保存好并记牢 

3. 如果没有成功设置 OEM2Key,则 RDP Level2 无法回退,无法进行 FA 

4. 如果客户设置了 RDP Level2 并需要对芯片做 FA,则需要客户首先使用 OEM2Key 将芯片解锁并进行 RDP Level2 降级到 RDP level1,否则无法进行失效分析 

5. STM32CubeProgrammer 的版本建议 v2.8.0 或以上 

6. STLink FW 需要更新到 V3J8M3 或以上版本,如图 4 所示

Figure 4  STLINK FW 版本

4.2.1. 使用 STM32CubeProgrammer CLI 

命令设置 OEMxKey 

通过STM32CubeProgrammerCLI 命令设置 OEM1/2Key 的示例

4.2.2. 通过软件代码设置 OEMxKey 

以下是通过软件代码设置 OEM1/2Key 的示例,这个例子中我们在 RDP 为 Level0 的条件下设置 OEMxKey。实际使用中代码可以根据实际需求结合 Error! Reference source not found.的内容决定在哪种 RDP 级别下允许修改 OEMxKey。

4.3. 使用 OEM Key 解锁并进行 RDP 降级

当 OEM1/2 Key 成功设置之后,对应的 RDP 降级需要配合 OEM1/2 Key 的解锁之后才能够完成。 

注意: 

1. 通过 OEMxKey 解锁+RDP 降级只能通过 JTAG/SWD 端口完成,无法通过软件进行OEMxKey 解锁 

如果系统使能了 TrustZone,当 RDP 为非 Level0 状态时,缺省上电 Debug 端口就处于禁止状态,需要首先确保片上代码能够正常运行到 NonSecure 代码才能允许 Debug 连接,否则即使有 OEMxKey,也无法解锁降级。

4.3.1. TrustZone 未使能

(TZEN=0)RDP1 解锁降级到 RDP0 

通过 STM32CubeProgrammerCLI 命令使用 OEM1Key 解锁后做 RDP 降级的示例 

• 方法一:分两步,先 OEM1Key 解锁,后 RDP 降级

解锁降级回退过程将会在 cmd 窗口看到类似如下打印信息

• 方法二:一条命令同时解锁和降级

4.3.2. TrustZone 未使能

(TZEN=0)RDP2 解锁降级到 RDP1 

通过 STM32CubeProgrammerCLI 命令使用 OEM2Key 解锁后做 RDP 降级的示例 

• OEM2Key 解锁后,硬件将自动把 RDP 降级为 Level1,RDP 的值为 0xFF,不需要额外的命令进行降级

解锁降级回退过程将会在 cmd 窗口看到类似如下打印信息

4.3.3. TrustZone 使能

(TZEN=1)RDP1 解锁降级到 RDP0

通过 STM32CubeProgrammerCLI 命令使用 OEM1/2Key 解锁后做 RDP 降级的示例(首先需要确认系统能够正常运行到 NonSecure 状态)

 • 如果仅仅做 RDP Level1 到 Level0 降级,TZEN 保持为 1,这种情况与 TZEN=0 时类似,可以直接使用如下命令完成解锁和降级

• 如果 RDP Level1 降级到 RDP Level0 并同时回退 TZEN,可以使用一条命令同时进行OEM1Key 解锁和 RDP 降级+TZEN 回退

解锁降级回退过程将会在 cmd 窗口看到类似如下打印信息

4.3.4. TrustZone 使能

(TZEN=1)RDP1 解锁降级到 RDP0.5 

通过 STM32CubeProgrammerCLI 命令使用 OEM1/2Key 解锁后做 RDP 降级的示例

注意: 

1. TZEN=1 且 RDP 级别非 0 时,首先要保证代码能够正常运行到 NS 状态 

2. RDP1 到 RDP0.5 的降级将导致所有 NS Flash 区的内容都被擦除,这意味着 S code可能无法正常跳转到 NS Flash Code,从而导致 debug 端口无法连上的情况 

a. 如果 OptionByte 的设置允许从 RSS/SystemBootloader 启动,还可以通过拉高BOOT PIN 的方式回复调试连接 

b. 如果 OptionByte 的设置不允许从 RSS/SystemBootloader 启动(例如设置了BOOT_LOCK),那么建议 S code 中增加 NS RAM code 的部分,并在无法跳转到有效 NS Flash code 的情况下跳转 NS RAM code,从而保持调试连接可能性

• 这里降级命令使用-unlockRDP1,但是 Key 需要用前面设置过的 OEM2Key 的值

解锁降级回退过程将会在 cmd 窗口看到类似如下打印信息

4.3.5. TrustZone 使能

(TZEN=1)RDP2 解锁降级到 RDP1

RDP Level2 解锁降级到 RDP Level1,与 TZEN=0 情况下相同

解锁降级回退过程将会在 cmd 窗口看到类似如下打印信息

使用特殊 CHIPID

通常从安全角度考虑,我们会倾向使用一机一密,也就是说比较好的方式是每颗芯片烧写不同的 OEMxKey,但是这样做一方面对 OEMxKey 的管理是一个挑战,另一方面,在 RDP Level2 的时候,由于调试连接已经无法读取任何片上资源,也很难通过通常的芯片 96bit UID 来确定当前的芯片应该对应哪一组 OEM Key。 

针对这个问题,STM32U5 在原有 96bit UID 的基础上,增加了一个 32bit 的特殊CHIPID,这个 CHIPID 存在于硬件的 DBG 单元中,而且即使在 RDP Level2,这个CHIPID 也可以由调试器通过 JTAG/SWD 端口获取。因而 OEM 可以利用这个特殊CHIPID 来简化一机一密的 OEMxKey 烧录过程,同时也可以在需要使用 OEMxKey 解锁的时候轻松读出 CHIPID,然后找到对应的 OEMxKey 进行解锁。 

32bit CHIPID 可以通过调试端口工具读取,也可以通过代码读取,CHIPID 的地址为0xE0044104。 

注意: 

• 当 RDP 处于 Level0 时,读取 32bit CHIPID 读到值为全 0 

• 只有当 RDP 处于非 Level0 时才能读出正确的 CHIPID

CHIPID 通常的使用流程如下 

• OEMxKey 烧录过程 

o 设置 RDP 为 Level1(或 Level 0.5) 

o 读取 CHIPIDo 上位机根据一个密钥种子和 CHIPID 使用某种算法派生出该 CHIPID 对应的 Key 

o 将派生的 Key 作为 OEMxKey 写入芯片 

o 设置 RDP 到最终需要的级别(如 Level2) 

• OEMxKey 解锁过程 

o 调试器通过 JTAG/SWD 连接芯片读取 CHIPID 

o 上位机根据一个密钥种子和 CHIPID 使用某种算法派生出该 CHIPID 对应的 Key将派生的 Key 作为 OEMxKey 解锁芯片并进行 RDP 降级。

5.1. 特殊 CHIPID 的读取 

特殊 CHIPID 可以通过软件代码直接读地址 0xE0044104 获得,也可以通过STM32CubeProgrammerCLI 命令来读取,命令如下:

注意:1. STLink 需要更新到 V3J9M3 或以上版本2. STM32CubeProgrammer 需要更新到 V2.9.0 或以上版本

运行该命令在 RDP Level1 时将看到类似如下信息,蓝色高亮的部分即为获取的 CHIPID

运行该命令在 RDP Level2 时将看到类似如下信息,此时调试连接会出错,这是正常现象,因为 RDP Level2 时禁止调试连接,但是 CHIPID 依旧可以读取,蓝色高亮的部分即为获取的CHIPID

小结

STM32U5 提供了更灵活的芯片生命周期管理机制,在 STM32L5 的基础上增加了 OEM Key 特性,一方面能够保护 RDP 级别的状态转换,防止任意的回退;另一方面也减 少了 RDP Level2 使用中的局限性和顾虑点,同时还增加了 32bit 特殊 CHIPID,能够方便 地实现在不同芯片上配置不同 OEMxKey 的需求。

© THE END

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

相关文章

  1. 身份证工具

    import java.text.ParseException; import java.util.Date;import com.blankj.utilcode.util.LogUtils;/*** 身份证工具*/ public class ComposeUtil {/*** 根据身份证号获取生日* * param composeStr* return*/public static Date getBirthdayByCompose(String composeStr) {S…...

    2024/4/24 14:25:27
  2. 移动网站压力测试流程有哪些,四川成都网站压力测试报告多少钱?

    在移动网络飞速发展的今天,移动网站成为企业对外宣传、开展业务的重要窗口,对于访客量大的网站来说,一旦其无法承受过于巨大的流量,就会使网站崩溃,进而影响公司正常的业务。与之相对应的,做好移动网站的压…...

    2024/4/5 2:22:42
  3. 2022-2028全球材料试验机行业调研及趋势分析报告

    据恒州诚思调研统计,2021年全球材料试验机市场规模约45亿元,2017-2021年年复合增长率CAGR约为 %,预计未来将持续保持平稳增长的态势,到2028年市场规模将接近64亿元,未来六年CAGR为5.1%。 本文调研和分析全球材料试验机…...

    2024/4/15 10:59:42
  4. opencv kmeans (C++)

    kmeans 函数原型 double cv::kmeans(InputArray data,int K,InputOutputArray bestLabels,TermCriteria criteria,int attempts,int flags,OutputArray centers noArray() )参数说明 Parameters data待聚类的数据集,数据集的每一个样本是一个N维的点&…...

    2024/4/19 23:04:41
  5. 数组的介绍和使用

    数组 将多个同类型的值存储在一个组合中,称为数组。里面一个个值称为元素。 一维数组 声明: //静态初始化的声明: 数据类型[] 数组名 new 数据类型[]{元素1,元素2,元素3};例如: String[] strArr new String[]{"a","b","c","…...

    2024/4/13 9:03:56
  6. 数字IC四大岗位分析

    数字IC四大岗位分析 1.岗位与技能 2.设计流程以及各步骤 3.工程师进阶流程 4.需求数量 工作时间 1.四大岗位与技能要求 数字前端工程师:读写文档(function sspec \ design spec)、coding (verilog\c c\RTL\SOC)、协议、debug、support 数字…...

    2024/4/19 15:09:19
  7. Ant Design Vue 日期选择框控件只选年份

    官网中没有只选年份的控件 <a-form-model-item label"年度"><a-date-picker:allowClear"false"mode"year"format"YYYY"v-model"queryParam.Year":open"yearShowOne"openChange"openChangeOne"…...

    2024/4/19 0:15:14
  8. Vue CLI3 开启gzip压缩

    首先这个是需要后台帮忙配置的&#xff0c;后台不配合就不用看了。。。。 nginx 服务端开启Gzip server {listen 80 default_server;server_name 106.13.190.39;index index.php index.html index.htm default.php default.htm default.html;root /www/wwwroot/106.13.190.39…...

    2024/4/13 9:04:21
  9. Cloudflare WAF反爬处理

    案例地址&#xff1a;https://www.semi.org/en/news-media-press/semi-press-releases 看似普通的get请求&#xff0c;但在本地拿requests请求会返回需要验证 通过观察可以发现&#xff0c;这是 Cloudflare的反爬措施。 一般情况&#xff0c;只要过了中间的校验&#xff0c…...

    2024/4/18 5:17:07
  10. angular 管道 和自定义管道示例

    angular 管道 和自定义管道示例 管道可以将数据格式化显示&#xff0c;而不改变源数据 一、angular管道 首先&#xff0c;进行Angular环境的搭建和项目创建 ctrl c 结束服务 1、新建模块 ng g component components/home如图&#xff1a; 2、将home模块添加到主页 ap…...

    2024/4/13 9:03:51
  11. Unity(三十):Canvas渲染模式 Render Mode

    Render Mode : Screen Space - Overlay 模式 &#xff08;默认&#xff09; ⚠️ Canvas将覆盖整个场景&#xff0c;并且永远覆盖在其他游戏对象之上&#xff0c;遮挡住场景中的其他游戏对象。 ⚠️ 不可修改 Rect Transform 组件的位置大小等。 Render Mode : Screen Space - …...

    2024/4/13 9:04:21
  12. 【C++学习】函数中的void的含义

    使用void&#xff0c;即不能将其值赋给任何变量。 void simon(int n) {using namespace std;cout << "Simon says touch your tone " << n << " times." << endl; }如果在main函数中调用simon,如&#xff1a; void main&#xf…...

    2024/4/15 8:22:13
  13. golang操作Excel

    第一种方法&#xff1a; 使用"github.com/tealeg/xlsx"库 type DeviceRealTimeCityGeo struct {Id string Name string At string sex string }func createExcel(records []*DeviceRealTimeCityGeo) error {var file *xlsx.Filevar …...

    2024/4/15 7:15:12
  14. 聚力同行,迈向零碳未来

    阿里云【大咖说】每周推荐一场演讲或对话。 欢迎长期关注阿里云【大咖说】&#xff0c;让我们一起关注“趋势”&#xff0c;读懂“未来”。 本周推荐&#xff1a;【大咖说*对话生态】系列之【聚力同行&#xff0c;迈向零碳未来】 本期大咖介绍&#xff1a; 阿里巴巴集团副总裁…...

    2024/4/13 9:04:56
  15. 2021年性价比高的无代码测试工具有哪些?

    Katalon Studio Katalon Studio被评为2020年顶级无代码测试工具之一。它因跨桌面、移动、Web、API和应用程序的测试能力而广受欢迎。其独特的功能易于使用&#xff0c;最适合经验丰富和刚入门的QA 工程师。 Katalon 为测试专家和业务用户提供了一个可访问的界面。拖放命令、记…...

    2024/4/13 9:05:01
  16. OpenHarmony轻量系统开发【14】使用语音控制鸿蒙小车

    摘要&#xff1a;本文简单介绍如何使用语音控制鸿蒙小车 适合群体&#xff1a;适用于润和Hi3861开发板 文中所有代码仓库&#xff1a;https://gitee.com/qidiyun/hihope-3861-smart-home-kit 14.1 讯飞语音识别 之前我们已经有一篇文章讲了如何驱动鸿蒙小车&#xff0c;通过…...

    2024/4/8 18:08:44
  17. logstash配置kafka

    文章目录logstash配置kafkalogstash配置kafka 根据不同topic输出到不同的ES索引 # input插件需要监听Logstash进程所在节点的端口&#xff0c;请使用8000~9000范围内的端口。 input {kafka { bootstrap_servers > 10.0.24.111:9092group_id > elk-dev# 正则匹配topicto…...

    2024/4/13 9:04:36
  18. java版Spring Cloud+VR全景+直播短视频带货+三级分销+b2b2c多商家入驻前后端分离商城源码

    源码地址来源&#xff1a; https://minglisoft.cn/honghu2/business.html 手机端源码&#xff1a; /*** Copyright © 2012-2017 <a href"http://minglisoft.cn">HongHu</a> All rights reserved.*/ package com.honghu.cloud.controller;import j…...

    2024/4/13 9:04:46
  19. 2022-2028全球ATP仪器行业调研及趋势分析报告

    据恒州诚思调研统计&#xff0c;2021年全球ATP仪器市场规模约18亿元&#xff0c;2017-2021年年复合增长率CAGR约为 %&#xff0c;预计未来将持续保持平稳增长的态势&#xff0c;到2028年市场规模将接近34亿元&#xff0c;未来六年CAGR为9.6%。 本文调研和分析全球ATP仪器发展现…...

    2024/4/18 8:47:55
  20. MQ之RabbitMQ学习一

    官网地址&#xff1a; https://www.rabbitmq.com/documentation.html 简介&#xff1a; Erlang语言开发&#xff0c;基于AMQP协议(高级消息队列协议) 吞吐量&#xff1a;万级&#xff0c;延迟&#xff1a;微秒级&#xff08;RocketMQ和Kafka吞吐量十万级&#xff0c;延迟毫秒级…...

    2024/4/13 10:25:37

最新文章

  1. MT2041 三角形的个数

    思路&#xff1a;找规律&#xff0c;推公式 4等分&#xff1a; 头朝上的三角形&#xff1a; 边长为1&#xff1a;1234s1&#xff1b; 边长为2&#xff1a;123s2&#xff1b; 边长为3&#xff1a;12s3&#xff1b; 边长为4&#xff1a;1s4&#xff1b; 即si12...n-i1(n-i2)*(n-i…...

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

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

    2024/3/20 10:50:27
  3. 【蓝桥杯】省模拟赛

    题目 1.奇数次数2.最小步数3.最大极小值和最小极大值 1.奇数次数 问题描述 给定一个仅包含数字字符的字符串&#xff0c;统计一下这个字符串中出现了多少个值为奇数的数位。 输入格式 输入一行包含一个字符串&#xff0c;仅由数字字符组成。 输出格式 输出一行包含一个整数&am…...

    2024/4/21 20:36:17
  4. 【JavaScript 漫游】【049】ES6 规范中对象的扩展

    文章简介 本篇文章为【JavaScript 漫游】专栏的第 049 篇文章&#xff0c;对 ES6 规范中对象的扩展知识点进行了记录。具体包括&#xff1a; 属性的简洁表示法属性名表达式方法的 name 属性属性的可枚举性和遍历super 关键字对象的扩展运算符链判断运算符Null 判断运算符新增…...

    2024/4/23 21:45:44
  5. 【外汇早评】美通胀数据走低,美元调整

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

    2024/4/23 20:58:27
  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/23 13:28:42
  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/23 13:28:14
  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