STM32_内部结构 📅 发布时间:2026/7/9 7:10:51 👁️ 浏览次数: 文章目录一、STM32系统结构简图二、系统框图1、驱动单元1ICode 总线2DCode 总线3System 系统总线4DMA 总线2、被动单元1内部的闪存存储器 —— Flash2内部的SRAM3静态的存储器控制器 —— FSMC4AHB 到 APB 的桥一、STM32系统结构简图二、系统框图1、驱动单元1ICode 总线ICode 中的 I 表示 Instruction即指令。我们写好的程序编译之后都是一条条指令存放在FLASH 中内核要读取这些指令来执行程序就必须通过 ICode 总线它几乎每时每刻都需要被使用它是专门用来取指的。个人总结我们编辑好我们的代码经过编译器编译生成计算机可执行的代码。这些代码我们可以通过反汇编查看其实就是一条条的指令计算机可以看懂的代码指令这些指令都存储在我们FLASH上CPU 通过 ICode 总线读取指令进行操作。2DCode 总线DCode 中的 D 表示 Data即数据那说明这条总线是用来取数的。我们在写程序的时候数据有常量和变量两种常量就是固定不变的用 C 语言中的 const 关键字修饰是放到内部FLASH 当中的变量是可变的不管是全局变量还是局部变量都放在内部的SRAM。 因为数据可以被 Dcode 总线和 DMA 总线访问所以为了避免访问冲突在取数的时候需要经过一个总线矩阵来仲裁决定哪个总线在取数。在C语言中全局变量通常存放在静态存储区不是堆上也不是栈上。具体来说全局变量存放在程序的 数据段 或 BSS段 中这是程序的静态存储区域。数据段 如果全局变量被初始化它们的值将存储在数据段中。数据段的大小在编译时确定包含所有已初始化的全局变量。BSS段 如果全局变量未被初始化它们的值将被初始化为零并存储在BSS段中。BSS段通常在可执行文件中占据一些空间但不存储实际的数据因为这些变量被默认初始化为零。在函数内声明的局部变量通常存储在栈上而动态分配的内存通过malloc、calloc等函数分配的存储在堆上。全局变量的生命周期通常是整个程序的运行时间而局部变量的生命周期则与其所在的函数调用有关。需要注意的是全局变量和静态变量在函数内使用static关键字声明的变量都在程序的静态存储区域因此它们的生命周期是整个程序的运行时间。3System 系统总线系统总线主要是访问外设的寄存器我们通常说的寄存器编程即读写寄存器都是通过这根系统总线来完成的。4DMA 总线DMA 总线也主要是用来传输数据这个数据可以是在某个外设的数据寄存器可以在SRAM可以在内部的 FLASH 。因为数据可以被 Dcode 总线和 DMA 总线访问所以为了避免访问冲突在取数的时候需要经过一个总线矩阵来仲裁决定哪个总线在取数。个人总结它允许片上外设直接访问计算机内存而不需要经过中央处理单元CPU的干预。这样可以在数据传输过程中解放 CPU使其能够执行其他任务从而提高系统的整体性能数据在DMA控制器下进行的数据传输过程中CPU 可以继续执行其他指令而不必等待数据传输的完成不受数据传输过程的干扰。2、被动单元1内部的闪存存储器 —— Flash内部的闪存存储器即 FLASH我们编写好的程序就放在这个地方。内核通过 ICode 总线来取里面的指令。我们程序中生成的一些重要数据也可以保存在芯片内部的flash中但要注意读写空间不要把程序运行的代码给篡改了。2内部的SRAM内部的SRAM即我们通常说的RAM程序的变量堆栈等的开销都是基于内部的SRAM。内核通过 DCode 总线来访问它。3静态的存储器控制器 —— FSMCFSMC的英文全称是Flexible Static Memory Controller叫灵活的静态的存储器控制器是STM32F10xx中一个很有特色的外设通过FSMC我们可以扩展内存如外部的SRAMNAND-FLASH和NORFLASH。但有一点我们要注意的是FSMC只能扩展静态的内存即名称里面的Sstatic不能是动态的内存比如SDRAM就不能扩展。4AHB 到 APB 的桥从 AHB 总线延伸出来的两条 APB2 和 APB1 总线上面挂载着STM32各种各样的特色外设。我们经常说的 GPIO、串口、I2C、SPI 这些外设就挂载在这两条总线上这个是我们学习STM32的重点就是要学会编程这些外设去驱动外部的各种设备。
Elasticsearch:使用 Base64 编码字符串加速向量摄取 作者:来自 Elastic Jim Ferenczi, Benjamin Trent 及 Ignacio Vera Sequeiros 介绍在 Elasticsearch 中使用 Base64 编码字符串来加速向量摄取。 从向量搜索到强大的 REST API,Elasticsearch 为开发者提供了最全面的搜索工具集。深入 GitHub 上的示例 no… 2026/7/9 7:09:46
揭秘浏览器渲染引擎的“像素炼金术” 当你坐在电脑前,随手在地址栏输入一个网址并按下回车,短短几百毫秒内,屏幕上便会跳跃出绚丽的色彩、精致的排版和流畅的动画。对于大多数用户而言,这似乎是理所当然的“魔法”,但在这一瞬间的背后,浏览器内… 2026/5/17 2:30:09
常用的大语言模型有什么 目前常用的大语言模型(Large Language Models, LLMs)主要包括以下几类,涵盖开源与闭源、学术与商业用途的代表性模型:1. OpenAI 系列GPT-3 / GPT-3.5:广泛用于 ChatGPT(免费版)等应用。GPT-4 / … 2026/5/17 2:30:08
2026 年零碳工厂企业能碳管控平台选型指南 在双碳战略全面落地、工业低碳转型加速推进的大环境下,零碳工厂建设已经成为制造企业绿色升级、提升市场竞争力的核心抓手。2026 年,五部门联合发布的零碳工厂建设指导意见全面落地执行,数字化能碳管控平台正式列为零碳工厂评审硬性准入条件。… 2026/7/9 7:09:46
GPT详细介绍 学习目标:本节内容需要大致了解GPT的架构原理、预训练任务、微调任务2018年6月, OpenAI公司发表了论文“Improving Language Understanding by Generative Pre-training”《用生成式预训练提高模型的语言理解力》, 推出了具有1.17亿个参数的GPT(Generati… 2026/7/9 7:03:45
5款国产大模型API接入实战:通义千问、文心一言、混元、盘古、ChatGLM 3.6B 成本与延迟对比 国产大模型API实战指南:成本、性能与选型策略在AI技术快速迭代的今天,国产大模型已从实验室走向产业应用。对于开发者而言,如何选择适合自身业务需求的大模型API服务,成为技术决策中的关键一环。本文将深入分析通义千问、文心一言… 2026/7/9 7:01:44
电商日报分析助手 各类运营与内容工具分环节使用思路分享 很多电商店主、运营和内容团队在日常工作里常会遇到流程断裂的问题:选品调研、商品卖点文案、短视频脚本、投放数据日报分散在不同软件,每日整理的运营记录、竞品分析、内容修改稿没有统一归档载体;多人分工协作时,运营、文案、剪… 2026/7/9 6:57:43
同一个模型,只改“外壳“性能狂飙22倍,Agent的瓶颈根本不在模型本身 你以为 Agent 不够好用是模型不够聪明?最近一个实验把这个认知彻底打翻了。一、一个颠覆认知的实验Hugging Face 的机器学习工程师 Joel Niklaus 最近做了件很"无聊"的事——他拿同一个开源模型 DeepSeek-V4-Pro,在法律 Agent 基准测试上跑了一… 2026/7/9 6:57:43
PHP 反序列化链构造实战:从 DASCTF ezpop 题解到 3 种常见魔术方法利用 PHP 反序列化链构造实战:从魔术方法到完整 POP 链设计在 CTF 竞赛和实际安全测试中,PHP 反序列化漏洞一直是 Web 安全领域的重要突破口。本文将系统性地讲解如何从零开始构造一条完整的 POP(Property-Oriented Programming)链&… 2026/7/9 6:57:43
机器视觉与PLC集成:轮毂缺陷检测与字符识别误差控制在0.2mm内 机器视觉与PLC集成:轮毂缺陷检测与字符识别误差控制在0.2mm内的技术实现轮毂作为汽车关键零部件,其表面质量直接影响行车安全与美观。传统人工检测效率低且易漏检,而采用机器视觉与PLC集成方案可实现微米级精度检测。本文将深入解析高精度视觉… 2026/7/9 0:01:04
GBase 8a vs MySQL 8.0:ALTER TABLE语法与限制的5点关键差异对比 GBase 8a与MySQL 8.0:ALTER TABLE语法差异深度解析与实战指南1. 两种数据库的ALTER TABLE能力全景对比在数据库架构设计和运维过程中,表结构变更(DDL操作)是不可避免的需求。GBase 8a作为国产分析型数据库代表,与开源M… 2026/7/9 0:03:06
【大数据毕业设计】基于多源旅游数据的景区热度分析与推荐系统的设计与实现 基于 Django 的旅游偏好挖掘与景区推荐系统(源码+文档+远程调试,全bao定制等) 博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am… 2026/7/9 0:05:09
6个月转型AI工程师:实战路径与核心技能 1. 项目概述:6个月转型AI工程师的可行性路径在2023年大模型技术爆发的背景下,AI工程师岗位需求同比增长217%(LinkedIn数据)。不同于传统算法工程师需要3-5年培养周期,现代AI工程师更侧重工程化落地能力。我在硅谷科技公… 2026/7/7 11:26:57
TPAFE0808与PIC18F87K22的多通道信号采集方案 1. 项目背景与核心需求在工业自动化、医疗设备和科研仪器等领域,多通道信号采集与系统监测是基础且关键的技术需求。传统方案往往面临通道数量不足、信号调理复杂、系统集成度低等问题。TPAFE0808作为一款8通道模拟前端芯片,与PIC18F87K22微控制器的组合… 2026/7/8 20:15:17
STC3115与PIC18LF26K80构建高精度电池管理系统 1. STC3115与PIC18LF26K80在电池管理系统中的核心价值在现代电子设备中,电池管理系统(BMS)的重要性不亚于设备的核心处理器。STC3115作为一款高精度电池电量监测IC,与PIC18LF26K80微控制器的组合,构成了一个既能精确监控又能智能管理的完整解… 2026/7/8 14:25:08