当前位置:首页 > 技术学院 > 技术前线
[导读]STM32 (1) 之 什么是寄存器?

什么是储存器映射?

什么是寄存器映射?

芯片辨别

1怎么看芯片丝印

缺口正方向()

正看丝印左边第一个脚为一脚

写程序最终是操作寄存器,这里参考零死角玩转 STM32 第六章什么是寄存器章节


stm32什么是寄存器

外设:GPIO USART 12C SPI 等 Cortex-M3内核是主控器

soc厂商 苹果 三星 ST

在 存储器和总线架构这里


stm32什么是寄存器

体现了内核外设的连接

我们写好的程序是由单片机来执行的,执行的时候是由内核来取这些指令的,程序我们放在FLASH里,但是内核要读取程序,要通过ICode总线读取 I (lnstruction指令)


stm32什么是寄存器

2。DCode


stm32什么是寄存器

const 常量是存放在flash里面的

变量是放在内部的SRAM当中的 要读取的时候是通过DCode这条总线去读取的

在驱动单元中还有另外一部分: DMA他也是可以读取数据的, DMA和DCode有时会同时读取,那么就会产生冲突,这时就需要总线矩阵来总裁,判断到底由哪条总线来读取数据

3 System 系统总线

主要用来读取寄存器 内核要想操作某个外设,必须要通过操作寄存器来实现,读取的时候也就是通过这个System总线 来读取 而寄存器存在于外设当中

4 DMA 主要用来搬数据

比如:cpu要读取一个变量,该变量在 sram里面,将变量存到串口的数据寄存器(DR),如果不使用DMA,cpu要先通过DCode将变量独到CPU当中,然后再把变量存到 串口的数据寄存器,但是,如果你使用了DMA ,那么CPU只需要发一个命令,DMA就可以直接 将变量存到串口的数据寄存器 CPU就可以空闲出来,可以做其他事情

AHB 总线到APB 总线

AHB挂在了两个外设 1复位和时钟控制(RCC) 2. SDIO

AHB通过桥接 分成了 APB1 和 APB2

APB2 是高速总线 里面的外设如上图所示

APB1 是低速总线

FSMC 是用来驱动外存的 驱动液晶的时候会讲,我们重点要学的是 APB1和 APB2上的外设

接下来看英文板 STM32 英文版 《数据手册》memory mapping章节我们编程时所操作的寄存器只包括下图这部分,


stm32什么是寄存器

我们可以从memory mapping 中发现ARM是32位的2的32 次方 有4GB 被分成了8个块(每一块有512M)

第0块 放FLASH(block0) ST只用了512kb

第1块 放SRAM ST 只用了64kb

第2块 (block3)放外设(Peripherals)

第3.4块 (block4 5)都是FSMC 的寄存器 block6没有用

block7 放Cortex-m3 的寄存器

我们重点要学习的是block2 里面的 外设,我们所说的所有的 寄存器都在block2里面

什么是存储器映射?


stm32什么是寄存器

ST给一块内存编好地址,叫存储器映射,然后我们可以根据这些地址去访问这些内存,上表就是存储器功能分类,这个表其实对应的就是memory mapping

接下来就可以进行编程了


stm32什么是寄存器

这个操作和51很类似

51中头文件 reg52.h 做了寄存器映射如下图


stm32什么是寄存器

STM32如何实现 GPIOB全部输出高电平?

打开STM32 中文参考手册 找到GPIO的寄存器 ODR寄存器(端口数据寄存器)只用到了低16位,每一个位对应端口的一个IO

如果想要GPIOB的所有端口都输出高电平 那么将寄存器的16位都写1就行了,知道要操作哪个寄存器以后我们要在memory mapping看GPIOB对应的地址


stm32什么是寄存器

上图也可以在《STM32中文参考手册》当中存储器和总线架构当中找到

0x40010c00 起始地址

0x40010FFF 结束地址


stm32什么是寄存器

地址偏移

是相对于端口的基地址的偏移 那么这个寄存器的地址就是

端口的基地址+地址偏移=0x40010c00+0x0c

上面这个就是 GPIOB端口的ODR寄存器的地址

上面的*(unsigned int*)(0x40010C0C)意思是:将0x40010C0C这个地址强制转化位 无符号指针类型再将0xFFFF赋值给0x40010C0C。

还有另外一种方法;

通过define 将0x40010C0C定义成一个宏 再通过宏来操作


stm32什么是寄存器


stm32什么是寄存器

总结:我们在编程的时候都是在操作寄存器, 这些寄存器是由芯片厂商在一段特定的内存当中规定好的,它每一个内存单元对应一个外设,每一个内存单元对应一个字节。 32位单片机就对应了4个字节,每一个内存单元都是有特定功能的我们往这些内存单元里写数据的话就能操作这些外设


stm32什么是寄存器


stm32什么是寄存器
本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