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

STM32完整内存地址空间分配详解

在STM32这类基于ARM Cortex-M的32位微控制器中,整个4GB的地址空间(从0x00000000到0xFFFFFFFF)有着非常系统化的分配方案,每个区域都有其特定的用途。下面我将详细介绍这些地址区域的分配及其功能:

STM32完整内存地址空间分配详解(0x00000000-0xFFFFFFFF)

代码区域 (0x00000000-0x1FFFFFFF)

  • 0x00000000-0x07FFFFFF:

    • 别名区域: 根据BOOT引脚配置,这个区域映射到以下三者之一:
      • Flash存储器(从0x08000000开始)
      • 系统存储器(内置Bootloader)
      • SRAM(从0x20000000开始)
    • 主要用途: CPU复位后首先从0x00000000读取初始栈指针和程序计数器,这个重映射机制允许灵活选择启动设备
  • 0x08000000-0x0FFFFFFF:

    • Flash存储器区域: 内部Flash的实际物理地址
    • 用途: 存储程序代码、常量数据和向量表
    • 特点: 在大多数STM32中,只使用前几MB的地址空间(根据具体型号,从64KB到2MB不等)
  • 0x10000000-0x1FFFFFFF:

    • 片上存储器区域: 包含特殊功能内存
    • 包含:
      • CCM数据RAM(核心耦合内存): 0x10000000开始(在某些STM32F4/F7系列)
      • SRAM(某些STM32H7): 0x10000000-0x1001FFFF
      • TCM(紧耦合内存): 在STM32H7系列中的ITCM/DTCM
      • 系统存储器: 0x1FFF0000-0x1FFFFFFF(厂商预编程的引导加载程序位置)
      • OTP和设备ID: 0x1FFF7800-0x1FFF7A0F(一次性可编程区域)

SRAM区域 (0x20000000-0x3FFFFFFF)

  • 0x20000000-0x3FFFFFFF:
    • 片上SRAM区域: 内部SRAM的主要区域
    • 布局:
      • 主SRAM(SRAM1): 从0x20000000开始
      • 附加SRAM区域(SRAM2/3等): 紧接SRAM1后排列
      • 备份SRAM: 某些STM32中包含电池供电的小型SRAM
    • 用途: 存储全局变量、堆、栈和动态分配的数据

外设区域 (0x40000000-0x5FFFFFFF)

  • 0x40000000-0x4FFFFFFF:

    • APB1/APB2/AHB1/AHB2外设区域: 所有外设寄存器均映射在此区域
    • 划分:
      • APB1外设(低速): 0x40000000-0x4000FFFF(USART2/3, SPI2/3, I2C1/2/3, 各种定时器等)
      • APB2外设(高速): 0x40010000-0x4001FFFF(USART1, SPI1, TIM1/8, ADC等)
      • AHB1外设: 0x40020000-0x4007FFFF(GPIO, DMA, RCC, Flash接口等)
      • AHB2外设: 0x40080000-0x400FFFFF(USB OTG, DCMI等)
  • 0x50000000-0x5FFFFFFF:

    • 扩展外设区域: 主要用于更高级的STM32型号中的额外外设
    • 包含: 高级外设和特殊功能单元(如加密单元)

外部设备区域 (0x60000000-0x9FFFFFFF)

  • 0x60000000-0x7FFFFFFF:

    • 外部存储器(FMC/FSMC控制器的Bank 1和2)区域
    • 用途: 连接外部SRAM、NOR Flash和PSRAM
    • 特点: 通过灵活存储器控制器(FMC/FSMC)进行管理
  • 0x80000000-0x8FFFFFFF:

    • 外部存储器(FMC/FSMC控制器的Bank 3)区域
    • 用途: 主要用于连接外部NAND Flash
  • 0x90000000-0x9FFFFFFF:

    • 外部存储器(FMC/FSMC控制器的Bank 4)区域
    • 用途: 在STM32F4/F7/H7系列中用于连接PC卡和CompactFlash设备

