ARM Cortex R52内核 01 概述

ARM Cortex R52内核 01 Introduction

1.1 Cortex®-R52介绍

Cortex-R52处理器是一种中等性能、有序、超标量处理器,主要用于汽车和工业应用。它还适用于各种其他嵌入式应用,如通信和存储设备。

Cortex-R52处理器具有一到四个核心,每个核心实现一个单一的Armv8-R AArch32兼容处理单元processing element (PE)。在Cortex-R52上下文中,PE和核心在概念上是相同的。

多个受保护的内存系统架构Protected Memory System Architecture(PMSA)上下文可以使用虚拟化技术在同一核心上执行。处理器允许包含不同上下文的实时性能,这防止了一个上下文影响更关键上下文的响应时间和确定性。处理器可以为双核锁步Dual-Core Lock-Step(DCLS)操作拥有逻辑和比较器实例的冗余副本。

下图显示了一个Cortex-R52处理器系统的示例。

image-20240317210825265

1.1.1 特点

Cortex-R52处理器的主要特点包括:

  • 最多四个核心,每个核心都有一个八级有序的超标量流水线,具有分支预测

  • 对于实例化的RAM和连接的闪存,可以使用双重错误检测Double Error Detect (DED)或单错误纠正双重错误检测Single Error Correct Double Error Detect (SECDED)保护。实例化的RAM包括:

    • 指令缓存标签和数据RAM
    • 数据缓存标签和数据RAM
    • 紧密耦合存储器Tightly Coupled Memories(TCM)
  • 可选总线保护主要main AXI Master(AXIM)接口,AXI Slave (AXIS)接口,低延迟外设端口Low-latency Peripheral Port (LLPP)接口,和Flash接口:

    • 可选的数据,地址,控制和响应有效载荷的信号完整性保护,以及 握手信号
    • 可选的互连保护
  • 错误报告接口

  • 电源管理

  • Armv8-R AArch32 Debug提供硬件断点和观察点,自托管和外部调试。它还支持调试目标和主机之间的通信。Aarch32概要的Armv8-R Debug基于Armv8.0 Debug架构

  • 用于指令和数据跟踪的嵌入式跟踪宏单元Embedded Trace Macrocell(ETM)

  • 用于仿真和校准的内存重构端口Memory Reconstruction Port (MRP)

  • 基于PMUv3架构的性能监控单元Performance Monitoring Unit (PMU)支持

  • 用于多处理器调试的交叉触发接口Cross Trigger Interface (CTI)

  • 集成的、快速响应的通用中断控制器Generic Interrupt Controller (GIC)和虚拟化

  • 用于在引导时间和引导时间后预定时间间隔测试内存的在线内存内置自测试Memory Built-In Self Test (MBIST)接口

1.1.2 接口 Interface

Cortex-R52处理器有几个外部接口。

下图显示了Cortex-R52处理器的外部接口。箭头指示每个接口中的信号方向。

image-20240317212000433

1.1.3 配置选项Configuration options

Cortex-R52处理器具有一些选项,您可以在实现和集成阶段进行配置,以满足您的功能需求。
下表显示了处理器的可配置选项。

image-20240317212749926

Processor configurations

Cortex-R52处理器可以配置为实现DCLS和Split-Lock配置。

DCLS(Dual-Core Lock-Step)

在DCLS配置中,每个核心的大部分核心逻辑都有一个第二个冗余副本, 以及共享逻辑的一个冗余副本。

冗余逻辑由与功能逻辑相同的输入驱动。特别是,冗余核心逻辑与功能核心共享相同的缓存RAM和TCM。因此,只需要一套缓存RAM和TCM。冗余逻辑与核心锁步操作,但不会以任何方式直接影响处理器的行为。处理器输出到系统的其余部分以及核心输出到缓存RAM和TCM都由功能核心驱动。 在实现过程中,可以包括比较器逻辑来比较冗余逻辑和功能逻辑的输出。这些比较器可以检测出由于辐射或电路故障而发生在任一逻辑集上的单个故障。当与RAM错误检测方案一起使用时,可以保护系统免受故障。

如果您正在实现DCLS配置,请联系Arm获取更多信息。

