1、建立MDK-ARM5.0开发平台,内容,什么是开发平台? 4.1 MDK-ARM简介 4.2 CMSIS标准简介 4.3 STM32标准外设库 4.4 安装MDK-ARM5.0 4.5 创建工程模板,开发平台,硬件 下位机(目标板、开发板等) 调试设备(JLink,ULink等) 上位机(PC) 其他调试设备(示波器、信号发生器等) 软件 文档与手册 开发工具(程序编写、编译工具链、调试) 启动文件(.s)、C文件(.h、.c)、配置文件(.ini、.axf) 库文件(可选.h、.c、.lib等),4.1 MDK-ARM简介,Keil 2006年ARM收购德国Keil公司 MDK,Microc
2、ontroller Development Kit MDK-ARM Vision IDE:是一个集项目管理器、源代码编辑器、调试器于一体的强大集成开发环境 RVCT:ARM公司提供的编译工具链,包含编译器、汇编器、链接器和相关工具 RTL-ARM:实时库,可将其作为工程的库来使用。 仿真器 ULink/Jlink:用于连接目标系统的调试接口(JTAG或SWD方式),帮助用户在目标硬件上调试程序。,4.1 MDK-ARM简介,一般的软件开发步骤 新建一个工程。从处理器库中选择目标芯片; 自动生成启动文件或使用芯片厂商提供的基于CMSIS标准的启动文件及固件库; 配置编译器环境; 用C语言或汇编语
3、言编写源文件; 编译目标应用程序; 修改源程序中的错误; 调试应用程序。,4.2 CMSIS标准简介,CMSIS: Cortex Microcontroller Software Interface Standard ARM Cortex 微控制器软件接口标准 Cortex-M 处理器系列处理器与供应商无关的硬件抽象层,4.2 CMSIS标准简介,ARM定义内核寄存器、NVIC等内核模块,定义异常和中断、片上外设模块 启动文件、外设库,4.3 STM32标准外设库,STM32标准外设库之前的版本也称固件函数库或简称固件库 是一个固件函数包 (.s.h.c) 包括STM32微控制器所有外设的性能
4、特征 CMSIS核内外设访问层 启动文件 外设数据结构、宏、外设函数 该固件库是通用的,并且包括了所有外设的功能,所以应用程序代码的大小和执行速度可能不是最优的 。 V1.0,V2.0,V3.0,V3.5,启动文件未列出,4.3 STM32标准外设库,PPP 表示任一外设缩写,例如:ADC。 STM32F10x系统、源程序文件和头文件命名都以“stm32f10x_”作为开头,例如:stm32f10x_conf.h。 常量仅被应用于一个文件的,定义于该文件中;被应用于多个文件的,在对应头文件中定义。所有常量都由英文字母大写书写。 寄存器作为常量处理。他们的命名都由英文字母大写书写。 外设函数的命
5、名以该外设的缩写加下划线为开头。每个单词的第一个字母都由英文字母大写书写,例如:SPI_SendData。 在函数名中,只允许存在一个下划线,用以分隔外设缩写和函数名的其它部分。 名为 PPP_DeInit 的函数,其功能为复位外设 PPP 的所有寄存器至缺省值,例如 TIM_DeInit。 名为 PPP_StructInit 的函数,其功能为通过设置 PPP_InitTypeDef 结构中的各种参数来定义外设的功能, 例如:USART_StructInit。 名为 PPP_Init 的函数,其功能是根据 PPP_InitTypeDef 中指定的参数,初始化外设 PPP,例如 TIM_Init
6、.,4.3 STM32标准外设库,名为 PPP_Cmd 的函数,其功能为使能或者失能外设PPP,例如: SPI_Cmd。 名为 PPP_ITConfig 的函数,其功能为使能或者失能来自外设 PPP 某中断源,例如: RCC_ITConfig。 名为 PPP_DMAConfig 的函数,其功能为使能或者失能外设 PPP 的 DMA 接口,例如:TIM1_DMAConfig。 用以配置外设功能的函数,总是以字符串“Config”结尾,例如 GPIO_PinRemapConfig。 名为 PPP_GetFlagStatus 的函数,其功能为检查外设 PPP 某标志位被设置与否,例如:I2C_Get
7、FlagStatus。 名为 PPP_ClearFlag的函数,其功能为清除外设PPP 标志位,例如:I2C_ClearFlag。 名为 PPP_GetITStatus的函数,其功能为判断来自外设 PPP 的中断发生与否,例如:I2C_GetITStatus。 名为 PPP_ClearITPendingBit的函数,其功能为清除外设PPP中断待处理标志位 ,例如:I2C_ClearITPendingBit。,4.4 安装MDK-ARM5.0,主流版本MDK-ARM 4.x 新版本MDK-ARM 5.0 与4.x版本功能相同 增加中间件管理模块,4.5 创建工程模板,为什么创建工程模板? 完成工
8、程配置 搭建项目目录结构 方便后期开发 新版本MDK-ARM 5.0 参照书中内容 旧版本4.x 更加简单,不需要考虑第三步的pack installer 不考虑第四步管理运行时环境界面(中间件) 第九步的路径配置很重要,否则找不到库文件 第十步预处理标号很重要 STM32F10X_HD, USE_STDPERIPH_DRIVER 此标号用于库文件的条件编译。,小结,什么是开发平台? 4.1 MDK-ARM简介 4.2 CMSIS标准简介 4.3 STM32标准外设库 4.4 安装MDK-ARM5.0 4.5 创建工程模板 作业 建立开发平台和工程模板 学习使用开发环境 配置程序、编写代码、编译代码(注释、声明与定义、查找) 调试(仿真)单步执行、断点控制、反汇编 变量、寄存器(内核和外设)存储器,