历史上的今天
今天是:2025年03月01日(星期六)
2021年03月01日 | EWSTM8系列教程02_新建基础软件工程
2021-03-01 来源:eefocus
1写在前面
我们常说的IAR for STM8,其实指的就是EWSTM8,它的全称是IAR Embedded Workbench for STM8。
本文针对初学者,利用EWSTM8集成开发环境,基于STM8S标准外设库新建基础软件工程。(后面会讲述如何新建多工程、多目标)
本文分如下内容来讲述:
1.准备工作
下载安装EWSTM8
下载STM8标准外设库
整理工程文件夹
2.新建软件工程
创建工程
添加文件
配置工程
为了方便大家平时公交、地铁、外出办事也能用手机随时随地查看该教程,本文章收录于【EWSTM8系列教程】,在微信公众号回复【EWSTM8系列教程】即可查看。
2准备工作
俗话说“磨刀不误砍柴工”,做好了准备工作,后面新建基础软件工程的工作就很容易实现了。
2.1 下载安装EWSTM8
详情请参看该系列教程上一篇文章【EWSTM8系列教程01_IAR介绍、下载、安装和注册】。
2.2 下载STM8标准外设库
本文基于STM8标准外设库(STM8S_StdPeriph_Lib)来新建基础软件工程,所以需要下载标准库。如果你不使用标准外设库(如:使用寄存器)开发,本节内容可以略过。
A.官网下载
https://www.st.com/content/st_com/en/products/embedded-software/mcus-embedded-software/stm8-embedded-software/stsw-stm8069.html
提示:在官网下载需要登录账户,如果嫌麻烦可以在ST中文网,或下面百度网盘下载(和官网一样)。
B.百度网盘
http://pan.baidu.com/s/1qYbBKMK
提示:如果以上链接失效, 可以关注微信公众号, 获取更新链接。(微信公众号不支持外链接,请复制网址在浏览器打开)。
2.3 整理工程文件夹
这一小节的内容可根据自己习惯来整理,我整理的文件及文件夹结构是按照常规的整理方式。你如果觉得合理,可以直接引用;如果觉得不习惯这个结构方式,可以自己整理。
本节所讲述的文件夹及里面的内容不是本文新建软件工程的重点,若需要详细了解库文件、文件夹及里面源代码内容,可以参看我的另一教程【STM8S标准外设库教程】。
A.新建工程文件夹
首先建立一个存放工程文件的文件夹:STM8S_Demo
B.提取ST标准外设库文件
解压下载的标准外设库(STM8S_StdPeriph_Lib)可以看见下面四个文件夹和参考资料:
_htmresc:图片文件夹(不提取)
Libraries:标准驱动库(提取大部分)
Project: 示例工程(提取少部分)
Utilities:公共代码、评估板代码(不提取)
MCD-ST Liberty:软件许可协议(不提取)
Release_Notes:发行说明
stm8s-a_stdperiph_lib_um:库说明文档
ST官网下载的标准外设库里面有很多例程源代码和其他文件,但我们主要使用Libraries目录下STM8S_StdPeriph_Driver源代码,其他参考文件用于开发学习时参考使用。
1.拷贝Libraries文件夹到我们的STM8S_Demo工程文件夹下面。
2.拷贝STM8S_StdPeriph_Lib Project STM8S_StdPeriph_Template下面stm8s_conf.h、stm8s_it.c和stm8s_it.h三个文件到我们STM8S_DemoApp下面。
C.新建文件夹和文件
除了标准外设库文件之外,我们需要新建存放自己代码的文件和文件夹。我这里主要需要新建4个文件夹:
App: 应用程序代码
Bsp: 底层驱动代码
Doc: 说明文档
Project:工程文件
在自己新建的文件夹下面还需要新建自己的文件,文件里面添加必要的源代码文件。我提供的Demo工程,实现的功能比较简单,就是一个LED闪烁。本文重点讲述建立工程的过程,这里不描述源代码,具体可以自己下载查看。
上面几个步骤完成之后,我们就可以看到在工程文件夹“STM8S_Demo”下面整理的文件夹(如下图):

