keil 中device " *.pack" 芯片包的制作
1. Device 文件
1.1 Include文件
下有两个文件
- stm32f103.h:该文件包含STM32F1xx器件的所有外设寄存器定义,位定义和存储器映射。
- system_STM32f103.h:CMSIS Cortex-M3设备外围访问层系统头文件。
1.2 Source文件
下有三个文件夹,一个文件
- ARM
- GCC
- IAR
- system_STM32f103.c
2. Flash 文件
有如下三个文件
1…VS文件
2. *.FLM
2.2 FLM文件
FLM文件是用来描述烧录单片机的时候的FLASH 信息,针对不同的单片机有不同的flash信息。所以在自己设置的单片机中,要么flash和其他的型号完全一样,要么就是根据寄存器进行更改。
在Keil的文件夹下有提供相对应的开发工程,我的工程路径如下:
C:\Keil_v5\ARM\Flash\_Template
参考资料
MDK程序下载 ---- FLM文件
万能的Flash烧写程序—基于FLM文件实现
如上两个连接介绍了如何实现FLM文件的创建和编辑,可以参考相关的文章,实现自己FLM文件的编译。
3. SVD文件
以下是ARM官方对这个文件的描述
CMSIS系统视图描述格式(CMSIS-SVD)规范了基于Arm Cortex-M处理器的微控制器中包含的系统的描述,
尤其是外围设备的内存映射寄存器。系统视图说明中包含的详细信息可与设备参考手册中的数据相提并论。
该信息的范围从外围设备的高级功能描述一直到存储器映射寄存器中单个位字段的定义和目的。
CMSIS-SVD文件由芯片供应商开发和维护。芯片供应商将其描述作为CMSIS设备系列产品包的一部分进行分发。
工具供应商使用CMSIS-SVD文件在其调试器中提供外围设备的特定于设备的调试视图。最后但并非最不重要的
一点是,从CMSIS-SVD文件生成了与CMSIS兼容的设备头文件。
就我的理解。
- 此文件由芯片厂家开发维护
- SVD相当于把传统的芯片手册(DATA SHEET)给“数字化”了, 手册是给人看的,而SVD采用XML文档结构化的方式,是给机器、开发环境、MDK/IAR等软件“看”的
- 打开方式XML
- 根据SVD文件可以生成芯片的头文件定义
4. *.pdsc文件
主要配置编译环境,配置设备目录。
厂家的设备树进行一个简单的描述,从而对应上设备的FLM文件,以及SVD文件
ARM/GCC/IAR 三个编辑器 对应的startup 文件进行对应。
附录:网络收集参考资料
- keil CMSIS PACK制作中文 手册
- 具体内容解释看官方文档:http://www.keil.com/appnotes/docs/apnt_250.asp
http://www.keil.com/appnotes/docs/apnt_251.asp
http://www.keil.com/appnotes/docs/apnt_252.asp