Split-Lock

在分区锁定配置中,每个核心必须有两个或四个完整的冗余副本。下表显示了在锁定模式和分区模式下核心的使用情况。 在下表中:

  • N是物理核心的数量。
  • LOCK_N是锁定模式下使用的核心数量。
  • SPLIT_N是分区模式下使用的核心数量。

image-20240317213158236

在锁定模式下,高阶核心作为低阶核心的冗余副本。例如,如果N是4,只有低阶核心在逻辑上存在,即核心0和核心1。核心2和核心3是高阶核心,它们在逻辑上不存在,但作为冗余副本。 虽然存在,但属于高阶核心的输入和输出、缓存RAM和TCM是禁用的,并且在锁定模式下不得使用。

在分裂模式下,与选定的物理核心数量相关联的所有接口、缓存RAM和TCM都存在并启用,但无法进行冗余检查。

与DCLS类似,可以在锁定模式操作期间包括比较器逻辑来比较冗余逻辑和功能逻辑的输出。分裂模式操作禁用比较器逻辑。 对于分裂锁,必须设置一个新的输入信号CFGSLSPLIT,以确定是否配置了分裂模式或锁定模式。

如果选择了锁定模式,除了CFGSLSPLIT外,必须驱动所有的DCLS信号。如果选择了分裂模式,除了CFGSLSPLIT外,只必须驱动CLKINDCLS。有关DCLS信号的更多信息,请参阅Appx-A-589页的A.15 DCLS信号。如果你正在实现一个分区锁配置,请联系 Arm 以获取更多信息。

1.2 组件模块 Component blocks

下图显示了双核配置中处理器的主要组件块。

image-20240317213516912

1.2.1 Instruction Fetch 指令获取

预取单元 Prefetch Unit (PFU)从指令缓存、TCM或外部存储器中获取指令,预测指令流中分支的结果,并将指令传递给数据处理单元Data Processing Unit (DPU)进行处理。
PFU每周期从内存中取64位。
Cortex-R52 处理器中的指令取出总是小端的。
取出和解码阶段之间的指令队列将指令执行与指令取出解耦。这允许在取出阶段由于预测分支而刷新时继续执行指令。

Cortex-R52分支预测机制在流水线早期阶段检测分支。此外,它们立即将指令重定向到适当的地址,而不是等待分支到达流水线的末端。然而,并不是所有的分支都以这种方式预测。

Branch Target Address Cache 分支目标地址缓存

PFU包含一个16条目分支目标地址缓存Branch Target Address Cache (BTAC)来预测间接分支的目标地址(除了子例程返回)。BTAC实现在架构上是透明的,所以它不需要在上下文切换时刷新。

Branch predictor 分支预测

分支预测器是一个全局类型,它使用分支历史寄存器和一个2048条模式历史预测表。

Return stack 返回堆栈

PFU包含一个8条调用返回栈,以加速子例程调用的返回。对于每个子例程调用,返回地址被推送到硬件栈上。当一个子例程返回被识别时,返回栈中的地址被弹出,PFU将其用作预测的返回地址。返回栈在架构上是透明的,因此它不必在上下文切换时刷新。

Exception Target Address Cache 异常目标地址缓存

异常目标地址缓存Exception Target Address Cache (ETAC)是一种结构,用于通过缓存这些异常的通用处理程序的地址来减少IRQ和FIQ异常的最佳情况下的延迟。

ETAC在重置状态下启用。将1写入系统寄存器CPUACTLR.ETACDIS,禁用ETAC。

ETAC只支持中断Interrupt (IRQ)和快速中断Fast Interrupt (FIQ)向量项的缓存。

其他类型的异常不分配到ETAC中。这是因为对IRQ和FIQ异常的快速响应在实时系统中是至关重要的。

如果向量在TCM中,则向量只被缓存在ETAC中。位于任何其他类型的内存中的向量永远不会分配或命中ETAC。这是因为TCM是唯一具有完美响应的内存。其他内存可能会受到缓存失败的影响,在这些情况下,与缓存失败的延迟相比,ETAC提供的节省是最小的。

