IAR for STM8学习笔记(一)建立工程

发布者:温暖微笑最新更新时间:2021-02-06 来源: eefocus关键字:IAR  STM8  建立工程 手机看文章 扫描二维码
随时随地手机看文章

前言

入门学习推荐思修电子龙顺宇的视频,讲得非常详细,相关视频网站如B站或者优酷上都有。已经有一定单片机基础的朋友建议自己找相关的资料研究。

STM8常用两种IDE,一个是意法公司自己提供的STVD软件,一个则是目前使用最广的IAR软件。两种IDE很相似,但也各有特点,个人学习掌握一种就好了。我这里主要学习IAR软件。

一、IAR for STM8软件工具的安装

这个网上有很多视频或者攻略,作为个人学习笔记,就不再多说了。

二、IAR建立一个工程

最简单的方式是,启动IAR软件,点击“Project”下拉菜单中“Cheat New Project...”,然后弹出一个窗口,用鼠标选择“C”(即C语言的工程,ASM为汇编),点击“OK”,然后弹出保存窗口,输入你要建立的工程名,如“LED”,点击保存,就建立一个简单的C语言版本的工程。

但很显然这样的工程在实际使用中是存在不少问题,特别是稍微大一点的程序,文件夹下的文件将会很乱。所以我个人还是喜欢按下面的方式建立一个IAR for STM8工程。(建立STM8工程的方式很多,每个人都有自己的习惯,以下仅为我个人习惯,仅供参考)

(1)先去ST官方下载STM8的标准固件库STSW-STM8069。

官网链接:

https://www.st.com/content/st_com/zh/products/embedded-software/mcu-mpu-embedded-software/stm8-embedded-software/stsw-stm8069.html

或者直接在官网搜索框输入该文件名字进行搜索。

标准库解压后:

(2)在桌面建立一个文件夹存放工程文件(这个看个人喜好,你也可以在其他路径下创建文件夹。我个人喜好在桌面创建工程文件,做完了再拖到其他盘的专门放工程的文件夹下面。不过建议文件夹存放路径里不要有中文字符,避免出一些意外情况。)

文件夹名称可命名为你项目的名称,如STM8_LED、STM8_demo之类,然后再在文件夹下建立几个分类文件夹,我个人习惯建立以下文件夹:

App ——用于存放用户程序,简单的应用这个文件夹一般空在哪里;

Readme ——用于存放说明文档,文件夹下可建立doc文件或txt文件,如readme.txt, 记录开发进度或技术说明;

Lib ——用于存放STM8标准固件库文件:从前面下载的STM8标准固件库里找到 以下路径:..STM8S_StdPeriph_LibLibrariesSTM8S_StdPeriph_Driver,然 后将文件夹下inc和src两个文件拷贝到我们建立好的文件夹Lib下

Driver ——用于存放自己编写的驱动文件;

User ——用于存放工程文件;从STM8标准固件库以下路径:

..STM8S_StdPeriph_LibProjectSTM8S_StdPeriph_Template,拷贝main.c、 stm8s_conf.h、stm8s_it.c、stm8s_it.h四个文件到我们建好的User文件夹。

注:做完第2步后,建议复制保存一个文件夹备份,作为以后创建工程用。

(3)打开IAR,新建一个工作空间(即workspace,这步有时候可以跳过,因为启动IAR时已经有一个workspace),然后按前面的步骤建立工程,即点击“Project”下拉菜单中“Cheat New Project...”,然后弹出一个窗口,用鼠标选择“Empty project”,点击“OK”,然后弹出保存窗口,输入你要建立的工程名,如“LED”,选择保存文件夹,将工程保存在我们第二步创建的文件夹的User文件夹下,如..STM8_LEDUser,然后点击保存。

然后会出现以下一个空的工程:

用鼠标选中该工程,点击右键出现右键菜单,依次点击“Add”、“Add Group...”创建分组如下:

注:如果项目计划里有用户应用程序,则还需添加“App”分组;如果有用到自己编写的驱动文件,则需要添加“Driver”分组;

接下来在“User”分组,用右键菜单里的“Add”“Add Files...”命令添加main.C文件;在“Readme”分组,采用同样的方式添加readme.txt文件;

这里注意一点,我们这里添加的main.C文件是ST公司提供的标准模板,里面含有<#include "stm8s.h">语句,所以我们在“Lib”分组下面需要添加stm8s.h文件(该文件路径为..STM8_LEDLibinc),否则编译将会有错误。

(4)做完以上步骤,工程还没有完全建好,接下来还需要对工程属性进行设置:右键点击工程“STM8_LED”,在弹出来的菜单里点击“Options...”,在弹出的窗口的“General Options”标签页的“Target”标签里的“Device”栏选择芯片型号,我用的是stm8s103F3,你们根据实际芯片选择即可。

然后点击“C/C++ Compiler”标签的“Preprocessor”标签,在“Additional include directories:(one per line)”框,添加头文件路径如下:

接下来打开“stm8s.h”文件,做一个小的修改,即把你使用芯片的对应的代码从注释状态解放出来,举例如下:

到这一步再编译程序,就能成功通过了。

(5)工程的进一步设置,首先是“C/C++ Compiler”标签的“Optimizations”标签页,“Level”框中勾选“Medium”,这是选择了中等的代码优化选项。

然后是“Output Converter”标签页,设置串口下载,设置如下:

最后是“Debug”标签的“Setup”标签页,在“Driver”栏选择“ST-LINK”。注:这项设置非常重要,我们最常用的就是ST-LINK下载和调试功能。

到此,STM8的IAR工程建立完毕。


