固件库文件解析及构建工程

        本文是我在看野火视频时的笔记

一、汇编语言编写的启动文件:
stm32f103rbt6使用的是128kb的内置flash,因此,应该使用的文件是startup_stm32f10x_md.s
主要作用:设置堆栈指针,PC指针,初始化中断向量表,配置系统时钟,调用c语言的_main前往c语言部分执行。

二、配置系统时钟的时钟配置文件
使用的文件是system_stm32f10x.c
主要作用:把外部时钟SHE的8MHZ经PLL倍频为72MHZ。
PLL:锁相环时钟,专门用来倍频。

三、外设相关
1.实现外设的寄存器映射的文件使用的文件是stm32f10x.h
外设一般是由制造商设计,stm32f103rbt6的外设是ST公司设计
2.stm32f10x_xx.h外设的初始化结构体,结构体成员的初始化列表,函数的声明
stm32f10x_xx.c外设的驱动文件
其中,xx可以是gpio、I²C、UART等等

四、实现内核的寄存器映射的文件
使用CMSIS标准,cortex微控制器软件接口标准
**core_cm3.h、内核中外设的寄存器映射的文件
core_cm3.c****内核中外设的驱动程序
内核由IP厂商设计,stm32f103rbt6的IP核由ARM公司设计

NVIC(嵌套向量中断控制器)和SysTick(系统滴答定时器)
misc.h
misc.c

五、头文件的配置文件
stm32f10x_conf.h头文件的头文件,包含所有的头文件

专门存放中断服务函数的C文件
stm32f10x_it.c
stm32f10x_it.h

一、首先,应该创建一个文件夹,里面四个文件夹,分别是存放内核和外设文件的Libraries,存放工程的Project,存放用户编写的文件的User(main.c和头文件的配置文件)

二、创建一个新的工程的方法如下:选择在Project文件夹下创建四个工程目录(右键Target1创建),存放启动文件(.s)的STARTUP,存放外设文件的FWLIB,存放内核文件的CMSIS,以及存放自己编写的代码的USER;也可以再有一个写文档的DOC目录
在这里插入图片描述
三、配置
1.在魔术棒的C/C++的Define里添加USE_STDPERIPH_DRIVER,STM32F10X_MD
2.在魔术棒的C/C++的Include Paths里添加所有文件的目录。
!!!!文件必须是在直属的目录当中,否则会报错,如下。可以把需要的.h和,c都放在几个文件目录里
C:\Keil\ARM\INC\ST\STM32F10x\stm32f10x_map.h(177): error: #256: invalid redeclaration of type name "CAN_FilterRegister_

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
如此,一个工程就创建完成了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值