如果向量表中的指令是兼容指令,则ETAC只缓存与IRQ或FIQ异常对应的向量。兼容指令是所有B#immed的编码。如果异常向量不是一个兼容指令,则ETAC不会缓存该向量。这个IRQ和FIQ异常可以被带到异常级别EL1或EL2,这取决于中断时的异常级别以及HCR.IMO和HCR.FMO的值。

ETAC独立地支持IRQ和FIQ异常带到EL1和EL2,这意味着对于这些情况,有四个独立的条目。

1.2.2 高级SIMD和浮点支持 Advanced SIMD and floating-point support

每个核心支持的高级SIMD和浮点使用NEONTM技术,一种SIMD架构。

高级SIMD和浮点功能提供:

  • 单精度(C programming language float type)数据处理操作的指令。
  • 双精度(C double type)数据处理操作的可选指令。
  • 组合乘法和累加指令以提高精度(Fused MAC)。
  • 硬件支持转换,加法,减法,乘法,可选累加,除法和平方根。
  • 硬件支持超常量和所有IEEE标准754-2008四舍五入模式。
  • 对于单精度浮点,有32个32位单精度寄存器或16个64位双精度寄存器。
  • 如果包括双精度和高级SIMD的可选指令,则总共有32个64位双精度寄存器或16个128位寄存器可用。

1.2.3 GIC Distributor

GIC Distributor接收、优先级和路由物理中断到适当的中断目标。

GIC Distributor的输出是每个中断目标的最高优先级挂起的中断。中断目标要么是核心的 GIC CPU 接口,要么是连接到外部设备(如直接内存访问Direct Memory Access (DMA)控制器)的输出端口。

1.2.4 GIC CPU interface

GIC CPU接口处理每个核心的物理和虚拟中断的中断抢占。

每个GIC CPU接口的虚拟部分被分为hypervisor寄存器和guest OS寄存器。 hypervisor使用GIC CPU接口生成到guest OS的中断。

1.2.5 Memory system

Cortex-R52内存系统提供不同的内存和接口,这取决于你的实现。

为了在没有强烈实时要求的上下文中使用,每个Cortex-R52内核都有一个专用的128位AXIM接口,用于内存、指令和数据以及外设访问。

此外,为了在实时上下文中使用,每个Cortex-R52内核可以有:

  • 三个统一的TCM,每个8KB-1MB提供最低延迟访问指令和数据。
  • 可选,32位AXI4 LLPP接口设备数据访问专用外设。
  • 128位只读Flash接口。
  • ECC保护所有TCM和闪存提供SECDED保护。
  • TCM访问DMA通过AXIS接口。
  • TCM测试使用MBIST接口。

备注:实时上下文也能够访问AXIM,尽管这种访问可能不是理想的, 这取决于系统设计。

每个Cortex-R52内核都有可选的哈佛缓存,可以用来缓存来自Flash接口和AXIM接口的数据。缓存行为取决于内存属性。

每个内核有:

  • 存储缓冲区,用于存储合并和转发(适当)。
  • 4路指令缓存,4-32KB。 • 指令行填充缓冲区。
  • 4路数据缓存,4-32KB,具有写入行为。
  • 数据读取缓冲区。
  • 所有缓存内存(包括标签RAM)的ECC保护。
  • 64位数据路径用于加载和存储缓存。
  • 根据ARM架构进行缓存维护操作。
  • 使用MBIST接口进行缓存内存测试。

1.2.6 Memory management

内存保护单元 Memory Protection Unit (MPU)决定每个内存位置的属性,包括权限、类型和缓存能力。提供了两个可编程的MPU,分别由EL1和EL2控制。

访问权限决定允许访问一个位置的特权级别,以及是否允许写访问或指令执行。内存类型和缓存能力影响处理器处理特定访问的方式,例如,如果处理器允许将两个存储合并为单个写访问。这些属性及其含义由ARM架构定义。

1.2.7 Debug, trace, and test

处理器具有制造测试设施,处理器中的每个核心都具有侵入式调试和非侵入式调试功能,以支持软件调试。