高级外设区域 (0xA0000000-0xDFFFFFFF)

  • 0xA0000000-0xBFFFFFFF:

    • 保留区域/特定于型号的扩展区域
    • 用途: 用于特定产品的专用外设或将来扩展使用
  • 0xC0000000-0xCFFFFFFF:

    • 灵活存储器控制器(FMC)Bank 5和6区域
    • 用途: 在支持SDRAM的STM32中连接外部SDRAM
    • 特点: 主要在STM32F4/F7/H7系列中使用,支持DDR内存接口
  • 0xD0000000-0xDFFFFFFF:

    • 保留区域/设备扩展空间
    • 用途: 预留以支持更多FMC/FSMC存储器映射或未来功能

系统区域 (0xE0000000-0xFFFFFFFF)

  • 0xE0000000-0xE00FFFFF:

    • 内核外设区域(PPB - Private Peripheral Bus)
    • 包含:
      • SysTick系统定时器: 0xE000E010-0xE000E01F
      • NVIC中断控制器: 0xE000E100-0xE000E4EF
      • 系统控制块(SCB): 0xE000ED00-0xE000ED8F
      • MPU内存保护单元: 0xE000ED90-0xE000EDBF
      • DBGMCU调试单元: 0xE000EDF0-0xE000EDFC
    • 特点: 这些是ARM Cortex-M核心的标准外设,所有STM32系列都类似
  • 0xE0100000-0xFFFFFFFF:

    • 供应商特定区域/保留区域
    • 包含:
      • 厂商专用的调试接口
      • 高级调试和跟踪功能
      • 系统ROM表(0xE00FF000-0xE00FFFFF)
      • 大部分空间保留给未来的ARM架构扩展

特殊内存区域功能详解

位带区域 (Bit-banding) - ARM Cortex-M3/M4/M7核心特性

位带映射允许对特定内存区域的单个位进行原子操作,避免了读-修改-写操作中可能的中断问题。

  • SRAM位带区域:

    • 原始区域: 0x20000000-0x200FFFFF (1MB)
    • 位带别名区域: 0x22000000-0x23FFFFFF (32MB)
    • 映射关系: 别名区域中的每个地址对应原始区域中的一个位
  • 外设位带区域:

    • 原始区域: 0x40000000-0x400FFFFF (1MB)
    • 位带别名区域: 0x42000000-0x43FFFFFF (32MB)

AHB-APB桥接区域

STM32通过两种类型的APB总线将低速外设连接到高速AHB系统总线:

  • APB1 (较低速):

    • 连接: 通过AHB-APB1桥接到系统总线
    • 时钟: 通常为系统时钟的1/2或1/4(例如84MHz/42MHz,在STM32F4系列)
    • 映射区域: 0x40000000开始
    • 典型外设: 基本通信接口(USART2/3, I2C, SPI2/3),基本定时器,看门狗
  • APB2 (较高速):

    • 连接: 通过AHB-APB2桥接到系统总线
    • 时钟: 通常与系统时钟相同或1/2(例如168MHz/84MHz,在STM32F4系列)
    • 映射区域: 0x40010000开始
    • 典型外设: 高速通信接口(USART1, SPI1),高级定时器,ADC

实际应用示例

1. 复位行为与启动流程

当STM32上电或复位时:

  1. CPU从地址0x00000000获取初始MSP(主堆栈指针)值
  2. 然后从地址0x00000004获取复位处理程序地址
  3. 根据BOOT引脚设置,这些地址映射到:
    • Flash(0x08000000) - 正常应用启动
    • 系统存储器(~0x1FFF0000) - 引导加载程序启动
    • SRAM(0x20000000) - 调试特殊用途启动

2. 常用寄存器访问示例