关键字:IAR  STM8  建立工程 引用地址:IAR for STM8学习笔记(一)建立工程

上一篇:STM8学习笔记二:51、arduino、stm8不同单片机的点灯方式
下一篇:STM8库函数开发手册(1) //工程模板、GPIO、时钟

推荐阅读最新更新时间:2024-11-13 16:36

意法半导体STM8微控制器出货量突破20亿大关
横跨多重电子应用领域、全球领先的半导体供应商意法半导体(STMicroelectronics,简称ST;纽约证券交易所代码:STM)宣布,其稳健且多用途的STM8微控制器在出货量达10亿颗之后不到两年,进一步突破20亿颗大关,其中大陆市场表现特别突出。 世界半导体贸易统计协会(World Semiconductor Trade Statistics;WSTS)的最新报告显示,在STM8微控制器快速成长的出货量推动下,意法半导体通用微控制器的市占率从2013年的8.2%成长至2015年的12.7%。意法半导体微控制器行销总监Daniel Colonna表示: STM8已成为市场上最受欢迎的微控制器产品,是我们市场策略的坚固根
[单片机]
IAR的stm32f10x_vector.c文件的定义
/******************** (C) COPYRIGHT 2008 STMicroelectronics ******************** * File Name : stm32f10x_vector.c * Author : MCD Application Team * Version : V2.0.3 * Date : 09/22/2008 * Description : STM32F10x vector table for EWARM5.x toolchain. * This module performs: * - Set the initial SP * - Set the i
[单片机]
STM8 关闭PWM输出后的电平输出问题解决
STM系列的单片机PWM输出如果被关断比如用TIM1_CtrlPWMOutputs进行停止输出后,电平的高低处于不确定的状态。 他取决于: 1.GPIO初始化的特性 2.关断那一刻时的电平 3.CCMR1的寄存器设置 因此要实现PWM关断后的输出确定比如输出高电平必须: 1. GPIO的设置为推挽输出或开漏外接上拉 2.执行TIM1_ForcedOCxConfig(TIM1_FORCEDACTION_ACTIVE) TIM1_CtrlPWMOutputs((FunctionalState)0); TIM1_ForcedOC1Config(TIM1_FORCEDACTION_ACTIVE);
[单片机]
STM8看门狗(1)
STM8L最大看门狗定时时长: Prescaler divider:256 R:255 T=256*(255+1)/38 000=1.724631578947368s STM8L最小看门狗定时时长: Prescaler divider:4 R:0 T=4*(0+1)/38 000=0.1052631578947368ms
[单片机]
<font color='red'>STM8</font>看门狗(1)
IAR FOR STM8 同一个工程芯片选择003F3可以编译003K3提示空间不足
同一个工程文件,选择103F3可以编译通过,但是选择103K3便提示空间不足 百思不得其解,查阅大量资料无果。最后在IAR工程里面找到了配置文件 打开003f3的配置文件和003K3配置文件进行对比,其余都一样,唯独程序空间003K3是从地址0X9000开始,少了1K,不知道为何要这样设置,明明两个芯片空间大小和结构一模一样。 将003K3的配置文件地址改成0x8000开始,重新编译,一切正常。 编译通过,程序空间总共占用5419b。 问题:这样操作后将程序下载到电路板上不知道会不会出错,有待验证。个人猜测应该没问题,是IAR的错误。
[单片机]
<font color='red'>IAR</font> FOR <font color='red'>STM8</font> 同一个<font color='red'>工程</font>芯片选择003F3可以编译003K3提示空间不足
STM8的烧写
最近一次烧写STM8遇到以下问题 1.Error : Cannot communicate with the tool. Wrong tool selection or check tool power supply or check that a previous session is closed. Error : PROGRAM MEMORY programming failed. 和stlink的链接出问题, 有两种情况: a.仿真器未连接 b.驱动没装好 2.Error : Cannot communicate with the device ! Check the SWIM cable con
[单片机]
atmega128 bootloader程序在IAR-AVR下 linker文件的配置及原因
第一步:atmega128的片内flash分区描述 在atmega128 datasheet的275页中有分区描述 对应的在284页中,有具体的应用区与boot区的大小设置 注意:Byte address = word address * 2 这里的BOOT区首地址,$F000 = 0x1E000 根据手册中的描述,我们使用JTAG MKII 烧写器通过软件 Avr Studio 4,配置熔丝位 BOOTSZ为00 注意:这里面的4096 words = 8K bytes 第二步:说明一下linker(.xcl)文件的作用 好了,怎么让我们的程序烧写到flash中是在指定的0x1E000处呢?这就需要在
[单片机]
atmega128 bootloader程序在<font color='red'>IAR</font>-AVR下 linker文件的配置及原因
STM32之一 建立工程及led闪烁
摸索了好久,今天终于实现了自己的工程模板,首先看下我的工程结构: 我的工程文件夹建立了五个文件夹,CMSIS、Libraries、Project、Startup、USER。里面分别存放了各自的初始文件, 关于MDK中的工程树情况如上图,分别在各自的文件夹下存放各自的文件,我们采用的是模块化编程,例如编写led程序就建立led.h和led.c文件,添加至工程,另外建立了延时函数文件,即delay.c和delay.h文件,而且这文件以后都可以用在其他工程中,led灯闪烁即led.c中, 首先要建立GPIO对象,然后首先要进行时钟使能,然后对GPIO进行初始化,下面来看led.h文件: 关键是中间的两个宏定义,定义ledon代表了
[单片机]
STM32之一 <font color='red'>建立</font><font color='red'>工程</font>及led闪烁
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved