IAR最新全套教程:
1.EWSTM8系列教程01_IAR介绍、下载、安装和注册
2.EWSTM8系列教程02_新建基础软件工程
3.EWSTM8系列教程03_主窗口、工具栏的概述
4.EWSTM8系列教程04_菜单概述(一)
5.EWSTM8系列教程05_菜单概述(二)
6.EWSTM8系列教程06_工程节点选项配置(一)
7.EWSTM8系列教程07_工程节点选项配置(二)
8.EWSTM8系列教程08_IDE选项配置(一)
9.EWSTM8系列教程09_IDE选项配置(二)
10.EWSTM8系列教程10_一个工程添加多个节点
11.EWSTM8系列教程11_一个工作空间添加多个工程
12.EWSTM8系列教程12_IAR文件类型描述
······
  
  该系列教程已经在我的个人微信公众号「strongerHuang」整理并分享。因在这里分享文章,还需单独整理一遍,时间有限,就不再一一重复整理出来了。

  所以,想要查看更多相关教程,关注我的个人微信公众号「strongerHuang」,在公众号底部菜单,或者回复【EWSTM8系列教程】即可查看。

  申明:该文档由作者「strongerHuang」原创发布,仅供个人学习使用,转载请公众号联系作者授权。版权所有,禁止商用

一、写在前面

  我们常说的IAR for STM8,其实指的就是EWSTM8,它的全称是IAR Embedded Workbench for STM8。

  本文针对初学者,利用EWSTM8集成开发环境,基于STM8S标准外设库新建基础软件工程。(后面会讲述如何新建多工程、多目标)

  本文分如下内容来讲述:
  1.准备工作
   下载安装EWSTM8
   下载STM8标准外设库
   整理工程文件夹

  2.新建软件工程
   创建工程
   添加文件
   配置工程

  本文章收录于「strongerHuang」博客专栏【EWSTM8系列教程】,在我的博客右侧也能查找到。

  为了方便大家平时公交、地铁、外出办事也能用手机随时随地查看该教程,该系列教程已更新于我的个人微信公众号「strongerHuang」,关注微信公众号回复【EWSTM8系列教程】即可查看。

二、准备工作

  俗话说“磨刀不误砍柴工”,做好了准备工作,后面新建基础软件工程的工作就很容易实现了。

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_Demo \ App下面。

C.新建文件夹和文件

除了标准外设库文件之外,我们需要新建存放自己代码的文件和文件夹。我这里主要需要新建4个文件夹:
App: 应用程序代码
Bsp: 底层驱动代码
Doc: 说明文档
Project:工程文件

  在自己新建的文件夹下面还需要新建自己的文件,文件里面添加必要的源代码文件。我提供的Demo工程,实现的功能比较简单,就是一个LED闪烁。本文重点讲述建立工程的过程,这里不描述源代码,具体可以自己下载查看。

  上面几个步骤完成之后,我们就可以看到在工程文件夹“STM8S_Demo”下面整理的文件夹(如下图):

  至此,准备工作算完成了,上面提取的文件、新建的文件里面具体的内容请下载Demo工程查看(文末下载)。

三、新建软件工程

  新建一个简单、基础的软件工程大概需要有三个步骤:创建工程、添加文件和配置工程。

  上面的准备工作做好之后,就可以在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.选择下载调试工具

根据自己情况选择的下载调试工具。

至此,一个基本工程的配置算完成了。如果源代码正确,就可以编译、下载、调试了。

四、下载

1.STM8标准外设库百度网盘下载地址:
http://pan.baidu.com/s/1qYbBKMK

2.本文完整代码工程(可运行)下载地址:
链接:https://pan.baidu.com/s/1MyAOZcOn04AnRq8zNZrL6w
密码:3lkl

提示:如果下载链接失效, 可以关注微信公众号, 获取更新链接。

五、说明

1.上面新建基础软件工程主要是针对初学者,写的比较基础的。
2.版权所有,禁止商用
3.该文档由作者「strongerHuang」原创发布,仅供个人学习使用,转载请公众号联系作者授权。
4.若觉得本文对你有帮助,打赏是对博主最好的感谢方式(微信支付,金额随意,心意到就行)!

六、最后

  为了方便大家平时公交、地铁、外出办事也能用手机随时随地查看该教程,该系列教程已更新于我的个人微信公众号「strongerHuang」,关注微信公众号回复【EWSTM8系列教程】即可查看。

  我除了整理该文章相关的内容之外,还在我的个人微信公众号「strongerHuang」分享更多嵌入式相关的精彩内容, 如果不想错过,可以关注我的个人微信公众号。