// RCC时钟控制寄存器 - 位于AHB1外设区域
#define RCC_BASE    0x40023800
#define RCC_AHB1ENR (*(volatile uint32_t *)(RCC_BASE + 0x30))// 使用位操作启用GPIOA时钟
RCC_AHB1ENR |= (1 << 0);  // 设置位0,启用GPIOA时钟// 使用结构体方式访问GPIO - 位于AHB1外设区域
typedef struct {volatile uint32_t MODER;    // 地址偏移: 0x00// ...其他寄存器...
} GPIO_TypeDef;#define GPIOA_BASE   0x40020000
#define GPIOA        ((GPIO_TypeDef *)GPIOA_BASE)// 配置GPIOA第0引脚为输出
GPIOA->MODER &= ~(3 << 0);  // 清除之前配置
GPIOA->MODER |= (1 << 0);   // 设置为输出模式

3. RAM区域的高级应用

// 将时间关键代码放到CCM(核心耦合内存)执行以提高性能
// CCM内存位于0x10000000
__attribute__((section(".ccmram"))) void criticalFunction(void) {// 高性能处理代码// 这段代码运行在0等待状态的内存中,比Flash快
}// 将重要数据放到备份SRAM以在低功耗模式下保留
// 备份SRAM通常位于0x40024000(STM32F4)
__attribute__((section(".backup_sram"))) uint32_t persistentCounter = 0;

4. 特殊功能区域访问示例

// 访问设备唯一ID(位于OTP区域)
#define DEVICE_ID_BASE 0x1FFF7A10  // 在STM32F4中的设备ID基址
uint32_t deviceID[3];  // 96位ID存储在3个32位字中
deviceID[0] = *(volatile uint32_t *)(DEVICE_ID_BASE + 0);
deviceID[1] = *(volatile uint32_t *)(DEVICE_ID_BASE + 4);
deviceID[2] = *(volatile uint32_t *)(DEVICE_ID_BASE + 8);// 访问核心外设 - 例如NVIC(嵌套向量中断控制器)
#define NVIC_BASE   0xE000E100
#define NVIC_ISER0  (*(volatile uint32_t *)(NVIC_BASE + 0x00))// 启用EXTI0中断(IRQ编号为6)
NVIC_ISER0 = (1 << 6);

实际开发建议

  1. 性能优化:

    • 将频繁访问的数据和代码放在不同的内存区域,利用总线矩阵的并行访问能力
    • 将关键代码放在CCM/TCM等0等待状态内存中执行,绕过Flash等待状态限制
  2. 内存管理:

    • 了解不同内存区域的大小限制和特性,合理规划空间使用
    • 使用链接器脚本控制不同类型变量和函数在内存中的分配
  3. 外设访问:

    • 使用厂商提供的外设库函数或生成的HAL代码访问外设,减少直接操作寄存器的错误风险
    • 理解位带机制并利用它进行安全的位操作
  4. 安全性:

    • 使用MPU(内存保护单元)保护关键区域,防止程序错误导致的内存破坏
    • 合理配置选项字节区域中的读保护级别,保护知识产权

了解STM32的完整内存映射对于深入掌握这类微控制器的架构和优化系统性能至关重要。合理利用这些不同区域的特性,可以实现更高效、更可靠、更安全的嵌入式系统设计。
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

相关文章:

STM32完整内存地址空间分配详解

在STM32这类基于ARM Cortex-M的32位微控制器中&#xff0c;整个4GB的地址空间(从0x00000000到0xFFFFFFFF)有着非常系统化的分配方案&#xff0c;每个区域都有其特定的用途。下面我将详细介绍这些地址区域的分配及其功能&#xff1a; STM32完整内存地址空间分配详解(0x00000000…...

叉车司机N1考试的实操部分有哪些注意事项?

叉车司机 N1 考试实操部分分为场地考试和场内道路考试&#xff0c;以下是一些注意事项&#xff1a; 场地考试 起步&#xff1a;检查车辆仪表和个人仪容&#xff0c;穿好工作服、戴安全帽&#xff0c;不穿拖鞋等不符规定的鞋。同时检查换挡和换向操纵杆在空档位置&#xff0c;…...

【行业特化篇2】金融行业简历特化指南:合规性要求与风险控制能力的艺术化呈现

