我是靠谱客的博主 漂亮白猫,最近开发中收集的这篇文章主要介绍2.环境搭建2 --标准库的移值(基于Keil),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

目录

前言

1.下载库

2.创建Keil工程

3.然后开始移值


前言

        相较于8位单片机(51单片机)而言,32位单片机的寻址空间会大很多很多,也就是内部的寄存器非常的多;这时候我们再使用寄存器的配置方法就会不利于程序的阅读性,并且配置的过程会比较痛苦(对着寄存器手册找);基于这种情况ST公司给出了很好的解决方案  --  使用库的方式来配置(标准库,HAL库,LL库)。这里我们先着重了解标准库的移值过程。

水平有限,如有错漏之处,敬请指正

主要过程为:

1.下载库 ---》   2.创建Keil工程    ---》3.开始移值


1.下载库

直达链接:STSW-STM32054 - STM32F10x标准外设库 - STMicroelectronicsSTSW-STM32054 - STM32F10x标准外设库, STSW-STM32054, STMicroelectronicshttps://www.st.com/zh/embedded-software/stsw-stm32054.html这里我们选择3.5.0的版本

 然后下载即可


2.创建Keil工程

1.新建项目

 2.选择或添加芯片包

如果没有芯片包:

下载地址:MDK5 Software Packshttps://www.keil.com/dd2/pack/ 

 下载完成后安装再重新创建工程就能找到了

创建完成效果如下:


3.然后开始移值

1.创建完项目后找到我们创建的项目所在的文件夹

为了方便我们程序的结构以及对程序的管理,我们在这个项目的上一级创建一些文件夹,用于分开存放不同的程序,比如ST的官方库放一个文件夹,我们自己写的程序放一个文件夹,我创建了以下的文件夹

文件名文件夹内容
Project用来存放Keil的项目文件
User用来存放自己写的一些函数
Drivers用来存放一些库等文件
Output用来存放keil编译输出的文件比如.bin .hex
Readme用来存项目的一些说明书等

然后想要使我们的输出文件输出到指定的Output文件夹需要配置以下的东西

选择我们需要输出的文件夹


同样,我们也可以在keil中添加一些文件夹由于分类存放程序

接下来添加一个启动程序文件 这里命名为main.c


 2.解压前面我们下载的库文件

文件名文件夹内容
_htmresc一些用不上的Loog
Libraries包含两个子目录CMSIS和FWlib
Project官方的一些例程
Utilities官方的评估板的一些程序
stm32f10x_stdperiph_lib_um这个库的帮助手册

我们主要需要移值的就是Libraries这个文件夹里的一些内容!


然后就是复制粘贴的环节了

1.复制粘贴启动文件

把固件包中的  ..STM32F10x_StdPeriph_Lib_V3.5.0LibrariesCMSISCM3DeviceSupportSTSTM32F10xstartuparm文件夹中的startup_stm32f10x_XX.s复制到我们的Drivers文件夹中

XX表示芯片容量:

大于128k为大容量用hd,大于64k小于128k为中等容量用md,小于64k的为小容量用ld


2.复制粘贴外设库文件

把固件包中的

 ..STM32F10x_StdPeriph_Lib_V3.5.0Libraries中的STM32F10x_StdPeriph_Driver文件夹直接复制到我们的Drivers文件夹中


3.复制粘贴M3内核文件

把固件包中的

..STM32F10x_StdPeriph_Lib_V3.5.0LibrariesCMSISCM3CoreSupport中的core_cm3.c和core_cm3.h文件直接复制到我们的Drivers文件夹中


 4.复制粘贴配置文件

把固件包中的

..STM32F10x_StdPeriph_Lib_V3.5.0LibrariesCMSISCM3DeviceSupportSTSTM32F10x中的stm32f10x.h , system_stm32f10x.c和system_stm32f10x.h文件直接复制到我们的user文件夹中

 将

..STM32F10x_StdPeriph_Lib_V3.5.0ProjectSTM32F10x_StdPeriph_Template

中的stm32f10x_conf.h文件复制到User文件夹中


在Keil中添加我们刚才复制挂来的.s  ,   .c和.h文件

将编译器配置为5 

 添加所有的.h文件所在的目录

 


开始编译

 这里有一个报错出现在misc.o的链接文件中,缺少了assert_param的定义

我们在配置中添加宏定义STM32F10X_HD,USE_STDPERIPH_DRIVER


 然后我们的标准库的项目模板就完成啦

最后

以上就是漂亮白猫为你收集整理的2.环境搭建2 --标准库的移值(基于Keil)的全部内容,希望文章能够帮你解决2.环境搭建2 --标准库的移值(基于Keil)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(80)

评论列表共有 0 条评论

立即
投稿
返回
顶部