EWSTM8系列教程02_新建基础软件工程相关推荐

  1. EWSTM8系列教程06_工程节点选项配置(一)

    IAR最新全套教程: 1.EWSTM8系列教程01_IAR介绍.下载.安装和注册 2.EWSTM8系列教程02_新建基础软件工程 3.EWSTM8系列教程03_主窗口.工具栏的概述 4.EWSTM8系 ...

  2. EWSTM8系列教程03_主窗口、工具栏的概述

    IAR最新全套教程: 1.EWSTM8系列教程01_IAR介绍.下载.安装和注册 2.EWSTM8系列教程02_新建基础软件工程 3.EWSTM8系列教程03_主窗口.工具栏的概述 4.EWSTM8系 ...

  3. EWSTM8系列教程01_IAR介绍、下载、安装和注册

    推荐 分享一个大神的人工智能教程.零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到人工智能的队伍中来!https://www.cnblogs.com/captainbed 正文: IAR最新全套 ...

  4. EWSTM8系列教程04_菜单概述(一)

    IAR最新全套教程: 1.EWSTM8系列教程01_IAR介绍.下载.安装和注册 2.EWSTM8系列教程02_新建基础软件工程 3.EWSTM8系列教程03_主窗口.工具栏的概述 4.EWSTM8系 ...

  5. CANOpen系列教程02_理解CAN总线协议

    推荐 分享一个大神的人工智能教程.零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到人工智能的队伍中来!https://www.cnblogs.com/captainbed 正文: CANOpen ...

  6. 史上最详细的Android Studio系列教程四--Gradle基础

    史上最详细的Android Studio系列教程四--Gradle基础 转载于:https://www.cnblogs.com/zhujiabin/p/5125917.html

  7. 【TypeScript系列教程06】基础类型

    目录 TypeScript 基础类型 任意类型 (any) 变量的值会动态改变时 改写现有代码时 定义存储各种类型数据的数组时 数字类型 (number)

  8. 【TypeScript系列教程03】基础语法

    目录 TypeScript 基础语法 空白和换行 TypeScript 区分大小写 分号是可选的 TypeScript 注释 TypeScript 支持两种类型的注释

  9. Python【系列教程】之基础学习笔记

    一.python安装及第一个python程序 (1)官网下载最新版的python 64位安装包并进行安装 (2)配置环境变量 在安装的时候,直接勾选Add  Python 3.7 to Path,单击 ...

最新文章

  1. dockerfile kafka
  2. 安装sql2008 enterprise (English正式版)图解
  3. JZOJ 4366. 【GDKOI2016】项链
  4. 模拟组合键 postmessage ctrl+v_《模拟江湖》:TapTap热门榜单第一,测试版评分8.0的汉家松鼠工作室新作...
  5. Mybatis_day2_Mybatis的CRUD操作
  6. 【重识 HTML + CSS】背景相关知识点
  7. Oracle 学习笔记 14 -- 集合操作和高级子查询
  8. QuickBI和DataV
  9. rabbitmq注意事项
  10. 虚拟IP技术 ip地址漂移技术
  11. php做抖音在微信中播放,微信小程序实现抖音播放效果的实例代码
  12. Jersey框架:深入研究的终极大招-Jersey用户手册
  13. 倒计时小插件,懒人专用
  14. 使用Bugzilla,你肯定会遇到的坑。
  15. 计算机usb速度设置,USB3.0移动硬盘写入速度只有20M/S解决提速方法
  16. 第32期:索引设计(索引设计详细规范)
  17. 【粒子动画tsParticles】
  18. 卧槽!我的世界也有开源版本了!!!
  19. 怎样降低硕士论文重复率
  20. Mathtype和word关联

热门文章

  1. 电子设计教程20:晶体管负反馈放大电路的参数设计
  2. java调用天气API和JSON解析的那些事儿
  3. IQE 交付首批 8 英寸 VCSEL 晶圆
  4. adxl345取出值怎么算角度_adxl345怎样通过想,x,y,z的输出计算出角度值
  5. 中台战略-第三章、全面解读中台
  6. c/c++ 中有关freeopen介绍
  7. 化妆品批发生产拓客的10个经典方法
  8. NFS实践 | 一个NAS盘使用的问题分享
  9. UDP协议重点总结(附实例)
  10. 铁路“12306”的架构