2.5 芯片里面有什么

STM32F103采用的是Cortex-M3内核,内核即CPU,由ARM公司设计。

ARM公司并不生产芯片,而是出售其芯片技术授权。

芯片生产厂商(SOC)如ST、TI、Freescale,负责在内核之外设计部件并生产整个芯片,这些内核之外的部件被称为核外外设或片上外设。

如:GPIO、USART(串口)、I2C、SPI等都在做片上外设。

ICode总线

ICode中的I表示Instruction,及指令。

我们写好的程序编译之后都是一条条指令,存放在FLASH中,内核要读取这些指令来执行程序就必须通过ICode总线。

驱动单元

DCode总线

D表示Data,即数据,这要总线是用来取数的。

DMA系统总线

用来传输数据,这个数据可以是在某个外设的数据寄存器。

被动单元

内部的闪存存储器:即FLASH,我们编写好的程序就放在这个地方。内核通过ICode总线来取里面的指令。

内部的SRAM:通常说的RAM,程序的变量开销都是基于内部的SRAM。内核通过DCode总线访问。

FSMC:灵活的静态的存储器控制器。

AHB到APB的桥

从AHB总线延伸出来的两条APB2和APB1总线,上面挂载着STM32各种各样的特色外设。我们经常说的GPIO、串口、I2C、SPI这些外设在这条总线上,这是我们学习STM32的重点,重点、重点。

2.6存储器映射

存储器映射:给存储器分配地址的过程。

存储器重映射:给存储器在分配一个地址就叫存储器重映射。

2.7寄存器映射

给已经分配好的地址的又特定功能的内存单元取别名的过程就叫寄存器映射。

最新文章

  1. 网站Bannr适应大小屏幕,图片始终居中不被压缩
  2. Source Insight编辑器配置
  3. MySQL连接线程kill利器之pt-kill
  4. StringUtils 的用法
  5. Excel 使用宏批量修改单元格内指定文字为红字
  6. C#读写xml文件的常用方法
  7. uCgui和emWin的区别
  8. JNLP(Java Web Start )(转)
  9. c/c++操作访问数据,是堆中的数据快还是栈中的数据快
  10. curl 命令使用总结
  11. UESTC 1222 Sudoku
  12. Spark_总结五
  13. java.util.NoSuchElementException: None.get的解决方法
  14. 常用的git操作
  15. raise EnvironmentError("%s not found" % (mysql_config.path,)) EnvironmentError: mysql_config not found 解决办法
  16. 【转】Spring Boot干货系列:常用属性汇总
  17. RAC转换传统的通信
  18. django打印字典
  19. 新浪通过API分享 实践
  20. InfluxDB 的卸载与重装

热门文章

  1. python 内置数据类型之数字
  2. java读取.txt文件工具类FileUtiles
  3. 创建Python虚拟环境
  4. Tomcat使用
  5. Android实时取景:用SurfaceView实现
  6. Leetcode刷题第001天
  7. Redis 学习手册
  8. Caused by: java.lang.NumberFormatException: For input string: "18446744073709551615"
  9. 一脸懵逼学习HBase---基于HDFS实现的。(Hadoop的数据库,分布式的,大数据量的,随机的,实时的,非关系型数据库)
  10. postgresql 10 ssl 双向认证