1、创建一个文件夹
创建以上6个文件夹,其中 SYSTEM是其他人编写的历程,主要使用请搜索正点原子,那里会有比较多的资源供大家使用和选择
简单介绍一下各个文件夹的作用
core 存放的系统的启动文件
fwlib 存放的外设文件
obj 存放各类系统生成文件包括hex
hardware 存放的之后集成到程序里的设备的注册头文件
system 存放的主要是延时,时钟,异步通讯文件
user 存放的是主程序和部分核心程序
2、添加核心文件
请自行下载
两个官方库包,可以去官网上下载,也可详细的了解一下用keil自带的Manage Run-Time environment可以配置系统文件,外设之类的具体我也还在学习中,之后尽快更新的
1) CORE 添加文件
1.1 F1系类
core_cm3 这里指的芯片的类别,其中103系类的是M3
arm文件下的startup为首的都是芯片的启动文件,这里用那个是有区别的,不清楚可以百度,简单的划分
不同的启动文件是针对不同的芯片启动文件,以103系列,主要是3个启动文件
startup_stm32f10x_ld.s 适用于小容量
startup_stm32f10x_md.s 适用于中等容量
startup_stm32f10x_hd.s 适用于大容量
容量这里是指 FLASH 的大小
小容量:FLASH <=32K
中等容量:64K <=FLASH<=128K
大容量: 256<=FLASH
言归正传,我们接下来配置的STM32F103ZE 查它的FLASH=512K 所以在CORE中复制这些文件
1.2 F4系类 stm32f407 zg
stm32f4_dsp_stdperiph_lib\STM32F4xx_DSP_StdPeriph_Lib_V1.4.0\Libraries\CMSIS\Device\ST\STM32F4xx\Source\Templates\arm
这里我们的407系列选择的是第一个启动文件
理论上芯片是M4核我们只要选择cm4的那个两个文件,实际在我创建中会把cmFun和cmInstr都加进去,在可能是我参考文件有问题,导致没有程序会一直保持而且正点原子给的template的里也加了这两个
一个是Core_cmFunc.h 和 Core_cmInstr.h 第一个文件是不同编译器下的一些系统级的汇编函数,第二个文件是不同编译器下的指令 有高人认为这是为了
兼容不同的编译器做设计的
那么copy之后文件是这个样子的