写在最前 作为一个中古程序猿,我有很多自己想做的事情,比如埋头苦干手搓一个低代码数据库设计平台(目前只针对写java的朋友),比如很喜欢帮身边的朋友看看简历,讲讲面试技巧,毕竟工作这么多年,也做到过高管,有很多面人经历,意见还算有用,大家基本都能拿到想要的offe…...

Linux 定时备份到windows 方案比较

1 传输协议比较 特性SCPRSYNCSFTP基本功能文件传输&#xff08;本地与远程&#xff09;文件和目录的同步与传输文件管理&#xff08;上传、下载、删除等&#xff09;增量传输不支持增量传输支持增量传输不支持增量传输性能传输速度较慢&#xff0c;效率低高效&#xff0c;适合…...

【网络编程】TCP/IP四层模型、MAC和IP

1. TCP/IP的四层模型 网络模型的目的&#xff1a;规范通信标准&#xff0c;确保不同设备和系统之间能够有效通信 对比OSI模型与TCP/IP模型&#xff1a; OSI模型的七层架构&#xff08;物理层、数据链路层、网络层、传输层、会话层、表示层、应用层&#xff09;TCP/IP模型的四…...

Java学习手册: IoC 容器与依赖注入

一、IoC 容器概述 IoC&#xff08;Inversion of Control&#xff0c;控制反转&#xff09;容器是 Spring 框架的核心组件之一。它负责创建对象、管理对象的生命周期以及对象之间的依赖关系。通过将对象的创建和管理交给 IoC 容器&#xff0c;开发者可以实现代码的松耦合&#…...

Web 基础与Nginx访问统计

目录 Web基础 域名与DNS 域名的结构 网页与HTML 网页概述 HTML 概述 HTML基本标签 1、HTML 语法规则 2、HTML 文件结构 静态网页和动态网页 HTTP协议概述 HTTP方法 HTTP状态码 Nginx访问状态统计 Web基础 域名与DNS 网络是基于 TCP/IP 协议进行通信和连接的,每一台主机都有一…...

了解Android studio 初学者零基础推荐(1)

线上学习课程链接 开发Andorid App 使用的语言有很多&#xff0c;包括java, kotlin,C,等&#xff0c;首先让我们了解kotlin这个热门语言。 kotlin 程序 fun main() {println("hello,xu") } kotlin中的函数定义语法&#xff1a;函数名称在fun关键字后面&#xff0…...

Android Studio 2024版,前进返回按钮丢失解决

最近升级完AS最新系统后&#xff0c;顶部的前进和返回按钮默认隐藏了 解决方案&#xff1a; 1. 打开settings 2. 找到左侧 Appearance & Behavior 下面点击 Menus and Toolbars 3. 点击 Main Toolar 4. 点击Left&#xff0c;右键选择 Add Actions 5. 弹框中选择 Main Me…...

详解UnityWebRequest类

什么是UnityWebRequest类 UnityWebRequest 是 Unity 引擎中用于处理网络请求的一个强大类&#xff0c;它可以让你在 Unity 项目里方便地与网络资源进行交互&#xff0c;像发送 HTTP 请求、下载文件等操作都能实现。下面会详细介绍 UnityWebRequest 的相关内容。 UnityWebRequ…...

安装qt4.8.7

QT4.8.7安装详细教程&#xff08;MinGW 4.8.2和QTCreator4.2.0)_qtcreater482-CSDN博客 QT4.8.7安装详细教程&#xff08;MinGW 4.8.2和QTCreator4.2.0) 1、下载 1&#xff09;下载QT4.8.7 http://download.qt.io/archive/ 名称&#xff1a;qt-opensource-windows-x86-mingw482…...

2025系统架构师---管道/过滤器架构风格

引言 在分布式系统与数据密集型应用主导技术演进的今天&#xff0c;‌管道/过滤器架构风格‌&#xff08;Pipes and Filters Architecture Style&#xff09;凭借其‌数据流驱动‌、‌组件解耦‌与‌并行处理能力‌&#xff0c;成为处理复杂数据转换任务的核心范式。从Unix命令…...

