标签 工程建立 下的文章
今天给大家讲讲如何在Keil下建立STM32的库函数工程,还不会的博友们,可以来看看,带图教程哦。。。好了,废话不多说,直接进入今天的主题吧。注:在看这个教程之前,先到教程底部把文件下载了,待会要用的哟。1、在桌面上创建Test文件夹,并且在Test文件夹下面创建如下图所示文件注: CORE用来存放核心文件和启动文件; OBJ是用来存放编译过程文件以及hex文件; LIB用来存放 ST 官方提供的库函数源码文件; USER目录除了用来放工程文件外,还用来存放主函数文件main.c,以及其他包括 system_stm32f10x.c等等。2、打开Keil创建工程(1)、点击 Keil的菜单:Project–>New Uvision Project,然后将目录定位到刚才建立的文件夹Test之下的USR目录,工程命名为Test,点击保存:(2)、接下来会出现一个选择Device的界面,就是选择我们的芯片型号,这里我们定位到STMicroelectronics下面的STM32F103ZE(这是我使用的STM32芯片的型号,如果你是其他芯片,请选择对应的型号即可),点击OK按钮:(3)、弹出如下图对话框,我们选择”否”:3、将官方的固件库包里的源码文件复制到我们的工程目录文件夹下面上面已经创建好了一个工程,接下来就需要将将官方的固件库包里的源码文件复制到我们的工程目录文件夹下面。(1)、打开官方固件库包,定位到我们准备好的固件库包的目录 STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\STM32F10x_StdPeriph_Driver下面,将目录下面的src,inc文件夹拷贝到我们刚才建立的LIB文件夹下面。注:src存放的是固件库的.c文件,inc存放的是对应的.h文件。(2)、打开官方固件库包,定位到目录STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\CoreSupport下面,将文件core_cm3.c和文件core_cm3.h复制到CORE下面去。然后定位到目录STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm下面,将里面startup_stm32f10x_hd.s文件复制到CORE下面。现在我们的CORE文件夹下面的文件如下:注:对于103系列,主要是用其中3个启动文件(请根据你的芯片容量选择):startup_stm32f10x_ld.s:适用于小容量产品(flash≤32K)startup_stm32f10x_md.s:适用于中等容量产品(64K≤flash≤128K)startup_stm32f10x_hd.s:适用于大容量产品(flash≥256K)(3)、打开官方固件库包,定位到目录STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x下面,将里面的三个文件stm32f10x.h,system_stm32f10x.c,system_stm32f10x.h,复制到我们的USER目录之下。然后将STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Template下面的 4 个文件main.c,stm32f10x_conf.h,stm32f10x_it.c,stm32f10x_it.h复制到USER目录下面至此我们将需要的固件库相关文件复制到了我们的工程目录下面,下面我们将这些文件加入我们的工程中去。4、工程相关配置(1)、右击Source Group 1,点击Remove Group 'Source Group 1’ and its Files,弹出的对话框选择”是”,如下图:右击Target,点击Add Group,设置其名为USR,如下图:按照上述步骤,添加LIB,CORE,如下图:(2)、下面我们往Group里面添加我们需要的文件右击USR,点击Add Existing Files to Group‘USR'...,在USR目录下,添加所有的.c文件:按照上述操作,将CORE目录下的.c文件与.s文件添加到CORE组中;将LIB目录下的src文件中你用得到的.c文件添加到LIB组中,这里我都添加进去:添加完成后,各个组中的文件如下图:(3)、点击Keil中的图标,然后点击“Output”选项下面的“Select folder for objects...”,然后选择目录为我们上面新建的OBJ目录,并且勾选Create HEX File;接着点击“Listing”选项下面的“Select folder for Listings...”,然后也选择我们上面新建的OBJ目录:(4)、点击Keil中的图标,然后点击c/c++选项.然后点击Include Paths右边的按钮。弹出一个添加path的对话框,然后我们将上面的3个目录添加进去,将”STM32F10X_HD,USE_STDPERIPH_DRIVER”(逗号是英文状态下的逗号)输入到Define 输入框里面,具体如下图:注:你用的是中容量那么STM32F10X_HD修改为STM32F10X_MD,小容量修改为STM32F10X_LD然后点击OK退出。5、编译程序点击下图所示的编译图标,编译程序:上述程序实现了PA0高低电平的切换,其仿真结果如下图: 好了至此,基于Keil的STM32的库函数工程建立完了,大家如果还有什么不明白的,可以留言提问。 这里是我建立的工程及官方库函数,请下载:点此下载
- 1
本站信息
目前本站共被浏览 163884 次
目前本站已经运行 3535 天
目前本站共有 165 篇文章
目前本站共有 6 条评论信息
目前本站共有 104 个标签
目前本站共有 0 条留言信息
网站创建时间: 2015年03月01日
最近更新时间: 2023年11月26日
目前本站已经运行 3535 天
目前本站共有 165 篇文章
目前本站共有 6 条评论信息
目前本站共有 104 个标签
目前本站共有 0 条留言信息
网站创建时间: 2015年03月01日
最近更新时间: 2023年11月26日
JLink V9掉固件修复(灯不亮) 3Zephyr笔记2 - 在STM32F429上运行HelloWorld 2计算NandFlash要传入的行地址和列地址 1Linux MMC子系统 - 6.eMMC 5.1工作模式-设备识别模式 0Linux MMC子系统 - 5.eMMC 5.1工作模式-引导模式 0Linux MMC子系统 - 4.eMMC 5.1常用命令说明(2) 0
最新评论
标签云
Linux嵌入式实用技巧ARM内核学习问题集合CC++编程语言阅读笔记汇编Linux内核完全注释Windows驱动开发计算机基础ARM11ARMv7-ASTM32IDESublimeLinux内核学习eMMCMMC子系统Ubuntu操作系统OfficeVMWareAPUEgccRTOS中断漫游世界随笔感悟开发工具软件应用编程VsCodearmccarmclang编译器ZephyrSPIJLink网卡驱动安装各种芯片库函数NFSμCOS内核sambaFlashUnix命令与脚本输入法Linux内核设计与实现gitRIFFWAVJATGFTPar8161安装centos有线上网μCGUI字库工程建立右键菜单网络文件系统Firefox百度NTFS文件系统CodeBlocksCentOS数据结构算法PhotoShop51KeilQTUltraEditscanfglibc宏定义UIDGID优先级娱乐天地SourceInsight磁盘扇区总线I2CPDFBComparePythonI2SFPUMakefileSWDCPUARP软件推荐FileZilla