侵入式调试功能包括硬件异常捕获、断点和观察点、通过调试通信通道的数据传输和单步调试。侵入式调试模式是自承载(或监视)调试和外部(或停止)调试。侵入式调试影响处理器的性能,尽管如果时间允许,您可以安排自承载调试。

非侵入式调试功能包括跟踪指令执行和跟踪数据传输。每个核心都有自己的ETM,允许所有核心在可用的跟踪带宽下同时跟踪。跟踪信息在ATB跟踪总线上导出,可以连接到CoreSight系统,用于组合跟踪源、缓冲和导出它们。

处理器包括PMU,可以生成和计数在核心中发生的事件,如缓存线填充、流水线停顿和ECC错误。这些事件也可以适当地导出供外部硬件使用。

制造测试包括MBIST。

1.3 Interfaces接口

Cortex-R52处理器具有几个外部接口。

1.3.1 Advanced Microcontroller Bus Architecture (AMBA) interfaces 高级微控制器总线体系结构接口

处理器实现了以下 AMBA 接口。

AXIM

Cortex-R52处理器的每个核心都具有一个128位AXIM接口,可高效地访问外部存储器和外设。

AXIS

Cortex-R52处理器中的每个核心都连接到一个共同的128位AXIS接口。这提供了对TCMs的外部访问。AXIS接口支持外部控制器与内部存储器之间的DMA访问。

Advanced Peripheral Bus (APB) Debug interface

AMBA APBv3接口用于调试目的。

LLPP

Cortex-R52处理器中的每个核心都有一个专用的32位LLPP主接口。这些端口旨在用于需要低延迟访问的私有外设。

1.3.2 Flash interface

Cortex-R52处理器中的每个核心都有一个专用的128位只读Flash主接口,可以用作AXI4接口。该接口旨在为连接到处理器上的闪存提供低延迟访问,使处理器能够从闪存ROM中执行实时任务并进行缓存。

1.3.3 Memory Reconstruction Port

Cortex-R52处理器的每个核心都提供了一个MRP来报告写入访问,以便重建内存映像。

每个核心的MRP接口的主要特点是:

  • MRP的跟踪信息是未压缩的。
  • MRP不包括任何过滤。

1.3.4 Interrupt interface

Cortex-R52处理器的中断接口具有一个可配置数量的共享外设中断Shared Peripheral Interrupts (SPI)输入端口,范围从32到960(以32的倍数增加),每个核心至少为32个。所有SPI都可以配置为上升沿触发或电平敏感主动高电平。

中断分配器还具有用于将中断路由到外部设备(如DMA引擎)的可选中断导出端口。

中断控制器通过与将中断路由到核心相同的方式选择此端口来路由SPI。中断控制器还提供了私有外设中断 Private Peripheral Interrupts (PPIs)和软件生成的中断 Software Generated Interrupts(SGIs),这些对于每个核心是私有的。其中一些PPI被公开作为主要输入信号。

1.3.5 MBIST interface

MBIST接口用于在生产测试期间测试RAM。

Cortex-R52处理器允许在正常执行期间使用MBIST接口测试RAM。这被称为在线MBIST。

现有的生产测试MBIST控制器不支持在线MBIST的要求,因此,有必要使用专门为此目的开发的PMC-R52。PMC-R52是Cortex-R52 RTL的一部分。它是一个集成选项,可能不会出现在每个实现中。

有关PMC-R52的更多信息,请参阅Appx-D-632页上的附录D PMC-R52。

有关MBIST接口和在线MBIST的更多信息,请联系您的实现团队。

1.3.6 Low Power Interface

The P-channel 接口用于向外部电源控制器传递电源状态信息。

1.4 Supported standards

该处理器符合或实现了Arm定义的各种规范。

1.4.1 Arm architecture

Cortex-R52处理器实现了Armv8-R AArch32架构。这包括:

  • 支持AArch32执行状态。
  • 支持异常级别,EL0,EL1和EL2。
  • 支持符合ANSI/IEEE Std 754-2008的浮点计算功能,IEEE二进制浮点运算标准。

参见Arm®架构参考手册补充Armv8,了解更多关于Armv8-R AArch32架构简介的信息。

1.4.2 AMBA

