库文件放置及功能解释
1-库文件的PC上保存位置
工程保存路径:D盘\keilpractice\practice project\DEMO\
库文件保存::DEMO\USER+FWlib+CMSIS+Output+Listings
-
USER
- Listings
- [core_cm3.c
- [main.c
- [stm32f10x_conf.h
- [stm32f10x_it.h
- [stm32f10x_it.c CMSIS[内核库文件]
-
-
CoreSupport
- [core_cm3.c
- [core_cm3.h
-
-
DeviceSupport
- [STARTUP文件夹
- [stm32f10x.h
- [system_stm32f10x.h
- [stm32f10x.c
FWlib[外设库文件]
-
-
inc
- [stm32f10x_外设代号.h
- [misc.h
-
-
src
- [stm32f10x_外设代号.c
- [misc.c
2-库文件的工程中添加位置
*创建新的工程:Project->New uVision Project->保存在D盘\keilpractice\practice project\DEMO\USER文件夹下
(可自己设置保存路径,但必须放在USER文件夹)
*添加工程文件:右击Target 1文件夹->Add Group->点击新的文件夹修改名称->双击新的文件夹添加库文件
(FWlib中选择放置此次工程用到的外设驱动文件// 所有添加的都是汇编文件和.c文件,无.h文件)
3-库文件原位置
-
Libraries
-
-
CMSIS\CM3[内核库文件]
-
-
CoreSupport
- [core_cm3.c
- [core_cm3.h
-
-
DeviceSupport
- [STARTUP文件夹
- [stm32f10x.h
- [system_stm32f10x.h
- [system_stm32f10x.c
-
-
-
STM32F10x_StdPeriph_Driver[外设库文件]
-
-
inc
- [stm32f10x_外设代号.h
- [misc.h
-
-
src
- [stm32f10x_外设代号.c
- [misc.c
Project
-
-
-
STM32F10x_StdPeriph_Template
-
-
=
- [main.c
- [stm32f10x_conf.h
- [stm32f10x_it.h
- [stm32f10x_it.c
-
4-库文件功能
-
内核库:底层core /核内设备函数层/ARM公司提供/
- [core_cm3.c
-
1为采用Cortex_M3核的芯片厂商外设设计提供一个进入内核的接口;
2含Stdin.h头文件,提供新类型定义来屏蔽不同芯片平台诸如int是16位/32位的差异;
3含编译器相关语句,屏蔽不同编译器差异;
内核库:/底层Device/ST公司提供/
- [system_stm32f10x.c
- 1设置系统时钟、总线时钟
- [system_stm32f10x.h
- 1含寄存器地址、结构体定义
- [stm32f10x.h
- 1因为寄存器以存储器映射的方式来访问的,前面.c系统时钟实现需要操作寄存器
- [启动文件夹/汇编语言/
-
1含不同芯片型号的启动文件,F103VET6使用—hd.s
2作用:初始化SP、PC、堆和栈大小、异常向量表入口地址、用户可配置SRAM为数据存储器、C库分支入口设置、(3.5版)调用了[system_stm32f10x.c中的SystemIni()函数配置系统时钟
外设层:核外设备外设函数/ST公司提供/
-
1含各外设所需的一个.c一个.h文件
2misc.c配置中断时需要添加。含外设对内核中的NVIC的访问函数。注:NVIC指中断向量控制器
库工程:
- [main.c:用户编写
- [_it.c:::::编写中断服务函数用。已经定义了一些系统异常接口;其他普通中断服务函数接口需用户添加,在[启动文件/汇编/源码中寻找
- [_conf.h:被包含进[stm32f10x.h中,用来配置使用了什么外设的头文件