stm32架构初认识

Posted zzm1

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了stm32架构初认识相关的知识,希望对你有一定的参考价值。

   刚接触stm32f373c8t6的芯片,这到底是怎末开发的,应该说它是SOC,内部有一个核心芯片,然后在芯片的外部添加了一些有特殊功能的外设,使开发者能够完成想要的功能,以stm32f373c

8t6为例,它与别的芯片不同之处便是它有3个16位分辨率的ADC,称之为SDADC。

   刚学stm32时,一头雾水,这芯片内部到底是怎末构成的,每个外设是怎末为它提供电源的,这些都一无所知。以stm32f373为例,它有三个可以作为系统时钟的来源,HSI,HSE,以及由PLL得到的时钟源,AHB,APB上挂接的是外设,AHB上一般挂接的都是高性能的外设,而APB一般挂接的都是对速度要求不太高的外设,APB又分为APB1,APB2。GPIO是挂接在AHB上的,这些信息一般在systemxx.h文件中能够看到,或者直接看新派你手册。

   以usart为例,要想实现这个串口的功能,首先,你板卡上的外设管脚接到芯片的管脚上,之后为GPIO设置相应的功能,然后使usart与GPIO相连,这样usart与外设之间就建立了通信的渠道,然后给GPIO和USART分别通上电,再使能一下,将打开的相对应的那个寄存器的相应位置1,那么便可以工作了。

   以sdadc为例,要实现adc转换的功能,首先,板卡上的外设管脚连接到芯片的管脚上,之后为gpio设置相应的功能,然后使sdadc与gpio相连,这样sdadc与外设之间就建立了通信的渠道,然后给sdadc和gpio分别上电,再使能一下,将打开的相对应的那个寄存器的相应位置1,就能工作。至于怎末工作的流程线,基本是这样的,以电位器为例,采集电压用LCD来显示,一个电位器外设接到芯片的管脚上,经过GPIO,再经过sdadc,经过adc转换后的数据存储在一个寄存器中,然后将这个寄存器的值读到LCD上显示出来就可以了。

   

以上是关于stm32架构初认识的主要内容,如果未能解决你的问题,请参考以下文章

大话STM32F103系统架构

STM32整体架构(重点待更新)

STM32F103C8架构

STM32F407存储器和总线架构

stm32启动过程cortex-m3架构堆栈代码位置编译汇编链接分析

[架构之路-18]:目标系统 - 硬件平台 - 案例1 - 单片机MCU STM32 芯片的工作原理与启动流程