当前位置: 首页 > news >正文

STM32 内存

根据STM32的存储器映射机制,其32位地址总线可访问4GB逻辑地址空间(0x00000000-0xFFFFFFFF),但实际物理地址分配由芯片厂商定义。以下是STM32完整的地址映射结构及关键区域说明:


一、地址空间整体架构

4GB地址空间划分为8个512MB块​(Cortex-M内核统一架构):

地址范围功能区域主要特性
0x00000000-0x1FFFFFFFCode区​(代码存储)Flash主存储区(0x08000000起),系统存储区(0x1FFF0000起),BOOT模式选择区域
0x20000000-0x3FFFFFFFSRAM区​(运行时数据)片上SRAM(0x20000000起),支持位带操作(0x22000000起)
0x40000000-0x5FFFFFFFPeripherals区​(外设寄存器)所有外设寄存器统一编址(如GPIO/UART等)
0x60000000-0x9FFFFFFF外部存储器/设备通过FSMC/FMC总线扩展外部RAM或外设
0xA0000000-0xDFFFFFFF保留区域未分配,用于特殊用途或未来扩展
0xE0000000-0xFFFFFFFF系统控制区内核级寄存器(NVIC、SysTick、MPU等)和调试组件

二、核心区域详解

1. ​代码存储区(Flash)​
  • 起始地址:0x08000000(默认用户程序入口)
  • 功能:存储用户代码、中断向量表及只读数据(.text/.rodata)
  • 容量:因型号而异(如STM32F103C8T6为64KB,F407VG为1MB)
  • 特殊区域
    • 系统存储区​(0x1FFF0000起):出厂固化的Bootloader(如串口ISP程序)
    • 选项字节区​(0x1FFFC000起):配置读写保护、看门狗模式等
2. ​SRAM区
  • 起始地址:0x20000000
  • 功能:存储堆栈、全局变量(.data/.bss)及动态内存
  • 容量:16KB-512KB(如F103C8T6为20KB,H743为1MB)
  • 位带操作区​(0x22000000起):支持单比特原子操作(如GPIO快速翻转)
