从0学习stm32

简介: 从0学习stm32

1.STM32介绍:


ST:指的是意法半导体;


M:指定微处理器


使用的是ARMCortex-M3


ARM分成三个系列:


Cortex-A: 针对多媒体应用(手机)


Cortex-R:针对对实时性和性能有一定要求的场景


Cortex-M:针对低功耗高性能的场景


       Cortex-M0,Cortex-M3,Cortex-M4


指令集:精简指令集;


不同的场景应用具体可以参考产品选型手册:


       《STM8和STM32产品选型手册》

STM32命名规则:
 
F:通用快闪(FlashMemory)

L:   低电压(1.65v~3.6v)

F类型中的F0xx和F1xx系列为2.0~3.6v,F2xx和F4xx系列为1.8~3.6V;

2.stm32芯片内部系统

SoC:片上继承系统
       stm32微控制器(SoC)


Cortex-M3:内核,执行程序代码


调试系统:供我们调试使用


外设:外部设备


时钟和复位系统:复位指的是按下复位,恢复最原始的状态,芯片正常工作必须有时钟系统;


存储器:存储,Flash,可执行代码下载到存储器,需要执行时加载到内核中;


I/O:控制输入输出的引脚,与外部设备通信

3.stm32最小系统组成

stm32f103c8t6;

(1)供电系统:

(2)时钟电路(内部时钟源,外部时钟源)

(3)复位电路

(4)下载的接口电路

(5)boot(电路)(启动电路)
VCC,GND供电,swdio,swclk下载程序


reset复位按钮 ,8MHz的外部晶振(外部时钟)


4.固件库


(1)mcu的开发方式:


开发语言:汇编语言,C语言


stm32单片机:(汇编  启动代码+C)开发只用到C;


实际开发编程过程中使用的方法:


          1) 配置mcu中的某个功能模块的寄存器,进行操作;


          2)使用ST官方提供的固件库驱动操作


ST官方提供了STM32cubemx 软件,图形化配置开发软件;


(2)固件库:STM32标准外设函数库,简称固件库;


       特点:1)主要由功能接口,数据结构,宏等组成,涵盖了微控制器所有外设的性能特征;


                  2)为开发者访问底层硬件提供了统一的API;无需深入掌握硬件实现细节;

内含底层源码和启动文件
   CMSIS:启动文件


        STM32.......:外设驱动


               inc:头文件


               src:源码


 CMSIS主要包含:


stm32f10x.h:实现了硬件寄存器结构,地址映射,寄存器位操作,基本类型等定义;


core_cm3.x:主要针对一些通用寄存器,中断优先级,启动模式相关的内嵌汇编操作接口


system_stm32f10x.x :系统启动初始化,尤其是系统时钟配置


startup_stm32f10x_xx.s:引导启动文件


STM32F10x_StdPeriph_Driver主要包含:


固件库驱动模块(根据需求配置)

misc.x:主要是中断初始化,分组管理相关接口,实现了用户对中断的配置功能

stm32f10x_exit.x:中断服务相关

stm32f10x_conf.h  用来统一包含当前系统要用的功能模块头文件,并实现了assert_param宏

5.keil5:
      编译按钮

         工程目录按钮

      配置工程按钮

            软件调试

(1)目录结构管理:

USER:存放自己写的代码

Libraies:存放固件库相关文件

MDK-ARM:存放相关工程

 晶振改为8WHz

 修改输出文件位置

    定义宏

定义头文件

 

 

 

注意APB1和APB2的时钟不同

 

相关文章
|
3月前
|
IDE 编译器 开发工具
学习STM32,该用哪款开发工具?
学习STM32,该用哪款开发工具?
97 1
|
3月前
stm32f4外设学习篇(代码集合)(三)
stm32f4外设学习篇(代码集合)
|
3月前
stm32f4外设学习篇(代码集合)(二)
stm32f4外设学习篇(代码集合)
|
3月前
|
芯片
stm32f4外设学习篇(代码集合)(一)
stm32f4外设学习篇(代码集合)
|
3月前
|
存储 C语言 芯片
C/C++ stm32基础知识超详细讲解(系统性学习day14)
C/C++ stm32基础知识超详细讲解(系统性学习day14)
|
3月前
|
存储 编译器 API
大神们分享STM32的学习方法
大神们分享STM32的学习方法
66 0
|
11月前
|
存储 Linux C语言
stm32cubeMX学习、USB DFU(Download Firmware Update)固件更新
stm32cubeMX学习、USB DFU(Download Firmware Update)固件更新
548 1
|
11月前
|
存储 算法 API
stm32cubeMX学习、SD卡虚拟U盘实验
stm32cubeMX学习、SD卡虚拟U盘实验
360 0
|
12月前
|
存储 数据采集 芯片
No.4 STM32F429IGT6 GPIO相关学习总结(STM32F429/F767/H743)
No.4 STM32F429IGT6 GPIO相关学习总结(STM32F429/F767/H743)