仙宫云ComfyUI —【Wan2.1】AI视频生成部署

【Wan2.1】AI视频生成本地部署与使用技巧全面详解_哔哩哔哩_bilibili 所有模型下载&#xff1a;https://pan.quark.cn/s/9d793aa1b258 Runninghub本期课程工作流下载&#xff08;可获得1000RH币&#xff09;&#xff1a;https://www.runninghub.cn/?utm_sourcekol01-RH145 仙…...

学成在线。。。

一:讲师管理 介绍:可以实现对讲师的分页展示,多条件组合分页查询,对讲师的添加,修改,删除操作。 针对于添加来说,使用requestBody注解,搭配postmapping接收数据,使用service层的对象,调用mapper方法,向数据库中保存数据。 修改: 先根据讲师id,查询出讲师,再去…...

Python爬虫实战:获取猫yan电影网最新热门电影数据并做分析,为51观影做参考

一、引言 随着互联网的迅速发展,电影信息获取更加便捷。猫yan电影作为国内知名电影信息平台,提供了丰富电影数据。对于我们而言,获取并分析这些数据,能为用户提供更有价值的观影建议。本文详细介绍使用 Python 的 Scrapy 框架实现猫yan电影数据爬取与分析,为 “五一” 观…...

将有序数组转换为高度平衡二叉搜索树 | 详解与Java实现

文章目录 1. 问题描述2. 方法思路核心思想:分治法 + 递归3. 代码实现Java实现(含注释)4. 复杂度分析5. 关键点解释为何选择中间节点?为何使用 `left + (right - left) / 2` 而非 `(left + right) / 2`?6. 扩展优化迭代法实现(非递归)优化空间7. 总结1. 问题描述 108.将…...

普推知产:商标驳回复审下初步审定公告了!

近日客户的商标驳回复审后终于下初审公告了&#xff0c;经过一年多时间&#xff0c;当时申请时知道这个商标名称会被驳回&#xff0c;因为有相同一模一样的&#xff0c;客户就想要这个名称&#xff0c;因为与创始人的姓名是相关的&#xff0c;普推知产商标老杨经分析后&#xf…...

网工笔记-网络层

概述&#xff1a; 两种观点&#xff1a; 1.面向连接的可靠传输 2.面向无连接的&#xff0c;尽最大努力完成交付数据报服务 虚电路服务&#xff08;可靠传输&#xff09; 数据报服务&#xff08;尽力而为&#xff09; 两者的对比&#xff1a; 不管是虚电路还是数据报服务都是…...

el-Input输入数字自动转千分位进行展示

el-Input输入数字自动转千分位进行展示&#xff0c;存储值不变 子组件&#xff1a; <template><el-input ref"inputRef" :disabled"disabled" clearable v-model"displayValue" v-bind"$attrs" input"handleInput&quo…...

基于 Spring Boot 瑞吉外卖系统开发(九)

基于 Spring Boot 瑞吉外卖系统开发&#xff08;九&#xff09; 保存菜品 菜品管理页面提供了一个“新增菜品”按钮&#xff0c;单击该按钮时&#xff0c;会打开新增菜品页面。 请求路径/dish&#xff0c;请求方法POST&#xff0c;参数使用DishDto类接收。 DishDto 添加f…...

C++复习补充 类型转换和RTTI

类型转换和RTTI 类型转换类与类之间的类型转换四种显示类型转换类型转换注意事项RTTI 类型转换 在 C 中&#xff0c;operator int() 是用户定义的类型转换运算符&#xff08;User-Defined Conversion Operator&#xff09;&#xff0c;允许自定义对象隐式或显式转换为特定类型…...

QT采用mqtt进行通信(17.1)

