stm32学习笔记06 固件库编程准备

108 阅读2分钟

我们眼中的固件库应该是什么样子

  1. 汇编编写的启动文件:

    startup_stm32f10x_hd.s:设置堆栈指针,设置PC指针,初始化中断向量表,配置系统时钟,调用C库函数_main 最终去到C的世界

  2. 时钟配置文件

    system_stm32f10x.c:把外部时钟HSE=8M,经过PLL(锁相环)陪频为72M

  3. 外设相关:

    stm32f10x.h:实现了内核之外的寄存器映射

    xx:表示GPIO,USART,I2C,SPI,FSMC

    stm32f10x_xx.c:外设的驱动函数库文件

    stm32f10x_xx.h:外设的初始化结构体,外设初始化结构体成员的参数列表,外设固件库函数的声明

  4. 内核相关的软件 CMSIS -Cortex 微控制器软件接口标准

    core_cm3.h:实现了内核里面外设的寄存器映射

    core_cm3.c

    NVIC(嵌套向量中断控制器) SysTick(系统嘀嗒定时器)

    misc.h misc.c

  5. 头文件的配置文件

    stm32f10x_conf.h:头文件的头文件

    所有外设的头文件都包含在这里,默认是注释掉的,想用打开即可

  6. 专门存放中断服务函数的c文件

    stm32f10x_it.c

    stm32f10_it.h

     中断服务函数可以随意放在其他地方,并不是一定要放在stm32f10x_it.c
    

stm32 固件库

学习如何通过固件库查看函数

使用固件库编程

新建项目

  1. 新建项目文件夹
  2. 项目文件夹内新建其他文件夹(Listing和Output Keil自动生成)

image.png

image.png

自己写的代码都放在User这里

3. 把官方库Libraries中的CMSIS文件夹里的文件可以优化一下,将CMSIS和芯片库粘贴进新建的Libraries文件夹中

image.png

arm文件夹中内容放到startup目录中,startup目录中其他文件夹可以删掉

  1. 在USER文件夹中建立main.c
  2. 在USER中添加中断和配置等文件,可以从官方库的例程中添加

image.png

  1. 在Keil中添加之前新建好的内容(外设库的内容添加src中“全选”)

image.png

  1. 配置Keil使用的头文件路径

image.png

  1. 进行相关宏定义

     关于“stm32f10x_conf.h”的
     关于定义不同芯片类型的宏
    

image.png

9.在魔术棒-Device 中选定芯片类型,魔术棒-Target 选择使用 microlib,魔术棒-Output 中勾选 HEX和Browse Information

10.可以配置keil垃圾清除的脚本