STM32之系统架构

  • 前言
    • STM32F103X芯片内部包含内核和片上外设,犹如我们使用的电脑,对应的是CPU和主板,集成显卡之类的。
  • 一、STM32之系统架构
    • 1.内核与外设
    • 2.系统结构图
      • 驱动单元(内核部分)
        • 内核
        • DCode总线
        • System总线
        • DMA总线
      • 被动单元(外设部分)
        • FLASH
        • SRAM
        • AHB和APB桥
        • FSMC
      • ICode总线
  • 总结
    • 冯·依诺曼结构和哈佛结构

前言

STM32F103X芯片内部包含内核和片上外设,犹如我们使用的电脑,对应的是CPU和主板,集成显卡之类的。

一、STM32之系统架构

1.内核与外设

SMT32F103采用的是Cotex-M3内核,所谓的内核就是CPU,由ARM公司设计,他们是IP开发商,本身并不生产芯片。通过技术授权给系统集成(SOC)厂家,比如ST,GD等芯片厂商(SOC厂商),由ST、GD等芯片厂家增加外围设备Eg:GPIO、IIC、FLASH、UART、USB等,由SOC厂商在CPU外围增加的设备我们称之为外设

2.系统结构图

STM32F103由4个驱动单元(CPU部分)和4和被动单元(外设)组成

驱动单元(内核部分)

由上图黄色区域的①②③④部分组成。

内核

STM32F103的内核CPU是cortex-M3

DCode总线

Dcode中的D代表Data 数据的意思,说明这条总线是用来传输数据的。我们在写代码的时候,数据以常量和变量的存在形式;常量属于非易失性的,保存在ROM中;变量属于易失性的,掉电就不存在的数据,保存在SRAM中。变量又分为全局变量和局部变量,无论是哪种变量,包括常量都属于数据,因此都可以被DCode总线访问到。

System总线

系统总线是用来访问外设寄存器的,通常我们设置寄存器,都是由System总线进行访问的。

DMA总线

DMA Direct Memory Access缩写 直接存储器访问,可将数据从一个地址空间传输到另外一个地址空间,地址空间可以是外设到寄存器或者寄存器到寄存器。访问的数据可以是寄存器,也可以是SRAM,亦可是FLASH;数据可以被DCode和DMA同时访问到,因此为了避免访问冲突,需要总线来仲裁来决定哪个总线访问。

被动单元(外设部分)

由上图紫色区域的①②③④部分组成。

FLASH

内部的闪存存取器,即FLASH,程序存储在FLASH中,内核通过ICode读取指令。

SRAM

内部的SRAM,即数据存储器RAM,程序的变量和堆栈开销在SRAM中。

AHB和APB桥

AHB和APB桥类似于个人PC中的南桥和北桥,南桥挂鼠标和键盘等低速设备,北桥挂显卡等高速设备。南桥频率低,北桥频率高。AHB是高性能的系统总线APB是外设总线。二者分别适用于高速和低速的设备连接。

  1. AHB总线:全称Advanved High Performance Bus 高级高性能系统总线 简写:AHB
  2. APB总线:全称Adanvced Peripheral Bus 高级外设总线 简写:APB

FSMC

FSMC 全称 Flexible Static Memory Controller 灵活的静态存储器控制器,是一个很有特色的外设,通过FSMC可以扩展内存,比如外部的SRAM、NANDFLASH、NORFLASH等,但只能扩展静态Static内存,动态内存无法扩展。

ICode总线

ICode I指的是Instruction,程序经过IDE编译以后都是一条条的指令,内核要读取这些指令都是要通过ICode来访问,程序运行时,每时每刻都要用到,是专门用来取指的。

总结

冯·依诺曼结构和哈佛结构

计算机把数据和代码的存储方式的不同,分成冯·依诺曼结构和哈佛结构。
冯·依诺曼结构:把数据和代码都存储在同一个存储器中,STM32就是把内核和外设共同分配在可以寻址4G的空间存储器中。冯·依诺曼结构的指令和数据共享同一数据总线,使得信息流的传输成为限制性能的瓶颈,但架构设计师为了解决这类问题,采用了ICode总线专门用来取指,,System总线专门用来访问外设寄存器,DCode总线专门用来访问SRAM、和FLASH中的数据,外设寄存器、SRAM和FLASH三者之间又可以通过DMA互相传输数据,减小CPU的开销,从而大大提高了传输性能。

STM32F103之系统架构相关推荐

  1. 大话STM32F103系统架构

    前言 许多像我一样的STM32初学者,都往往忽视了STM32系统架构的学习.这对于实际应用并没有啥大的影响,但是总感觉怎么学也无法看清STM32的全貌,所以本文我将带领大家一起厘清STM32F103的 ...

  2. Pixhawk系统架构介绍

    前段时间导师叫我做扑翼无人机,工程上需要实现的,能够通过程控飞起来,感觉难度挺大.先从研究PX4开始,打算一步步理解透整个PX4的框架,机型的适配.旋翼.固定翼的姿态控制,新机型的添加等等.不知道能不 ...

  3. 系统架构升级要不要上微服务?历“久”弥新微服务——你真的需要升级微服务架构吗

    在 <微服务架构设计模式> 一书中,作者总结了关于微服务的一些"重点",原文如下: 中国企业和开发者对微服务架构的热情让我印象深刻.但如同我给所有客户的忠告一样,我想对 ...

  4. 商品详细信息的代码html_电商网站的商品详情页系统架构

    小型电商网站的商品详情页系统架构 小型电商网站的页面展示采用页面全量静态化的思想.数据库中存放了所有的商品信息,页面静态化系统,将数据填充进静态模板中,形成静态化页面,推入 Nginx 服务器.用户浏 ...

  5. 大型网站采用什么系统架构保证性能稳定性

    from http://www.bobd.cn/design/web/Theory/200904/31145.html 千万级的注册用户,千万级的帖子,nTB级的附件,还有巨大的日访问量,大型网站采用 ...

  6. 系统架构的过程 浮现式设计

    系统架构如果设计之初就设计错了,那么必然是南辕北辙. 很多人做系统设计总是东一下,西一下,杂乱无章,想到那是那,然后系统的边界很大,总会有疏漏. 那么系统架构应该怎么设计呢? 首先来说分层 系统分为三 ...

  7. centos5.6 (64bit)编译安装vsftpd-2.3.4的配置(两种用户登录)[连载之电子商务系统架构]...

    centos5.6 (64bit)编译安装vsftpd-2.3.4的配置(两种用户登录) 出处:http://jimmyli.blog.51cto.com/我站在巨人肩膀上Jimmy Li 作者:Ji ...

  8. 说说大型高并发高负载网站的系统架构【转】

    我在CERNET做过拨号接入平台的搭建,而后在Yahoo&3721从事过搜索引擎前端开发,又在MOP处理过大型社区猫扑大杂烩的架构升级等工作,同时自己接触和开发过不少大中型网站的模块,因此在大 ...

  9. 型网站的架构设计问题----大型高并发高负载网站的系统架构

    随着中国大型IT企业信息化速度的加快,大部分应用的数据量和访问量都急剧增加,大型企业网站正面临性能和高数据访问量的压力,而且对存储.安全以及信息检索等等方面都提出了更高的要求-- 本文中,我想通过几个 ...

最新文章

  1. 2022-2028年中国网络直播行业深度调研及投资前景预测报告
  2. 10亿美元续命!OpenAI获微软投资,意在通用人工智能?
  3. python excel增加一列_(用Python修改excel中一列数据)python新增一列
  4. 7-1 活动选择问题 (25 分)(思路+详解+扩展)宝 今天你AC了吗!!!
  5. Ember.js 入门指南——番外篇,路由、模板的执行、渲染顺序
  6. oracle存储一个数字格式,Oracle根本数据类型存储格式研究(二)—数字类型
  7. 【30集iCore3_ADP出厂源代码(ARM部分)讲解视频】30-11层驱动之FSMC
  8. 变压器绕组降低邻近效应_低频变压器初级短路的原因及解决方案
  9. 阿里云郑晓:浅谈GPU虚拟化技术(第二章)
  10. 学习Java心得体会
  11. 梦龙即时通讯软件测试自学,梦龙网络计划教程.pdf
  12. 游戏测试和软件测试有什么区别?
  13. 小学-知识与能力【5】
  14. 两个向量的点乘和叉乘怎么算_数学基础 —— 向量运算:点乘和叉乘
  15. 理财产品的收益率也抵不上通货膨胀
  16. pyqt5 图片随窗口变化等比例缩放
  17. hp服务器怎么安装xp系统,windowsxp系统安装惠普打印机软件的方法
  18. 6.标准C语言程序的文件名的后缀是,c语言源程序文件名的后缀是什么
  19. 通过Python分析2020年全年微博热搜数据
  20. 2023年中南财经政法大学西方经济学考研上岸前辈初复试备考经验

热门文章

  1. 怎么破解Editplus
  2. 程序员的焦虑-终身学习
  3. skype 加密通话_如何更改您的Skype视频通话背景
  4. 学习笔记:RTC时钟
  5. engauge digitizer安装
  6. 基于Java的校园班车管理系统
  7. 十五分钟上手SoFlu全自动软件工程平台
  8. linux系统初始化ansible-playbook文件
  9. 南京大学计算机系本科生开放日,2018/7
  10. 服务器2003修复请按r键,启动xp系统提示“文件丢失按R修复”怎么回事