文章目录 1.试错历程2. qt5.8安装3. 开始搞了4. 测试连接mqtt broker1.试错历程 尝试过网上说的各种版本,官方库和第三方库,试过qt5.9.9, qt5.12, qt5.12.2, qt5.14 等各个版本,都能编译通过,调用mqtt库,但是都不能连接成功,真的是试吐了,不知道他们的为什么都能成功,…...

基于 BERT 微调一个意图识别(Intent Classification)模型

基于 BERT 微调一个意图识别&#xff08;Intent Classification&#xff09;模型&#xff0c;你的意图类别包括&#xff1a; 查询天气获取新闻咨询想听音乐想添加备忘查询备忘获取家政服务结束对话增加音量减小音量其他 具体实现步骤&#xff08;详细版&#xff09; 1. 准备你…...

人工智能大语言模型与AI芯片新进展:技术演进与商业化路径

人工智能大语言模型与AI芯片新进展&#xff1a;技术演进与商业化路径 Latest Advances in AI Large Language Models and Chips: Technological Evolution and Commercialization Pathways 一、研究背景与意义&#xff08;Research Background and Significance&#xff09; 技…...

【Linux】Java 开发者的 Linux 常用命令指南

Java 开发者的 Linux 常用命令指南 目录标题 Java 开发者的 Linux 常用命令指南1. Linux 目录结构2. 系统信息命令3. 服务管理系统服务防火墙管理 4. 文本编辑 (vi/vim)常用模式 5. 文件和目录操作查看与导航创建与删除查看文件内容查找文件 6. 用户管理7. 压缩和解压8. 权限管…...

全开源、私有化部署!轻量级用户行为分析系统-ClkLog

ClkLog是一款支持私有化部署的全开源埋点数据采集与分析系统&#xff0c;兼容Web、App、小程序多端埋点&#xff0c;快速洞察用户访问路径、行为轨迹&#xff0c;并生成多维用户画像。助力中小团队搭建轻量灵活的用户行为分析平台。 为什么需要一款私有化的埋点分析系统&#x…...

【Mybatis】Mybatis基础

文章目录 前言一、搭建MyBatis1.1 创建maven工程1.2 加入log4j日志功能1.3 MyBatis的增删改查1.4 核心配置文件详解 二、MyBatis获取参数值的两种方式2.1 单个字面量类型的参数2.2 多个字面量类型的参数2.3 map集合类型的参数2.4 实体类类型的参数2.5 使用Param标识参数 三、 M…...

(002)Excel 使用图表,统计

第一步新建数据&#xff0c;将数据转成表格&#xff1a; 选中表格数据&#xff0c;右下角小图标&#xff1a;汇总 图表。...

云服务器主动防御策略与自动化防护(下)

三、纵深防御体系构建 1. 系统层防护 # 自动安全更新配置 sudo apt install unattended-upgrades sudo dpkg-reconfigure unattended-upgrades# 内核防护加固 sudo vim /etc/sysctl.conf# 添加以下参数&#xff1a; net.ipv4.conf.all.rp_filter1 net.ipv4.conf.default.rp_f…...

在前端应用领域驱动设计(DDD):必要性、挑战与实践指南

引言 领域驱动设计&#xff08;Domain-Driven Design&#xff0c;简称 DDD&#xff09;起源于后端复杂业务系统建模领域&#xff0c;是 Eric Evans 在 2003 年提出的一套理论体系。近年来&#xff0c;随着前端工程化与业务复杂度的持续提升&#xff0c;"前端也要 DDD&quo…...

【软件工程】需求分析详解

需求分析是确保软件产品符合用户期望、降低返工风险的关键环节。通过系统化的方法&#xff0c;团队可以从多渠道获取需求&#xff0c;利用多种建模技术对需求进行结构化分析&#xff0c;并编写规范的需求规格说明书&#xff08;SRS&#xff09;&#xff0c;最终通过评审、验证及…...

FPGA-DDS信号发生器

FPGA-DDS信号发生器 DDS基本原理 ​ FPGA实现的DDS&#xff08;直接数字频率合成&#xff09;波形生成器是一种高效、灵活的数字信号生成技术&#xff0c;广泛应用于通信、雷达和测试设备中。其核心原理是通过数字计算生成特定频率的波形。 ​ DDS通过相位累加、查找表(LUT)…...

