STM32F407 入门一

本文介绍了STM32F407的程序执行流程,包括CM4内核如何从Flash读取程序、与SRAM交互以及流水线的三级结构。同时,讲解了STM32f4的寄存器组,包括内部寄存器和接口寄存器的作用,以及在微控制器中如何与外设进行通信。
摘要由CSDN通过智能技术生成

一、程序执行的一般流程

CM4内核通过ICode从Flash读取程序,然后进行计算,计算过程根据程序内容可能需要通过总线从某个外设读取数据,执行数据读取后,然后又进行计算得到计算结果后,通过总线把结果数据传送到特定的外设,外设在得到数据后做出对应的动作。CM4内核整个计算过程会产生很多中间变量,所以CM4内核会与SRAM之间有频繁的数据传送过程。

二、STM32f4的寄存器组:


这里写图片描述

三、流水线具有以下特征:


Cortex-M4处理器使用了一个三级流水线。流水线的3级分别为:取指,解码和执行。
这里写图片描述

  • 执行一条分支指令或直接修改PC而发生跳转时,ARM内核有可能会清空流水线,而需要重新读取指令。
  • 即使产生了一个中断,一条处于“执行”阶段的指令也将会完成。流水线里其他指令将会被放弃,而处理器将从向量表的适当入口开始填充流水线。
  • 不论是执行16位指令还是32位指令,读取PC时,会返回当前指令地址+4的值。

  • 6
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值