Cortex-R52处理器符合以下要求:

image-20240317220717344

1.4.3 Generic Interrupt Controller architecture

Cortex-R52处理器支持GIC架构版本3的一个子集。请参阅Arm®通用中断控制器架构规范,其中包括GIC架构版本3.0和4.0。

1.4.4 Generic Timer architecture

该处理器实现了Arm通用定时器架构。有关更多信息,请参阅《Arm®体系结构参考手册补充 Armv8,针对Armv8-R AArch32体系结构配置文件》。

1.4.5 Debug architecture

该处理器实现了符合CoreSight架构的Armv8-R AArch32调试架构。更多信息请参阅以下内容:

  • Arm® CoreSight™ Architecture Specification v2.0。

  • Arm® Architecture Reference Manual Supplement Armv8,适用于Armv8-R AArch32体系结构配置文件。

1.4.6 Embedded Trace Macrocell architecture

该处理器实现了ETMv4.2架构。请参阅Arm®嵌入式跟踪宏单元架构规范ETMv4。

1.5 Documentation

Cortex-R52处理器文档如下:

Technical Reference Manual

​ 技术参考手册(TRM)描述了处理器的功能和功能选项对其行为的影响。在设计流程的所有阶段都需要使用该手册。在设计流程的早期做出的选择可能意味着TRM中描述的某些行为与实际情况不相关。如果您正在编程处理器,还需从以下方面获取额外信息:

  • 从实施者处确定实现版本配置;

  • 从集成商处确定所使用设备的引脚配置。

Configuration and Sign-off Guide

《配置和签署指南Configuration and Sign-off Guide(CSG)》描述了以下内容:

  • 可用的构建配置选项及其选择相关问题。

  • 如何使用构建配置选项来配置寄存器传输级(RTL)源文件。

  • 如何集成RAM阵列。

  • 如何验证RTL。

  • 如何运行测试向量。

  • 考虑到平面布局的因素。

  • 签署已配置设计的流程。

Arm产品的交付成果包括参考脚本和有关如何使用它们来实施设计的信息。由Arm提供的参考方法流是示例参考实现。如果需要EDA工具支持,请联系您的EDA供应商。CSG是一本保密书,只对许可证持有人开放。

Integration Manual

集成手册 Integration Manual (IM)描述了如何将处理器集成到SoC中。它详细说明了集成者必须连接的信号,以配置宏单元进行所需的集成。一些实施选项可能会影响可用的集成选项。该IM是一本保密书籍,仅供许可证持有人使用。

Safety Manual安全手册

安全手册 safety Manual (SM)及其他相关文件详细描述了故障检测和控制功能的能力,开发过程以及使用假设,以支持集成具有定义的功能安全要求的处理器的产品开发。该安全手册是一本保密书籍,仅供许可证持有人使用。

1.6 Design process

Arm处理器以可综合RTL的形式交付。在该处理器能够用于产品之前,必须经过以下流程:

Implementation

实施者配置和综合RTL以生成一个硬宏单元。这可能包括将缓存RAM集成到设计中。

Integration

集成器将配置的设计连接到SoC。这包括将其连接到内存系统和外围设备。

Programming

这是最后一个步骤。系统程序员开发:

  • 用于配置Arm处理器的软件
  • 用于初始化Arm处理器的软件。
  • 应用软件和SoC测试。

每个过程:

  • 可以由不同的参与方执行。
  • 可以涉及做出配置选择,影响处理器的行为和功能。

最终设备的操作取决于:

Build configuration

实施者选择影响RTL源文件预处理的选项。这些选项通常包括或排除可能影响结果宏单元的面积、最大频率和功能的逻辑。

Configuration inputs

集成商通过将输入与特定值相连来配置处理器的某些功能。这些配置会影响在进行任何软件配置之前的启动行为,并且还可以限制软件可用的选项。

Software configuration

程序员通过将特定的值编程到寄存器中来配置处理器。这会影响处理器的行为。

以上是ARM R52架构的介绍,下节讲程序模型

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/752544.shtml

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

相关文章

C#装箱和拆箱