二进制、高位低位、位移操作与进制转换全解

二进制、高位低位、位移操作与进制转换全解 在计算机科学中&#xff0c;理解高位与低位、左移与右移、进制转换与位运算非常重要。这篇文章用清晰直观的方式梳理这些基本概念。 高位与低位 低位&#xff1a;二进制中靠右的位&#xff0c;权值较小&#xff08;例如 (2^0, 2^1…...

docker存储

注意&#xff1a;数据卷挂载&#xff08;卷映射&#xff09;&#xff1a;Docker会自动创建数据卷&#xff0c;并将容器运行所需的文件复制到数据卷中。 目录挂载&#xff1a;如果宿主机上没有对应的目录&#xff0c;容器会因为缺少运行所需的文件而出错。 1.目录挂载 指令&am…...

回归预测 | Matlab实现DBO-LightGBM蜣螂算法优化轻量级梯度提升机多输入单输出回归预测,作者:机器学习之心

回归预测 | Matlab实现DBO-LightGBM蜣螂算法优化轻量级梯度提升机多输入单输出回归预测&#xff0c;作者&#xff1a;机器学习之心 目录 回归预测 | Matlab实现DBO-LightGBM蜣螂算法优化轻量级梯度提升机多输入单输出回归预测&#xff0c;作者&#xff1a;机器学习之心预测效果…...

[ 问题解决 ] sqlite3.ProgrammingError: SQLite objects created in a thread can ...

目录 为什么会出现这个问题&#xff1f; 解决方法一&#xff1a;每个请求新建自己的连接&#xff08;推荐&#xff09; 解决方法二&#xff1a;允许 SQLite 跨线程使用连接&#xff08;不推荐&#xff09; 小结 当你在 python 中使用 Flask 里面调用了数据库的操作的时候&a…...

AI智能体开发新范式:多智能体协作与自进化系统的构建之道

一、从单Agent到多Agent&#xff1a;为什么“群体智能”是必然&#xff1f; 复杂任务的分而治之案例&#xff1a; 电商大促活动的全自动运营商品Agent&#xff1a;实时调价&#xff08;根据库存/竞品&#xff09;用户Agent&#xff1a;生成千人千面推荐风控Agent&#xff1a;检…...

js补环境工具使用技巧、补环境实例、重点环境检测点详解

什么是补环境&#xff0c;模拟浏览器环境让浏览器js运行&#xff0c;为什么需要补环境&#xff0c;因为浏览器和本地nodejs环境有差异&#xff0c;网站开发者为了检测用户是否是本地环境运行 主要补的环境Document,Window,Navigator,Location,Element 这是内置原始类型&#…...

TF_LOG 配置及级别详解

以下是Terraform中TF_LOG配置及级别的详解&#xff1a; 配置方法 设置日志级别 通过设置TF_LOG环境变量来启用Terraform的日志功能&#xff0c;并指定日志级别。可以将该变量设置为以下值之一&#xff1a;TRACE、DEBUG、INFO、WARN、ERROR。其中&#xff0c;TRACE级别最为详…...

vue3使其另一台服务器上的x.html,实现x.html调用中的函数,并向其传递数据。

vue3例子 <template><div><iframeload"loadIFreamSite"id"loadIframeSite":src"iframeSrc1"frameborder"0"scrolling"no"allowtransparency"true"style"width: 100%"></iframe&g…...

英语五大基本句型

文章目录 一、主谓二、主谓宾三、主系表什么是什么什么怎么样系动词感官动词 一、主谓 构成&#xff1a;动作的发出者 动作 例句&#xff1a;I run.&#xff08;我跑步。&#xff09; 二、主谓宾 构成&#xff1a;动作的发出者 动作 动作的接受者 构成&#xff1a;主语&a…...

