完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
一、程序执行的一般流程
CM4内核通过ICode从Flash读取程序,然后进行计算,计算过程根据程序内容可能需要通过总线从某个外设读取数据,执行数据读取后,然后又进行计算得到计算结果后,通过总线把结果数据传送到特定的外设,外设在得到数据后做出对应的动作。CM4内核整个计算过程会产生很多中间变量,所以CM4内核会与SRAM之间有频繁的数据传送过程。 二、STM32f4的寄存器组: 三、流水线具有以下特征: Cortex-M4处理器使用了一个三级流水线。流水线的3级分别为:取指,解码和执行。 执行一条分支指令或直接修改PC而发生跳转时,ARM内核有可能会清空流水线,而需要重新读取指令。 即使产生了一个中断,一条处于“执行”阶段的指令也将会完成。流水线里其他指令将会被放弃,而处理器将从向量表的适当入口开始填充流水线。 不论是执行16位指令还是32位指令,读取PC时,会返回当前指令地址+4的值。 三、寄存器的使用 寄存器在微控制器中的两种不同应用。在集成电路设计中,寄存器可分为: 电路内部使用的寄存器 充当内外部接口的寄存器 内部寄存器不能被外部电路或软件访问,只是为内部电路的实现存储功能或满足电路的时序要求,比如ALU中的累加器ACC。 接口寄存器可以同时被内部电路和外部电路或软件访问,CPU中的寄存器就是其中一种,作为软硬件的接口,为广泛的通用编程用户所熟知,比如控制端口A输出高电平的GPIOA_BSRR 第一种,简单来说就是做为cPU计算的缓存区,比如通用寄存器R~R12。 第二种,对微控制器来说,它与外设紧密联系。STM32为每个外设模块分配了一个存储映射空间,并分配了对应的地址,比如对GPIOA分配了0x40020000~0x400203FF总共0x3FF长度的地址空间。这个由微控制器芯片决定的,通过微控制器的技术手册都是可以找到资料的,这些空间一般都是寄存器。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1621 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1546 浏览 1 评论
980 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
686 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1599 浏览 2 评论
1867浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
650浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
518浏览 3评论
536浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
506浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-24 06:14 , Processed in 0.768890 second(s), Total 76, Slave 59 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号