一,装箱 装箱是指将值类型转化为引用类型。 代码如下: 装箱的内部过程 当值类型需要被装箱为引用类型时,CLR(Common Language Runtime)会为值类型分配内存,在堆上创建一个新的对象。值类型的数据会被复…

Github: Github actions自动化工作原理与多workflow创建和部署

Github actions 1 )概述 Github Actions 是Github官方推出的 CI/CD 解决方案 https://docs.githu.com/en/actions 优点 自动发布流程可减少发布过程中手动操作成本,大幅提升ci/cd效率,快速实现项目发布上线 缺点 存在较高的技术门槛需要利用…

【Git教程】(八)版本库间的交换 —— 版本库的克隆与命名,分支监控、命名、拉取及推送 ~

Git教程 版本库间的交换 1️⃣ 克隆版本库2️⃣ 如何告知 Git 其他版本库的位置3️⃣ 给版本库添加别名4️⃣ 获取数据5️⃣ 远程跟踪分支:监控其他分支6️⃣ 利用本地分支操作别处的版本库7️⃣ PULL操作8️⃣ PUSH操作9️⃣ 命名分支🌾 总结 Git 是个…

elementUI两个select单选框联动

实现需求&#xff1a;两个单选框内容两栋&#xff0c;在选择第一个时&#xff0c;第二个选框能自动更新对应选项。且在切换第一个选项内容时&#xff0c;第二个选框会被清空且切换到新的对应选项。 设置值班班次和备班情况两个选项 &#xff0c;完整代码如下&#xff1a; <…

论文阅读_时序模型_iTransformer

1 2 3 4 5 6 7 8英文名称: ITRANSFORMER: INVERTED TRANSFORMERS ARE EFFECTIVE FOR TIME SERIES FORECASTING 中文名称: ITRANSFORMER&#xff1a;倒置Transformers在时间序列预测中的有效性 链接: https://openreview.net/forum?idX6ZmOsTYVs 代码: https://github.com/thum…

【排序算法】-- 深入理解桶排序算法

概述 在计算机科学中&#xff0c;排序算法是一种对数据进行有序排列的重要技术。桶排序&#xff08;Bucket Sort&#xff09;是一种常见的排序算法&#xff0c;它通过将数据分到有限数量的桶中&#xff0c;并对每个桶中的数据分别排序&#xff0c;最后按照顺序将所有桶中的数据…

机器视觉学习(四)—— 图像的色彩

目录 一、图像的基础知识 二、NumPy模块 三、图像色彩变化 3.1 RGB图像的分通道显示 3.2 HSV图像的分通道显示 一、图像的基础知识 总结的笔记&#xff1a; """ 二值图: 每个像素取值 0或1,图像显示出来只有黑白色; 黑色:0 白色:1 灰度图: …

IoT 物联网场景中 LoRa + 蓝牙Bluetooth 室内场馆高精定位技术全面解析

基于LoRa蓝牙的室内场景定位技术&#xff0c;蓝牙主要负责位置服务&#xff0c;LoRa主要负责数据传输。 01 LoRa和蓝牙技术 LoRa全称 “Long Rang”&#xff0c;是一种成熟的基于扩频技术的低功耗、超长距离的LPWAN无线通信技术。LoRa主要采用的是窄带扩频技术&#xff0c;抗干…

基于深度学习的口罩人脸识别研究进展

MTCNN模型训练输入的所有图像都是正样本&#xff08;戴口罩的照片&#xff09;&#xff0c;没有负样本作为模型输入。在后续的识别任务模块中&#xff0c;导入MTCNN模型检测结果&#xff0c;对特征点进行编码比较进行识别。 基于MTCNN的口罩人脸识别框架可分为四个阶段&#xf…

大美博罗迎盛会,“村ART“点亮新征程

三月的博罗,春意盎然,生机勃勃。在这万物复苏的美好时节,首届"村ART"乡村艺术作品评比大赛盛大开启。本次大赛由博罗县政府和泰康保险集团联合主办,以"农民画农民、农民画农村"为主题,旨在为广大农民朋友搭建一个展示才华、抒发情怀的广阔舞台,用艺术之光点…

