在MDK上建立STM32固件库工程
来源:互联网 发布:php 数组 编辑:程序博客网 时间:2024/06/03 15:38
1、将下载好的 stm32f10x_stdperiph_libV3.1.2 固件库解压到桌面。
http://pan.baidu.com/s/1sj8W6st
2、以项目名称新建一个文件夹,我这里为Project。
3、在Project文件夹里面新建SRC、INC、DEV、FWlib、MDK分别用于存放源程序、头文件、驱动、固件库和工作文件。在MDK文件里新建Obj、List分别用于存放KEIL编译出来的中间文件。
4、把第一步解压出来的STM32F10x_StdPeriph_Lib_V3.1.2\Libraries下的CMSIS和STM32F10x_StdPeriph_Driver复制到FWlib下。把STM32F10x_StdPeriph_Lib_V3.1.2\Project\Template下的main.cstm32f10x_it.c复制到Project\SRC。把STM32F10x_StdPeriph_Lib_V3.1.2\Project\Template下的stm32f10x_conf.h和stm32f10x_it.h复制到Project\INC下。
5、启动MDK,新建工程,工作名字为Project,存放路径选择Project\MDK。点NEXT,选择处理器型号为STM32F103ZE后点OK。弹出以下对话框,询问是否加入KEIL自带的STM32启动文件,点击否。
6、在Project窗口中,用鼠标右键点击Target 1,选择第一项,弹出如下对话框。
7、在Output页面点击Select Folder for Objects...,在弹出的对话框中进入MDK\Obj,点击OK。
勾选,Create HEX File。
8、在Listing页面点击Select Folder for Listings...,在弹出的对话框中进入MDK\List,点击OK。
9、在C/C++页面下的Define定义三个全局宏USE_STDPERIPH_DRIVER, USE_FULL_ASSERT, STM32F10X_HD。其中USE_STDPERIPH_DRIVER说明该工程中使用固件库, USE_FULL_ASSERT表示在调用固件库的时函数的时候,在函数前面,会调用void assert_failed(uint8_t* file, uint32_t line)检查输入的参数,assert_failed由用户自己编写,可以参考固件库中的例程下的MAIN.C文件。STM32F10X_HD表示使用的是大容量STM32。
10、点击C/C++页面下的Include Paths后面的...按钮。分别添加Project目录下的DEV、INC、FWlib\CMSIS\Core\CM3、FWlib\STM32F10x_StdPeriph_Driver\inc作为头文件路径。
11、在Project窗口中,用鼠标右键点击Target 1,选择Manage Componets,弹出如下对话框。删掉Source Group 1,然后在Groups下新建SRC、INC、DEV、FWlib\SRC、FWlib\CMSIS。
12、在Files下为第11步所建的文件夹添加相应的文件。其中CMSIS中加入FWlib\CMSIS\Core\CM3的core_cm3.c和system_stm32f10x.c,和FWlib\CMSIS\Core\CM3\startup\arm下的startup_stm32f10x_hd.s。添加后的内容如下图。
13、双击MAIN.C,去掉与stm32_eval开发板相关的代码。最后MAIN.C的内容如下,一个MDK下的STM32固件库工程就这样建立好了。
/* Includes ------------------------------------------------------------------*/#include "stm32f10x.h"/** @addtogroup Template_Project * @{ *//* Private typedef -----------------------------------------------------------*//* Private define ------------------------------------------------------------*//* Private macro -------------------------------------------------------------*//* Private variables ---------------------------------------------------------*/ USART_InitTypeDef USART_InitStructure;/* Private function prototypes -----------------------------------------------*//* Private functions ---------------------------------------------------------*//** * @brief Main program. * @param None * @retval None */int main(void){ /* Setup STM32 system (clock, PLL and Flash configuration) */ SystemInit(); /* Add your application code here */ /* Infinite loop */ while (1) { }}#ifdef USE_FULL_ASSERT/** * @brief Reports the name of the source file and the source line number * where the assert_param error has occurred. * @param file: pointer to the source file name * @param line: assert_param error line source number * @retval None */void assert_failed(uint8_t* file, uint32_t line){ /* User can add his own implementation to report the file name and line number, ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ /* Infinite loop */ while (1) { }}#endif
将最终移植好的代码打包,放到网盘上存储(Project_LIB.rar和Project_ucos.rar)。
http://pan.baidu.com/s/1hqpCeu4 http://pan.baidu.com/s/1dDtgaIl
- 在MDK上建立STM32固件库工程
- 在MDK上建立一个C++的STM32开发工程
- 在MDK上建立一个C++的STM32开发工程
- STM32在KEIL MDK环境下建立新工程
- stm32开发笔记一:使用固件库在RealView-MDK中新建工程(上)
- KEIL MDK STM32如何建立工程
- 用MDK建立STM32工程模板
- 使用C++封装库在MDK上建STM32开发工程
- STM32之keil MDK下建立第一个工程
- MDK 新建工程 MDK 在win8 上安装
- 在Keil4中建立基于固件库的STM32工程
- MDK下STM32工程注意事项
- 如何在STM32F10x_StdPeriph_Template基础上建立自己的MDK工程
- MDK建立STM32F103工程步骤
- RVMDK建立STM32工程
- 初学STM32工程建立
- STM32工程建立
- 建立STM32工程模板
- 学习GameKit
- Hive学习之视图、索引DDL
- swift语言中文教程
- ubuntu登入界面错误解决
- Linux TomCat 基本使用命令
- 在MDK上建立STM32固件库工程
- 软件测试基本方法(二)之白盒测试
- VS2010安装帮助文档
- Swift 语言学习!!!!
- select操作
- 微信公众平台CRM接口
- 谈谈vector容器的三种遍历方法
- jquery操作select2控件
- Android 拨打电话两种方式