至此,准备工作算完成了,上面提取的文件、新建的文件里面具体的内容请下载Demo工程查看(文末下载)。
3下载
新建一个简单、基础的软件工程大概需要有三个步骤:创建工程、添加文件和配置工程。
上面的准备工作做好之后,就可以在Project文件夹下新建自己的软件工程了,下面将一步一步讲述从零开始新建一个软件工程的详细过程。
3.1 创建工程
创建工程:就是新建工作空间及工程,步骤比较简单。
A.打开软件,新建工作空间(File -> New Workspace)
B.新建工程(Project ->Create New Project)
C.创建一个空工程
D.选择保存路径、名称
E.空基础工程
F.保存工作空间(File -> Save Workspace)
至此,一个空的基础工程就创建好了,需要进一步添加文件到工程和配置工程。
3.2 添加文件
准确的来说,是在上面创建的空工程中添加组(文件夹)和添加源代码文件。简单的说,就是将你自己的源代码文件(前面提取的库、新建的文件等)添加到工程中。
这里的工程项目管理可根据自己的想法来定义(类似于自己分类、命名文件夹和文件),我这里按照常规的方式进行管理项目。
为了方便大家理解,我们单级目录方式分组,先在工程中添加组,再在组中添加源代码文件。
A.工程中添加组

B.填写组的名称

C.组中添加文件

D.按住Ctrl,鼠标选中要添加的文件
E.重复上面4个步骤,直到添加完成
3.3 配置工程
配置工程对于初学者来说,大部分内容只需要默认即可,这里只讲述几个常见的配置,能满足基本的功能。更多配置将在该教程后面的文章中讲述。
A.进入配置选项
B.选择器件
C.库配置Library Configration
如果需要使用某些标准的库函数接口(如我们使用的printf 、scanf),就需要选择Full(见下图)。
D.预处理Preprocessor(添加路径)
添加的路径最好是相对路径,而不是绝对路径。使用绝对路径工程位置改变之后就找不到文件,就会出错。
1.可以点击按钮选择路径;
2.或者通过复制文件路径进行配置。

·
·
·

·
·
·
直到完成

E.预处理Preprocessor(预定义)
这里的预定义类似于在源代码中的#define xxx 这种宏定义。这里的STM8S103可以在stm8s.h中打开即可。
F.输出Hex文件
很多初学的朋友都会问怎么输出 Hex( 可直接下载的程序文件),只需要按照下面配置即可输出Hex文件。
G.选择下载调试工具
根据自己情况选择的下载调试工具。

至此,一个基本工程的配置算完成了。如果源代码正确,就可以编译、下载、调试了。
4下载
1.STM8标准外设库百度网盘下载地址:
http://pan.baidu.com/s/1qYbBKMK
2.本文完整代码工程(可运行)下载地址:
链接:
https://pan.baidu.com/s/1MyAOZcOn04AnRq8zNZrL6w
密码:3lkl
史海拾趣
|
目录 第一篇 PWM开关变换器的基本原理………………………………………………1 第一章 开关变换器概论………………………………………………………………1 第一节 什么是开关变换器和开关电源………………………………………………1 第二节 DC-D ...… 查看全部问答> |
|
有没有谁做嵌入式开发的,大虾给俺指导一下?谁有WIN CE的模拟器? 我现在准备开发WIN CE5.0应用程序,现在按照网上指导的方法VS2005不能与目标机相联(目标机是WIN CE5.0系统),从开发机上拷的那5个文件不能在目标机器上运行,执行后报如下错误提示: \'ConmanClient2\'is not a valid Windows CE application ...… 查看全部问答> |
|
PB5.0升级2008全年升级包后 定制内核 生成的NK.nb0无法运行 第一步:把PB5.0升级2008全年升级包,在优龙2410开发板资料提供的ARMSYS2410.pbxml基础上把.net compact framework 2.0 add to OS,编译通过,生成的NK.nb0(大小为29M),在DNW下可以通过USB下载到开发板,下载地址为0X30200000,下载后选择Y运行, ...… 查看全部问答> |
|
现有一个软件需求如题所述,现在的做法是在TOUCH PANEL驱动层加上一些代码,也就是说把传给GWES的值复制一份保留下来.这样的做法缺陷很大,如果一旦在动作序列里有一个动作没有被有效的执行,那本次模拟的所有操作就会被认为无效.大家有没有其它的办法 ...… 查看全部问答> |
|
用vc生成一个dll文件(Phone.dll),并把它拷贝到pda的根目录下(该目录下有一个用EVC生成的导入dll的EXE文件),希望在pda中导入dll,相关代码如下: HINSTANCE ghPhoneDLL=NULL; ...… 查看全部问答> |
|
之前用 iar习惯了。。发现stm32的iar设置很麻烦。。看了一会还是不大懂。想买款使用IAR库函数的stm32开发板。求推荐。谢谢… 查看全部问答> |
|
欢迎来到电源设计小贴士!随着现在对更高效、更低成本电源解决方案需求的强调,我们创建了该专栏,就各种电源管理课题提出一些对您有帮助的小技巧。该专栏面向各级设计工程师。无论您是从事电源业务多年还是刚刚步入电源领域,您都可以在这里找到 ...… 查看全部问答> |