什么是 DDoS 攻击?高防 IP 如何有效防护?2025全面解析与方案推荐

一、DDoS 攻击&#xff1a;互联网时代的 “数字核武器” 1. DDoS 攻击的本质与原理 ** 分布式拒绝服务攻击&#xff08;DDoS&#xff09;** 通过操控海量僵尸设备&#xff0c;向目标服务器发送洪水般请求&#xff0c;耗尽带宽、连接或计算资源&#xff0c;导致合法用户无法访…...

论文速报《Enhancing Autonomous Driving Systems...:LLM-MPC混合架构增强自动驾驶》

论文链接&#xff1a;https://arxiv.org/pdf/2504.11514 代码链接&#xff1a;https://github.com/ForzaETH/LLMxRobot 0. 简介 自动驾驶领域的传统方法多依赖于数据驱动模型&#xff0c;通过大量标注数据训练实现路径规划和控制。然而&#xff0c;现实世界中道路临时施工、突…...

Nacos 3.0 上线 MCP Registry,支持 MCP 服务注册到发现全流程管理

Nacos 3.0 正式版本发布啦&#xff01;升级 MCP Registry&#xff0c;围绕着 MCP&#xff08;Model Context Protocol&#xff09; 服务管理&#xff0c;MCP 多种类型注册&#xff0c;包含 MCP Server 注册、编排、动态调试和管理&#xff0c;并且提供 Nacos-MCP-Router 可以进…...

一文解析大语言模型量化技术

目录 一、为什么需要量化技术 1、数据规模 2、32位浮点数&#xff08;FP32&#xff09; 3、16位浮点数&#xff08;FP16&#xff09; 4、Bfloat16&#xff08;BF16&#xff09; 5.INT8&#xff08;8位整数&#xff09;和INT4&#xff08;4位整数&#xff09; 总结&#…...

使用python实现自动化拉取压缩包并处理流程

使用python实现自动化拉取压缩包并处理流程 实现成果展示使用说明 实现成果展示 使用说明 执行./run.sh 脚本中的内容主要功能是&#xff1a; 1、从远程服务器上下拉制定时间更新的数据 2、将数据中的zip拷贝到指定文件夹内 3、解压后删除所有除了lcm之外的文件 4、新建一个ou…...

解构编程语言的基因密码:论数据类型如何被语言系统定义与重塑

摘要 本文从理论与实践层面系统探讨编程语言中数据类型的定义、实现与演化。通过静态与动态类型系统的差异分析&#xff0c;结合案例、流程图和表格&#xff0c;全面呈现主流语言数据类型设计特点及其对内存管理、错误防范与性能优化的影响。文章旨在为语言设计者和开发者提供…...

GRPO vs SFT:强化学习提升大模型多模态推理泛化能力的原因研究

GRPO vs SFT&#xff1a;强化学习提升大模型多模态推理泛化能力的原因研究 作者&#xff1a;吴宇斌 原文地址&#xff1a;https://zhuanlan.zhihu.com/p/1892362859628963761 训练目标与优化方式差异对比 监督微调&#xff08;SFT&#xff09;的目标&#xff1a; SFT使用带标注…...

从千兆到40G:飞速(FS)助力制造企业构建高可靠智能生产网络

案例亮点 部署S5850-24S2Q交换机&#xff0c;启用MLAG跨设备链路聚合&#xff0c;构建高性能冗余架构&#xff0c;消除单点故障风险&#xff0c;将网络可用性提升至99.99%&#xff0c;保障生产系统与全球业务连续性。采用40G光模块与US Conec MTP连接头多模跳线实现数据中心间…...

WHAT - 《成为技术领导者》思考题(第三章)

文章目录 涉及内容理解问题管理想法的交流保证质量 思考题思路和示例框架1. 观察一个你认为是领导者的人&#xff0c;列出他的行为&#xff0c;分类&#xff0c;并思考自己未采用的行为2. 观察一个不太像领导者的人&#xff0c;列出错过的简单机会&#xff0c;并反思3. 让别人注…...