历史上的今天
返回首页

历史上的今天

今天是: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


推荐阅读

史海拾趣

常州星海电子(Starsea)公司的发展小趣事

随着市场需求的不断变化和消费者需求的多样化,常州星海电子不断调整和优化产品结构。公司现已形成了包括普通整流、开关、快速恢复、高效率、超快速、肖特基、双向触发管、整流桥、高反压以及瞬间突波电压吸收、稳压等多种系列、多种封装形式的二极管产品。这些产品广泛应用于电脑、家电、邮电通讯等行业,为公司赢得了广阔的市场空间。

ELM Technology Corporation公司的发展小趣事

随着环保意识的不断提高,ELM Technology Corporation积极响应国家号召,将环保理念融入企业发展中。公司投入大量资金研发环保型电子产品,努力降低产品对环境的影响。同时,ELM还积极参与各类环保活动,推动电子行业的绿色发展。这种对环保的执着追求让ELM在行业中树立了良好的形象。

Digital View公司的发展小趣事

面对日益激烈的市场竞争和技术变革的挑战,Digital View公司始终保持敏锐的市场洞察力和创新精神。公司密切关注市场动态和技术趋势,及时调整产品策略和市场布局。同时,公司还加大了对研发创新的投入力度,不断推出具有自主知识产权的新产品和新技术。通过不断创新和优化产品与服务,Digital View成功应对了市场挑战并保持了领先地位。

以上五个故事线索只是Digital View公司发展历程中的一部分缩影。每个故事都可以进一步挖掘和扩展,以呈现公司在电子行业里发展起来的完整画卷。

Crocus Technology公司的发展小趣事

在成立初期,Crocus Technology专注于IP存储模块的研发与销售。这一时期,公司通过不断的技术创新和市场调研,成功开发出了一系列具有竞争力的产品。这些产品不仅满足了市场对高性能存储解决方案的需求,还为公司积累了宝贵的市场经验和客户资源。

EMMICRO公司的发展小趣事

EMMICRO公司非常注重国际化战略的实施。公司积极参加国际展览和交流活动,与全球范围内的合作伙伴建立了良好的合作关系。同时,公司还通过引进国际先进的生产技术和管理经验,不断提升自身的核心竞争力和国际化水平。在海外市场拓展方面,EMMICRO公司也取得了显著的成果,为公司的长期发展奠定了坚实的基础。

Easy Magnet Corp公司的发展小趣事

Easy Magnet Corp公司最初由几位热衷于磁性材料研究的科学家和工程师创立。他们发现了一种新型磁性材料,具有极高的磁导率和稳定性。基于这一发现,他们开始研发适用于电子产品的磁性元件。最初的产品虽然简单,但因其高性能和可靠性,很快在市场中获得了认可。随着订单的增加,公司逐渐扩大了生产规模,并开始了技术研发的深入探索。

问答坊 | AI 解惑

开关电源原理与设计-张占松(pdf完整版)共556页

目录 第一篇 PWM开关变换器的基本原理………………………………………………1 第一章 开关变换器概论………………………………………………………………1 第一节 什么是开关变换器和开关电源………………………………………………1 第二节 DC-D ...…

查看全部问答>

wince6用什么开发驱动?

除了写makefile,然后build之外还有吗? 以前5.0可以用evc,pb等工会开发。 vs2005好像没有支持建立驱动的项目选项啊。…

查看全部问答>

有没有谁做嵌入式开发的,大虾给俺指导一下?谁有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运行, ...…

查看全部问答>

关于在WINCE下模拟MOUSE的动作

现有一个软件需求如题所述,现在的做法是在TOUCH PANEL驱动层加上一些代码,也就是说把传给GWES的值复制一份保留下来.这样的做法缺陷很大,如果一旦在动作序列里有一个动作没有被有效的执行,那本次模拟的所有操作就会被认为无效.大家有没有其它的办法 ...…

查看全部问答>

有关pda下导入dll 文件的问题

用vc生成一个dll文件(Phone.dll),并把它拷贝到pda的根目录下(该目录下有一个用EVC生成的导入dll的EXE文件),希望在pda中导入dll,相关代码如下:           HINSTANCE ghPhoneDLL=NULL;      ...…

查看全部问答>

请推荐一款使用IAR 库函数的stm32开发版。谢谢

之前用 iar习惯了。。发现stm32的iar设置很麻烦。。看了一会还是不大懂。想买款使用IAR库函数的stm32开发板。求推荐。谢谢…

查看全部问答>

TI 电源设计小贴士 30

欢迎来到电源设计小贴士!随着现在对更高效、更低成本电源解决方案需求的强调,我们创建了该专栏,就各种电源管理课题提出一些对您有帮助的小技巧。该专栏面向各级设计工程师。无论您是从事电源业务多年还是刚刚步入电源领域,您都可以在这里找到 ...…

查看全部问答>

两种硬件描述语言VHDL_Verilog的发展及其应用_罗杰

新人贴,希望咱们的论坛越来越火吧,现在感觉缺点人气 呵呵…

查看全部问答>