基于STM8L15x-16x-05x系列单片机的官方标准库文件创建第一个EWSTM8工程项目

本博文主要内容是手把手给大家创建项目的工程模板;单片机基于STM8L15x-16x-05x系列,编译环境基于IAR Embedded Workbench for STM8 IDE (EWSTM8)。废话不多说,正式开始:

一、准备工作

1、个人电脑一台(确保正确安装EWSTM8-3.11.1环境)

2、STM8L15x-16x-05x-AL31-L_StdPeriph_Lib标准库

二、工程项目的创建

1、创建自己工程项目的文件夹

我创建的文件夹名称为STM8L_Template_Code;[特别注意:避免中文路径和空格,不然会造成编译错误等等一系列未知问题];然后在工程文件夹STM8L_Template_Code下面再创建4个不同的文件夹,分别用于存放工程中不同类型的文件;

BSP:存放板级支持包,主要是单片机外设与硬件的驱动程序;将标准库库en.stsw-stm8016压缩包进行解压,en.stsw-stm8016\STM8L15x-16x-05x-AL31-L_StdPeriph_Lib\Project\STM8L15x_StdPeriph_Template路径下的stm8l15x_it.c、stm8l15x_it.h和stm8l15x_conf.h复制到此文件夹下;

Docs:存放和工程中相关的资料或者说明文档等,例如readme文件;

Hardware:存放外设的文件夹,例如UART、IIC、SPI、USB等与外设相关的驱动文件,驱动文件需要自己进行编写;

Project:存放EWSTM8的工程文件;main函数和编译的Hex、Debug等文件;将标准库库en.stsw-stm8016压缩包进行解压,en.stsw-stm8016\STM8L15x-16x-05x-AL31-L_StdPeriph_Lib\Project\STM8L15x_StdPeriph_Template路径下的main.c复制到此文件夹下;

StdPeriph_Driver:存放STM8L15x-16x-05x-AL31-L的标准库文件;将标准库库en.stsw-stm8016压缩包进行解压,en.stsw-stm8016\STM8L15x-16x-05x-AL31-L_StdPeriph_Lib\Libraries\STM8L15x_StdPeriph_Driver路径下的inc和src文件夹复制到此文件夹下;

创建好的文件夹如下图所示:

至此,本地的文件夹创建和工程需要的基础文件都已经准备好,下一步进行EWSTM8工程的创建。

2、创建EWSTM8环境的工程文件

在开始菜单中打开IAR EW for STM8 3.11.1。单击File-->New Workspace,创建新的工作空间;然后单击Project-->Create New Project,可以出现如下对话框;在如下对话框Tool chain中选择 STM8,在Project Templates中选择Empty project;单击OK按钮,在弹出的对话框中选择第一步创建的Project文件夹,工程命名为STM8L-Template,也可以根据自己的项目自定义项目名称,最后单击保存按钮,保存创建的项目工程。

3、在工程项目名称STM8L-Template上点击右键,在弹出的列表中选择Add-->Add Group...;在弹出的对话框中把第一步创建的文件夹全部再添加到工程项目列表中,如下图所示;

4、然后在创建的项目列表上单击右键,选择Add-->Add File...;

BSP-->Add-->Add File...-->选择BSP文件夹下的stm8l15x_it.c、stm8l15x_it.h和stm8l15x_conf.h三个文件;

Docs-->Add-->Add File...-->选择Docs文件夹下的readme文件(右下角的文件类型必须选择为All Files);

Hardware:此文件夹下暂时无文件可以添加,略过;

Project-->Add-->Add File...-->选择Project文件夹下的main.c文件;

StdPeriph_Driver-->Add-->Add Group...;创建inc和src两个文件列表;然后再添加对应文件夹下的全部文件;操作如下所示:

5、工程项目配置:先左键点击工程名称STM8L-Template,然后在菜单Project-->选择Options...;如下图所示;(或者直接在工程名称STM8L-Template上右键选择Options...)弹出工程配置的标签;

修改General Options选项中,Target标签配置如下所示(根据自己使用到的单片机,选择对应的具体型号)

在Library Configuration中,配置如下图所示;

 

在C/C++ compler选项中,添加工程文件中所需要的头文件路径,添加后的路径为绝对路径如:E:\EWSTM8L\STM8L_Template_Code\StdPeriph_Driver\inc;但是路径最好修改为如下图中$PROJ_DIR$\..\xxx开头的路径,意思是头文件存放路径为工程目录中对应的文件夹下,为相对地址,工程文件被打包到其他的磁盘或电脑后,头文件还可以被编译器识别;绝对路径转为相对路径的方法:点击如下图中绿色下三角,在弹出的选项中选择相对路径的表示方法。根据自己的项目需求添加对应的头文件路径。

在下方的Defined symbols中输入对应的容量标识;我自己板子的型号是STM8L151C8T6,对应的标识为STM8L15X_HD;

关于MCU的具体标识,可以在对应的数据手册的第一章,MCU说明介绍章节进行查看;如下图所示:

STM8L15x-16x-05x-AL31-L_StdPeriph_Lib标准库支持的MCU标识有如下:

/* #define STM8L15X_LD */     /*!< STM8L15X_LD: STM8L15x Low density devices */
/* #define STM8L15X_MD */     /*!< STM8L15X_MD: STM8L15x Medium density devices */
/* #define STM8L15X_MDP */    /*!< STM8L15X_MDP: STM8L15x Medium density plus devices */
/* #define STM8L15X_HD */     /*!< STM8L15X_HD: STM8L15x/16x High density devices */
/* #define STM8L05X_LD_VL */  /*!< STM8L05X_LD_VL: STM8L051xx3 Low density value line devices */
/* #define STM8L05X_MD_VL */  /*!< STM8L05X_MD_VL: STM8L052xx6 Medium density value line devices */
/* #define STM8L05X_HD_VL */  /*!< STM8L05X_HD_VL: STM8L052xx8 High density value line devices */
/* #define STM8AL31_L_MD */   /*!< STM8AL31_L_MD: STM8AL3x Medium density devices */

在Debugger选项中的Driver中选择工具为ST-LINK,并且选择Run to复选框;最后单击OK按钮,工程项目配置设置到此就结束了。

6、工程项目的编译

在标题栏上选择Make按钮,进行工程的编译;最终编译结果在Build窗口可以发现有一个错误,如下图所示:

在Build窗口中查看错误的提示行并双击左键定位到错误的位置,如下图所示:

通过文件内容的注释可以看到此警告是可以忽略的。

备注:关于项目文件夹Project下的0PRJ-Kill.bat文件的解释,这是一个批处理文件,因为项目的编译会生成许多中间文件,造成项目的文件夹过大,不利于文件的传输,双击0PRJ-Kill.bat可以删除项目中不需要的文件,使项目文件夹占用空间大大缩小。

以上就是通过官方给出的标准外设库的文件创建属于自己的工程模板,如果大家有任何疑问欢迎评论留言和QQ群交流,更多详细资料也可以群文件免费获取,QQ群:541022402。

 

------------------------------------------------------------------------------------------------------------------------------------------

因为小编自己能力水平有限,文中难免有错误或表达不到的信息,还望广大阅读者留言批评指正,谢谢。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值