3. ​外设寄存器区
  • 起始地址:0x40000000
  • 总线分层
    • APB1/APB2​(低速外设):定时器、USART、I2C等(0x40000000-0x40014FFF)
    • AHB1/AHB2​(高速外设):DMA、USB、以太网等(0x40020000-0x50060BFF)
  • 寄存器映射:通过结构体指针访问(如GPIOA->ODR
4. ​系统控制区
  • 起始地址:0xE0000000
  • 包含组件
    • NVIC​(中断控制器):优先级配置及中断响应
    • SysTick​(系统定时器):提供精确延时基准
    • MPU​(内存保护单元):内存权限管理

三、特殊编址机制

1. ​BOOT模式选择

通过BOOT引脚配置启动源:

  • BOOT0=0:从主Flash启动(0x08000000)
  • BOOT0=1:从系统存储区(ISP)或SRAM启动
2. ​重映射机制
  • 中断向量表重映射:可通过VTOR寄存器动态修改向量表位置(如从Flash迁移到RAM加速中断响应)
  • 外设重映射:部分引脚功能可通过AFIO寄存器重映射(如USART1引脚复用)

四、典型型号地址示例(STM32F103系列)

区域地址范围容量用途
主Flash0x08000000-0x0801FFFF128KB用户程序存储
SRAM0x20000000-0x2000FFFF64KB运行时数据
APB1外设0x40000000-0x400077FF30KB定时器2-7、SPI/I2C等
AHB1外设0x40020000-0x4007FFFF384KBGPIO、DMA、USB等

五、开发注意事项

  1. 地址边界检查:操作外设前需确认寄存器偏移量(参考《参考手册》表32-35)
  2. 对齐访问:32位寄存器必须按4字节对齐访问,否则触发HardFault
  3. 位带操作优化:对频繁操作的位(如LED控制)建议使用位带别名区

 

STM32系统控制区详解

STM32的系统控制区(System Control Space, SCS)是Cortex-M内核的核心功能模块集中区域,主要用于管理中断、异常、时钟、调试等系统级功能。其地址范围为 ​0xE0000000-0xFFFFFFFF,具体可分为以下几个核心模块:


一、系统控制区的主要组件
  1. NVIC(嵌套向量中断控制器)​

    • 功能:管理所有可屏蔽中断的优先级、使能状态及响应逻辑。
    • 关键寄存器
      • NVIC_ISER/ICER:中断使能/禁用寄存器(通过位操作控制中断开关)。
      • NVIC_IPR:中断优先级寄存器,支持抢占优先级和响应优先级的分组配置。
    • 地址范围:0xE000E100-0xE000E4EF(具体因型号而异)。
  2. SysTick(系统定时器)​

    • 功能:提供精确的时基,常用于操作系统调度或延时函数。
    • 关键寄存器
      • SYST_CSR:控制寄存器(启动/停止定时器、中断使能)。
      • SYST_RVR:重装载值寄存器(设置定时周期)。
  3. SCB(系统控制块)​

    • 功能:配置系统级行为,如异常处理、复位控制及内存保护。
    • 关键寄存器
      • SCB_AIRCR:应用中断及复位控制寄存器,包含优先级分组(PRIGROUP)和系统复位请求位(SYSRESETREQ)。
      • SCB_SHCSR:系统异常控制与状态寄存器,用于管理内存故障、总线错误等异常。
  4. MPU(内存保护单元)​

    • 功能:定义内存区域的访问权限(如只读、不可执行),增强系统安全性。
    • 关键寄存器
      • MPU_RBAR:内存区域基址寄存器。
      • MPU_RASR:内存区域属性与大小寄存器。
  5. 调试组件(ITM、DWT、TPIU等)​

    • 功能:支持实时跟踪、断点调试及性能分析。
    • 关键模块
      • ITM(Instrumentation Trace Macrocell)​:通过SWO引脚输出调试信息。
      • DWT(Data Watchpoint and Trace)​:设置数据观察点,监控变量变化。

二、系统控制区的访问方式
  1. 直接寄存器操作
    通过内存映射地址直接读写寄存器,例如配置NVIC中断优先级:

    // 设置中断2的优先级为最高抢占级
    NVIC->IP[2] = 0x00;  // 寄存器地址0xE000E400 + 2 * 4
  2. 库函数封装
    使用HAL/LL库或标准库(如misc.c中的函数)简化操作,例如:

    HAL_NVIC_SetPriority(IRQn_Type IRQn, uint32_t PreemptPriority, uint32_t SubPriority);
  3. 调试工具支持
    通过JTAG/SWD接口,结合IDE(如STM32CubeIDE)实时查看和修改系统控制寄存器。


三、开发注意事项
  1. 中断优先级配置

    • 根据SCB_AIRCR的优先级分组(PRIGROUP)合理分配抢占优先级和响应优先级,避免优先级反转。
  2. 内存保护单元(MPU)启用

    • 在RTOS或多任务系统中,需通过MPU隔离任务内存空间,防止非法访问。
  3. 系统复位控制

    • 通过SCB_AIRCR的SYSRESETREQ位可触发芯片软复位,适用于异常恢复。
  4. 调试接口安全

    • 量产时需关闭调试接口(如禁用SWD),防止未授权访问。

四、典型应用场景
  • 实时操作系统(RTOS)​:通过SysTick提供任务调度时基,结合NVIC管理任务切换中断。
  • 安全关键系统:利用MPU限制敏感数据区域的访问权限。
  • 低功耗模式:通过SCB配置睡眠/停机模式,结合调试模块监控功耗状态。

 

SCB(System Control Block)系统控制块详解

SCB(System Control Block)是ARM Cortex-M系列处理器中的核心模块,负责系统级配置、异常管理、中断控制和低功耗模式等关键功能,其地址范围位于 ​0xE000E000–0xE000EDFF​(具体因内核型号而异)。以下是SCB的详细解析:


一、SCB的核心功能
  1. 中断与异常管理

    • 中断控制:通过 ​ICSR(Interrupt Control and State Register)​ 控制中断挂起状态和优先级,例如触发PendSV异常以实现任务切换。
    • 异常处理:通过 ​SHCSR(System Handler Control and State Register)​ 监控系统异常(如内存故障、总线错误)的状态,并配置优先级。
    • 向量表重定位:​VTOR(Vector Table Offset Register)​ 允许将中断向量表重定位到Flash或RAM的任意地址,支持动态固件更新。
  2. 系统配置与复位

    • 复位控制:​AIRCR(Application Interrupt and Reset Control Register)​ 实现软复位(写入 0x5FA + SYSRESETREQ 位),并配置中断优先级分组(如抢占式与子优先级)。
    • 低功耗模式:​SCR(System Control Register)​ 控制处理器进入休眠(Sleep)或深度休眠(Deep Sleep)模式,优化能耗。
  3. 调试与错误诊断

    • 错误状态寄存器:​CFSR(Configurable Fault Status Register)​ 和 ​HFSR(HardFault Status Register)​ 记录内存访问错误、非法指令等异常原因。
    • 调试支持:​DFSR(Debug Fault Status Register)​ 提供调试事件(如断点触发、单步执行)的状态信息。
  4. 高级特性配置

    • 栈对齐与错误处理:​CCR(Configuration Control Register)​STKALIGN 位强制栈双字对齐,DIV_0_TRPUNALIGN_TRP 位分别启用除零和非对齐访问异常。
    • 内存保护:通过 ​MPU(Memory Protection Unit)​ 定义内存区域权限(需结合SCB配置)。

二、关键寄存器详解
寄存器名地址功能描述示例代码/操作
ICSR0xE000ED04中断控制和状态,支持触发PendSV/SysTick异常,查看当前中断状态。SCB->ICSR
AIRCR0xE000ED0C系统复位和中断优先级分组控制。SCB->AIRCR = (0x5FAUL << 16) | SCB_AIRCR_PRIGROUP_Msk; // 优先级分组
VTOR0xE000ED08重定位中断向量表地址。SCB->VTOR = 0x20000000; // 向量表重定位到RAM起始地址
CCR0xE000ED14配置处理器行为,如栈对齐、非对齐访问异常。SCB->CCR
SHCSR0xE000ED24使能系统异常(如BusFault、MemManage)并查看其状态。SCB->SHCSR

三、典型应用场景
  1. 实时操作系统(RTOS)​

    • 通过PendSV异常实现任务上下文切换,结合SysTick定时器提供时间片调度。
    • 使用MPU隔离任务内存空间,防止非法访问。
  2. 低功耗设计

    • 通过SCR配置休眠模式,搭配中断唤醒机制(如外部GPIO中断)实现动态功耗管理。
  3. 系统调试与错误处理

    • 利用CFSR和HFSR快速定位HardFault原因(如空指针访问、栈溢出)。
    • 通过ITM(Instrumentation Trace Macrocell)输出调试信息,结合DWT跟踪变量变化。
  4. 安全关键系统

    • 启用CCR的DIV_0_TRPUNALIGN_TRP位,防止除零或非对齐访问导致的未定义行为。
    • 配置AIRCR的优先级分组,避免中断嵌套引发的优先级反转问题。

 


SHCSR(System Handler Control and State Register)详解

SHCSR​(系统处理控制与状态寄存器)是 ARM Cortex-M 系列处理器中 ​SCB(System Control Block)​ 的核心寄存器之一,地址为 ​0xE000ED24。它主要用于控制可配置异常(如内存管理错误、总线错误、使用错误)的使能状态,并监控系统异常的活动状态。以下是关键解析:


一、核心功能
  1. 异常使能控制

    • USGFAULTENA​(位18):启用 ​UsageFault 异常(如除零、未对齐访问错误)。
    • BUSFAULTENA​(位17):启用 ​BusFault 异常(总线访问错误)。
    • MEMFAULTENA​(位16):启用 ​MemManage 异常(内存保护错误)。
  2. 异常状态监控

    • USGFAULTACT​(位3):置1时表示 ​UsageFault 正在处理。
    • BUSFAULTACT​(位1):置1时表示 ​BusFault 正在处理。
    • MEMFAULTACT​(位0):置1时表示 ​MemManage 正在处理。
  3. 系统异常挂起状态

    • USGFAULTPENDED​(位12)、BUSFAULTPENDED​(位14)等:标记异常是否因高优先级中断而被挂起。

二、关键位段详解
位段名称类型功能描述
18USGFAULTENAR/W使能 ​UsageFault​(如除零、未对齐访问触发异常)
17BUSFAULTENAR/W使能 ​BusFault​(如非法地址访问或总线超时)
16MEMFAULTENAR/W使能 ​MemManage​(如内存区域权限冲突)
3USGFAULTACTR/W当前是否正在处理 ​UsageFault
1BUSFAULTACTR/W当前是否正在处理 ​BusFault
0MEMFAULTACTR/W当前是否正在处理 ​MemManage

三、典型应用场景
  1. 启用异常处理
    需通过 ​读-修改-写 操作避免误修改其他位。例如,使能总线错误异常:

    SCB->SHCSR |= (1 << 17);  // 通过或操作设置 BUSFAULTENA 位[7](@ref)
  2. 异常调试与诊断

    • 当发生 ​HardFault 时,结合 ​CFSR​(可配置错误状态寄存器)分析具体错误类型。
    • 若 ​USGFAULTACT=1,需检查 ​CFSR 的 ​DIVBYZERO 或 ​UNALIGNED 位判断是否为除零或未对齐访问错误。
  3. 动态异常管理

    • 在安全关键系统中,可动态关闭非关键异常(如临时禁用 ​MemManage)以优化性能。

 

相关文章:

STM32 内存

根据STM32的存储器映射机制&#xff0c;其32位地址总线可访问4GB逻辑地址空间&#xff08;0x00000000-0xFFFFFFFF&#xff09;&#xff0c;但实际物理地址分配由芯片厂商定义。以下是STM32完整的地址映射结构及关键区域说明&#xff1a; 一、地址空间整体架构 4GB地址空间划分…...

图片的require问题

问题 <template><!--第一种方式--><img :src"require(/assets/${imageName})" style"width:100px;" /><!--第二种方式--><img :src"require(imageUrl)" style"width:100px;" /> </template><…...

关于 js:8. 反调试与混淆识别

一、常见反调试手段识别 1. debugger 死循环&#xff08;阻塞调试器&#xff09; 样例代码&#xff1a; while (true) {debugger; }原理&#xff1a; 每次执行到 debugger 语句&#xff0c;如果 DevTools 打开&#xff0c;将自动触发断点。 如果在死循环中&#xff0c;调试…...

深度Q网络(DQN)的基本概念

一、深度Q网络(DQN)的基本概念 深度Q网络(Deep Q-Network,DQN)是将强化学习中的Q学习(Q-Learning)与深度学习相结合的算法,由DeepMind在2013年提出,并在2015年发表于《Nature》杂志。它通过神经网络近似动作价值函数(Q函数),解决传统Q学习在高维状态空间下的计算难…...

uniapp+vue3中自动导入ref等依赖

前言&#xff1a; 在我们使用uni-appvue3创建项目&#xff0c;开发的过程中&#xff0c;老是需要导入我们的ref、onshow等&#xff0c;那么能不能自动导入&#xff0c;不用我们每个页面都写呢&#xff1f;是没问题的&#xff0c;这里让他的小帮手来帮你减轻负担&#xff1a;他就…...

合肥SMT贴片加工核心优势与工艺升级

内容概要 在电子制造领域&#xff0c;工艺精度与生产效率的平衡始终是企业关注的核心命题。本文将系统呈现合肥SMT贴片加工产业的技术演进图谱&#xff0c;为寻求制造升级的企业提供可落地的决策参考。 作为长三角电子制造集群的重要节点&#xff0c;合肥SMT贴片加工产业通过持…...

Ansible安装与核心模块实战指南

Ansible安装与核心模块实战指南 自动化运维入门:从安装到模块化任务配置 Ansible作为一款无代理自动化工具,通过模块化设计实现高效管理,尤其适用于快速部署、配置和维护大规模系统。本文将从安装、核心模块使用到实际案例,全面解析其核心功能与最佳实践。 一、Ansible安装…...

TDengine 做为 Spark 数据源

简介 Apache Spark 是开源大数据处理引擎&#xff0c;它基于内存计算&#xff0c;可用于批、流处理、机器学习、图计算等多种场景&#xff0c;支持 MapReduce 计算模型及丰富计算操作符、函数等&#xff0c;在大超大规模数据上具有强大的分布式处理计算能力。 通过 TDengine …...

Codeforces Round 997 (Div. 2)

A. Shape Perimeter 题目大意 给你一个m*m的正方形&#xff0c;再给你n个坐标表示每次在xy移动的距离&#xff08;第一个坐标是初始位置正方形左下角&#xff09;&#xff0c;问路径图形的周长 解题思路 记录好第一次的位置之后一直累加最后求总移动距离的差值即可 代码实…...

WSL 安装 Debian 12 后,Linux 如何安装 nginx ?

在 WSL 的 Debian 12 中安装 Nginx 的步骤如下&#xff1a; 1. 更新系统软件包 sudo apt update && sudo apt upgrade -y2. 安装 Nginx sudo apt install nginx -y3. 管理 Nginx 服务 ▶ 启动 Nginx sudo service nginx start # 如果使用 systemd 可能需改用&…...

目标检测任务 - 数据增强

目标检测任务 - DETR &#xff1a; 数据预处理/数据增强 算法源码实例 import datasets.transforms as Tnormalize T.Compose([T.ToTensor(),T.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225]) ])scales [480, 512, 544, 576, 608, 640, 672, 704, 736, 768, 800]…...

java的switch case

import java.util.Scanner;public class Hello {public static void main(String[] args) {Scanner in new Scanner(System.in);int type in.nextInt();switch(type){case 1:case 2:System.out.println("你好");break;case 3:System.out.println("晚上好"…...

基于亚博K210开发板——LCD触摸屏读取坐标数据测试

开发板 亚博K210开发板 实验目的 主要学习 K210 通过 I2C 读取触摸屏的坐标&#xff0c;并打印出来&#xff0c;显示在 LCD上。 实验准备 实验元件 LCD 显示屏触摸板 元件特性 K210 开发板自带 2.0 寸触摸屏&#xff0c;其实是 LCD 显示屏上贴一个触摸板组成&#xf…...

coze平台实现文生视频和图生视频(阿里云版)工作流

工作流全貌 开始 首先从入参开始&#xff1a; api_key&#xff1a;来自阿里云百炼平台&#xff0c;自行去申请 prompt&#xff1a;生成视频的文本提示词。支持中英文&#xff0c;长度不超过800个字符&#xff0c;每个汉字/字母占一个字符&#xff0c;超过部分会自动截断。 …...

python酒店健身俱乐部管理系统

目录 技术栈介绍具体实现截图系统设计研究方法&#xff1a;设计步骤设计流程核心代码部分展示研究方法详细视频演示试验方案论文大纲源码获取/详细视频演示 技术栈介绍 Django-SpringBoot-php-Node.js-flask 本课题的研究方法和研究步骤基本合理&#xff0c;难度适中&#xf…...

QtGUI模块功能详细说明,图标和光标(七)

目录 一.窗口和屏幕管理 二. 绘图和渲染 三. 图像处理 四. 字体和文本 五. 事件和输入处理 六. OpenGL 和硬件加速 七. 颜色和外观 八. 图标和光标 1、QIcon: 图标管理 1.1、QIcon 简介 1.2、图标的来源与创建 1.3、多分辨率与 DPI 支持 1.4、图标的状态管理 2、…...

【图像处理基石】如何入门OCR技术?

入门OCR&#xff08;Optical Character Recognition&#xff0c;光学字符识别&#xff09;技术需要结合理论学习、工具实践和项目实战&#xff0c;以下是分步骤的学习指南&#xff0c;适合零基础学习者&#xff1a; 一、明确OCR技术的核心概念 OCR的基本原理 核心流程&#xf…...

数据库知识沉浸式游戏化学习设计研究

数据库知识沉浸式游戏化学习设计研究 摘要: 本研究旨在设计一款以数据库知识为主题的沉浸式游戏化学习系统。通过对数据库知识体系的深入剖析,结合游戏化学习理论,构建了一个多层次、多任务的游戏架构。玩家在游戏过程中需完成构建数据库结构、编写 SQL 查询等任务来解锁关…...

大疆无人机

在大疆上云API中&#xff0c;​​DRC 链路​​通常指 ​​Device-Cloud Remote Control Link&#xff08;设备-云端远程控制链路&#xff09;​​&#xff0c;它是无人机&#xff08;或设备&#xff09;与云端服务之间建立的​​实时控制与数据传输通道​​&#xff0c;用于实现…...

撤回不了一点 v1.0.2,支持微信QQ钉钉飞书等消息防撤回

如今生活节奏快得飞起&#xff0c;社交软件和工作通讯软件成了咱日常交流的核心阵地。大家肯定都有过这些闹心事儿&#xff1a;和朋友聊得正嗨&#xff0c;对方突然撤回一条消息&#xff0c;好奇心瞬间爆棚&#xff0c;却怎么也看不到撤回的内容&#xff1b;工作群里关键信息刚…...

什么是Git?

“Git”是目前非常火、广泛使用的版本控制系统&#xff0c;尤其在软件开发领域中扮演着核心角色。 一、什么是Git&#xff1f;它到底是什么&#xff1f; Git 是一种版本控制系统&#xff08;Version Control System, VCS&#xff09;。它的主要作用是帮助开发者管理“代码的不…...

微信小程序 自定义图片分享-绘制数据图片以及信息文字

一 、需求 从数据库中读取头像&#xff0c;姓名电话等信息&#xff0c;当分享给女朋友时&#xff0c;每个信息不一样 二、实现方案 1、先将数据库中需要的头像姓名信息读取出来加载到data 数据项中 data:{firstName:, // 姓名img:, // 头像shareImage:,// 存储临时图片 } 2…...

langchain提示词的使用

一、概述 提示词是指向人工智能大模型提供的输入信息&#xff0c;通常包含关键词、问题或指令&#xff0c;可以引导大模型生成与用户期望相符的回应。我们在豆包&#xff0c;DeepSeek等大模型中输入的问题都可以认为一个简单的提示词&#xff0c;不过为了真正得到我们需要的结…...

C语言| extern的用法作用

C语言| 局部变量、全局变量 extern定义的变量&#xff0c;只对全局变量有用。 掌握extern的用法及其作用。extern主要用于在不同.c文件间扩展全局变量的作用范围。 扩展全局变量的使用范围&#xff0c;操作方法&#xff1a; 1 在一个文件内扩展全局变量的使用范围 全局变量…...

Rust 环境变量管理秘籍:从菜鸟到老鸟都爱的 dotenv 教程

前言 写代码的你,是否遭遇过这些灵魂拷问: “我现在在哪个环境?开发?测试?还是直接在生产线上裸奔?”“少写一个 .env,测试脚本在数据库里上演清空大法,客户当场破防。”“每次手动设置 RUST_ENV,命令敲到一半就开始怀疑人生,还怕输错一个字符引发灭世级事故。”别慌…...

Leetcode (力扣)做题记录 hot100(49,136,169,20)

力扣第49题&#xff1a;字母异位词分组 49. 字母异位词分组 - 力扣&#xff08;LeetCode&#xff09; 遍历数组&#xff0c;将每一个字符串变成char数组 然后排序&#xff0c;如果map里面有则将他的值返回来&#xff08;key是排序好的字符串&#xff09; class Solution {pu…...

Slitaz 系统深度解析

Slitaz 系统深度解析&#xff1a;从系统架构到设计哲学 一、系统定位与核心目标 Slitaz&#xff08;Simplified Lightweight IT Automatic Zen&#xff09;是一个基于 Linux 的超轻量级发行版&#xff0c;设计目标是极致轻量化、快速启动、低资源消耗&#xff0c;专为老旧硬件…...

Deepseek+Xmind:秒速生成思维导图与流程图

deepseekxmind&#xff0c;快速生成思维导图和流程图 文章目录 思维导图deepseek笔记本 txt文件xmind 流程图deepseekdraw.io 思维导图 deepseek 笔记本 txt文件 将deep seek的东西复制到文本文件中&#xff0c;然后将txt文件拓展名改成md xmind 新建思维导图----左上角三…...

理解计算机系统_并发编程(5)_基于线程的并发(二):线程api和基于线程的并发服务器

前言 以<深入理解计算机系统>(以下称“本书”)内容为基础&#xff0c;对程序的整个过程进行梳理。本书内容对整个计算机系统做了系统性导引,每部分内容都是单独的一门课.学习深度根据自己需要来定 引入 接续上一篇理解计算机系统_并发编程(4)_基于线程的并发(一…...

java刷题基础知识

List<int[]> merged new ArrayList<int[]>(); return merged.toArray(new int[merged.size()][]); 表示一个存储 int[] 类型元素的列表&#xff0c;list灵活支持扩展&#xff0c;因为不知道最后有几个区间&#xff0c;所以用list&#xff0c;最后toArray返回成数组…...

MATLAB语音情感识别神经网络方法

在MATLAB中使用神经网络进行语音情感识别通常涉及以下步骤&#xff1a;数据准备、特征提取、神经网络模型构建、训练与评估。以下是详细说明和示例代码&#xff1a; 1. 数据准备 数据集&#xff1a;推荐使用公开情感语音数据集&#xff08;如RAVDESS、CREMA-D、EMODB等&#x…...

PostgreSQL 服务器信号函数

PostgreSQL 服务器信号函数 PostgreSQL 提供了一组服务器信号函数&#xff08;Server Signaling Functions&#xff09;&#xff0c;允许数据库管理员向 PostgreSQL 服务器进程发送特定信号以控制服务器行为。这些函数提供了对数据库服务器的精细控制能力。 一、核心信号函数…...

流动式起重机Q2的培训内容有哪些?

流动式起重机 Q2 的培训内容主要分为理论知识和实际操作两部分&#xff0c;具体如下&#xff1a; 理论知识 基础理论知识&#xff1a;涵盖机械原理、液压原理、电气原理等内容&#xff0c;帮助学员理解起重机的基本工作原理。例如&#xff0c;通过机械原理知识&#xff0c;学员…...

虹科应用 | 探索PCAN卡与医疗机器人的革命性结合

随着医疗技术的不断进步&#xff0c;医疗机器人在提高手术精度、减少感染风险以及提升患者护理质量方面发挥着越来越重要的作用。医疗机器人的精确操作依赖于稳定且高效的数据通信系统&#xff0c;虹科提供的PCAN四通道mini PCIe转CAN FD卡&#xff0c;正是为了满足这一需求而设…...

Linux系统编程---Signal信号集

0、前言 在上一篇博客笔记文章中&#xff0c;对Linux进程间通信的信号进行了讲解&#xff0c;本章将接着上一篇文章的内容&#xff0c;继续对Linux进程间通信中信号部分的信号集这个小知识点进行梳理。 如果有对Linux系统编程有不了解的地方&#xff0c;欢迎查阅博主的Linux系统…...

上电单次复位触发电路

SA1相当于是另外一个触发信号&#xff0c;S2A是手动触发信号&#xff0c;当S1A和S2A开关都断开时,示波器A入口所连接线路为上拉状态&#xff0c;高电平为3V。 当S2A闭合&#xff0c;相当于手动拉低&#xff0c;可以用于唤醒单片机之类的。 当S1A闭合&#xff0c;模拟电源接入&…...

talk-linux 不同用户之间终端通信

好的&#xff01;下面是一个完整的指南和脚本&#xff0c;用于在两台 Linux 主机上配置并使用 talk 聊天功能&#xff08;假设它们在同一个局域网内&#xff09;。 ⸻ &#x1f9fe; 一、需求说明 我们需要在两台主机上&#xff1a; 1. 安装 talk 和 talkd 2. 启用 talkd 服…...

QGIS 将 Shapefile 导入 PostGIS 数据库

一、背景介绍&#xff1a;QGIS、PostgreSQL 和 PostGIS 的关系和用途 在开始动手操作之前&#xff0c;我们先简单了解一下 QGIS、PostgreSQL 和 PostGIS 之间的关系及其用途。 QGIS&#xff08;Quantum GIS&#xff09;&#xff1a;一款开源免费的桌面地理信息系统&#xff0…...

《内网渗透测试:绕过最新防火墙策略》

内网渗透测试是检验企业网络安全防御体系有效性的核心手段&#xff0c;而现代防火墙策略的持续演进&#xff08;如零信任架构、AI流量分析、深度包检测&#xff09;对攻击者提出了更高挑战。本文系统解析2024年新型防火墙的防护机制&#xff0c;聚焦协议隐蔽隧道、上下文感知绕…...

CSS结构性伪类、UI伪类与动态伪类全解析:从文档结构到交互状态的精准选择

一、结构性伪类选择器&#xff1a;文档树中的位置导航器 结构性伪类选择器是CSS中基于元素在HTML文档树中的层级关系、位置索引或结构特征进行匹配的一类选择器。它们无需依赖具体的类名或ID&#xff0c;仅通过文档结构即可精准定位元素&#xff0c;是实现响应式布局和复杂文档…...

【大模型LLM学习】MiniCPM的注意力机制学习

【大模型LLM学习】MiniCPM的注意力机制学习 前言1 Preliminary1.1 MHA1.2 KV-cache 2 GQAGQA的MiniCPM实现 3 MLAMLA的MiniCPM-3-4b的实现 TODO 前言 之前MiniCPM3-4B是最早达到gpt-3.5能力的端侧小模型&#xff0c;其注意力机制使用了MLA。本来想借着MiniCPM从MHA过到MLA的&am…...

stm32之PWR、WDG

目录 1.PWR1.1 简介1.2 电源框图1.3 上电复位和掉电复位1.4 可编程电压监测器1.5 低功耗模式1.5.1 模式选择1.5.2 睡眠模式1.5.3 停止模式1.5.4 待机模式 1.6 实验1.6.1 修改主频1.6.2 睡眠模式串口发送接收1.6.3 停止模式对射式红外传感器计次1.6.4 待机模式实时时钟 2.看门狗…...

分布式任务调度XXL-Job

​ XXL-Job 是一款轻量级、分布式的任务调度平台&#xff0c;其核心设计解决了传统任务调度&#xff08;如Quartz&#xff09;在分布式场景下的‌任务分片‌、‌高可用‌、‌可视化管控‌等痛点。以下从原理、核心架构、应用场景、代码示例及关联中间件展开详解 一、主流任务…...

内存泄漏与OOM崩溃根治方案:JVM与原生内存池差异化排查手册

内存泄漏与OOM崩溃根治方案&#xff1a;JVM与原生内存池差异化排查手册 一、问题描述与快速解决方案 1. 核心问题分类 内存泄漏&#xff08;Memory Leak&#xff09; 现象&#xff1a;应用运行时间越长&#xff0c;内存占用持续攀升&#xff0c;GC回收效率下降&#xff0c;最…...

火山引擎发展初始

火山引擎是字节跳动旗下的云计算服务品牌&#xff0c;其云服务业务的启动和正式商业化时间线如下&#xff1a; 1. **初期探索&#xff08;2020年之前&#xff09;** 字节跳动在早期为支持自身业务&#xff08;如抖音、今日头条等&#xff09;构建了强大的基础设施和技术中…...

使用光标测量,使用 TDR 测量 pH 和 fF

时域反射计 &#xff08;TDR&#xff09; 是一种通常用于测量印刷电路板 &#xff08;PCB&#xff09; 测试试样和电缆阻抗的仪器。TDR 对于测量过孔和元件焊盘的电感和电容、探针尖端电容和电感&#xff0c;甚至寄生电感收发器耦合电容器也非常有用。这也是验证仿真或提取您自…...

mybatisplus 集成逻辑删除

一开始&#xff0c;没去查资料&#xff0c;后面要被AI气死了&#xff0c;先看它的的话 一开始&#xff0c;看ai的描述&#xff0c;我还以为&#xff0c;不需要改数据库&#xff0c;mybatis-puls自动拦截集成就可以实现逻辑删除&#xff0c;c&#xff0c;最后还是要给数据库加一…...

ABAP+旧数据接管的会计年度未确定

导资产主数据时&#xff0c;报错旧数据接管的会计年度未确定 是因为程序里面使用了下列函数AISCO_CALCULATE_FIRST_DAY&#xff0c;输入公司代码&#xff0c;获取会计年度&#xff0c;这个数据是在后台表T093C表中取数的&#xff0c;通过SE16N可以看到后台表数据没有数&#xf…...

KT148A语音芯片发码很难播放_将4脚对地一下再发正常,什么原因?

问题描述如下&#xff1a;您好&#xff0c;遇到一点问题请帮忙支持一下&#xff1a; KT148A 这颗芯片&#xff0c; 我们上电后发码很难触发播放&#xff0c; 但用镊子将4pin PB0对地短接触发一下&#xff0c;再发码就很正常&#xff0c;这是什么原因&#xff1f; 根据现象来看…...

【大模型】DeepResearcher:通用智能体通过强化学习探索优化

DeepResearcher&#xff1a;通过强化学习在真实环境中扩展深度研究 一、引言二、技术原理&#xff08;一&#xff09;强化学习与深度研究代理&#xff08;二&#xff09;认知行为的出现&#xff08;三&#xff09;模型架构 三、实战运行方式&#xff08;一&#xff09;环境搭建…...