IDEA : 已经有一个永久破解版的IDEA2019版本,现在又想安装最新版本的,俩版本共存,发现新版本打不开的解决方案

在新文件的目录下&#xff0c;注释掉一行19版本的地址 地址&#xff1a;C:\Users\23999\AppData\Roaming\JetBrains\IntelliJIdea2023.2 (不同电脑Users后边的一个地址的注释会不一样) 然后找到该目录下的indea64.exe.vmoptions 用 记事本 打开 在-javaagent 那一栏里会自动给…

营气卫气是什么?循行规律?

营在脉中&#xff0c;卫在脉外&#xff0c;营周不休。 营气 营在脉中运行&#xff0c;为什么营气能在脉中运行呢&#xff1f;因其性柔顺精专&#xff0c;所以营气能循行、运行于经脉之中&#xff0c;正如《灵枢卫气》所云“其精气之行于经者&#xff0c;为营气”。 营气的运行…

使用CURL命令确定Access-Control-Allow-Origin问题

一、问题描述 有前端小伙伴反馈ajax请求遇到跨域问题&#xff0c;也让后端小伙伴设置了跨域允许&#xff0c;但诡异的事情是在前端小伙伴的微信开发者工具中Network headers中看到了两行&#xff1a;Access-Control-Allow-Origin&#xff0c;其中居然出现了&#xff1a;“Acce…

uniapp兴趣社区交友圈子系统小程序源码 thinkphp框架后台管理

圈子论坛社区系统&#xff0c;含完整的后台PHP系统。功能&#xff1a;小程序授权登陆&#xff0c;H5和APP&#xff0c;手机号登陆&#xff0c;发帖&#xff0c;建圈子、发活动。圈主可置顶推荐帖子&#xff0c;关注、点赞、评论、交流等。可作为圈子贴吧等自媒体。 兴趣社区圈…

丁腈手指套:守护你的指尖,赋予无限可能

在繁忙的现代生活中&#xff0c;无论是在工业车间、医疗场所&#xff0c;还是日常生活的琐碎细节中&#xff0c;保护我们的双手都显得尤为重要。丁腈手指套作为一种专业的防护用品&#xff0c;以其出色的防护性能、舒适性和灵活性&#xff0c;为众多领域的工作者提供了便捷而高…

SQLServer介绍、安装、数据库导入导出

安装 本地运行的&#xff1a;cn_sql_server_2008_r2_express_with_management_tools_x64.exe 官网&#xff1a;SQL Server下载 同上链接下载SSMS管理 SQL Server Management Studio&#xff08;SSMS&#xff09;是干什么的&#xff1f; SQL Server Management Studio&#x…

理解计算属性等

计算属性 计算属性的作用是将写在computed内的写了对应的属性名&#xff0c;属性值都是函数&#xff0c;将这属性值的函数调用之后的返回值赋给属性名的变量。因此其实计算属性内的是值&#xff0c;不是方法&#xff0c;因此写插值等语句是只是写变量&#xff0c;而不是调用。且…

Python零基础---爬虫技术相关

python 爬虫技术&#xff0c;关于数据相关的拆解&#xff1a; 1.对页面结构的拆解 2.数据包的分析&#xff08;是否加密了参数&#xff09;&#xff08;Md5 aes&#xff09;难易程度&#xff0c;价格 3.对接客户(433,334) # 数据库 CSV 4.结单&#xff08;发一部分数据&a…

【Spring Boot 3】整合nacos + Dubbo3 的Spring cloud Alibaba项目

这里写自定义目录标题 前言1、项目结构2、搭建nacos注册中心、配置中心3、项目依赖4、common模块5、provider服务提供者pom文件bootstrap.yml在nacos中添加配置启动类UserServiceImpl consumer服务消费者pom文件bootstrap.ymlnacos配置启动类UserController 测试END 前言 在sp…

Git——本地使用详解

目录 Git1、开始版本控制1.1、初始化Repository1.2、使目录脱离Git控制 2、把文件交给Git管控2.1、创建文件后交给Git2.2、git add之后再次修改文件2.3、git add "--all"与"."参数区别2.4、把暂存区的内容提交到存储库里存档 3、工作区、暂存区与存储库3.1…