STM8L10x环境搭建

发布者:DelightfulSmile最新更新时间:2020-02-27 来源: eefocus关键字:STM8L10x  环境搭建 手机看文章 扫描二维码
随时随地手机看文章

准备

STM8的编译环境有两种,一个是IAR,一个是ST官方提供的STVD+COSMIC.

由于IAR需要破解,我选择了使用官方提供的环境STVD。


STVD:IDE,可以从ST官网下载

COSMIC: 编译器,可以从它的官网下载。http://www.cosmic-software.com/download.php

stm8_stdperiph_lib:标准库,这个也可以从ST官网下载,不同型号的芯片对应不同的库。有时候官网登不上不知道什么原因。


之前在stm32上用惯了标准库,所以,这次使用stm8也使用标准库编程,这样不需要太关注底层的寄存器。但是,标准库并不太标准,有些坑,需要注意,后面会说到。


建立目录

cos: 放置编译出来的相关文件

lib: 放置标准库。把标准库中的inc和src拷贝过来

src: 放置自己的业务程序文件,包括main.c。

另外,需要把标准库中的stm8l10x_conf.h、stm8l10x_it.c、stm8l10x_it.h拷贝到src目录下


配置

STVD安装完成后,打开。跟其他keil等IDE没有太多区别,都是大同小异的。


创建WorkSpace,Project

选择编译器,就是刚才安装好的COSMIC。

选择IC型号

添加文件

编译

编译,然后保存关闭。这样会在cos目录下自动生成main.c和stm8_interrupt_vector.c。删除该main.c文件,因为在src下我们已经创建了。再次打开工程,会报个警告,找不到main.c,忽略。

直接编译应该是会报错的,重复定义NonHandledInterrupt。

注释掉stm8_interrupt_vector.c中的该函数


#if 0

@far @interrupt void NonHandledInterrupt (void)

{

/* in order to detect unexpected events during development, 

   it is recommended to set a breakpoint on the following instruction

*/

return;

}

#endif


另外,包含头文件stm8l10x_it.h


#include "stm8l10x_it.h"


这样下来,基本的环境就搭建完成了。环境搭建可以参考:

https://wenku.baidu.com/view/87aade66b84ae45c3b358cc3.html

https://blog.csdn.net/sy_lixiang/article/details/8461829


内存

由于是八位单片机,很多东西跟32位的不太一样,需要注意的。

第一个需要注意的是内存。看完这两篇文章就清楚了:

https://blog.csdn.net/sygdp21/article/details/17420393

https://blog.csdn.net/dongganxiao_maidou/article/details/73775533


GPIO

stm8l101的标准库中gpio的操作中有bug


void GPIO_WriteBit(GPIO_TypeDef* GPIOx, GPIO_Pin_TypeDef GPIO_Pin, BitAction GPIO_BitVal)

{

  /* Check the parameters */

  assert_param(IS_GPIO_PIN(GPIO_Pin));

  assert_param(IS_STATE_VALUE(GPIO_BitVal));

 

  if (GPIO_BitVal != RESET)

  {

    //SetBit(GPIOx->ODR, GPIO_Pin);//BUG语句,GPIO_Pin是按位来定义的,却被SetBit以字节来操作。

    GPIOx->ODR |= GPIO_Pin;    

  }

  else

  {

    //ClrBit(GPIOx->ODR, GPIO_Pin);//BUG语句,GPIO_Pin是按位来定义的,却被SetBit以字节来操作。

    GPIOx->ODR &= (uint8_t)(~GPIO_Pin);    

  }

}


具体可以参考

https://blog.csdn.net/feilusia/article/details/53209672

最后,感谢这些博主的无私奉献。希望自己也可以在这儿尽一份微薄之力。

关键字:STM8L10x  环境搭建 引用地址:STM8L10x环境搭建

上一篇:iar输出s19用于stvp下载的设置方法
下一篇:STM8L固件烧录和加密流程

推荐阅读最新更新时间:2024-11-12 22:03

AVR单片机开发环境搭建
一、开发环境搭建 CodeVisionAVR C Compiler用于程序的编辑以及编译.AVR Studio 4与USB AVR JTAGICE mkll-CN 用于在线调试和程序烧写。 二、AVR Studio 4中熔丝位的设置(在Fuses标签中,相应位打钩表示program即写0;不选中表示未编程即1) M161C: 工作于162模式还是161模式; BODLEVEL:掉电检测设置; OCDEN:片上调试使能; JTAGEN:JTAGE口下载使能; SPIEN:SPI使能位; WDTON:看门狗使能级别设置; EESAVE: EEPROM中内容是否要保留; BOOTSZ:用于设置程序块和启动块
[单片机]
AVR单片机开发<font color='red'>环境</font><font color='red'>搭建</font>
s3c2410上搭建QT/Embedded4.8.5开发环境(六)--QtCreate的配置
前面我们已经搭建了QT的开发环境,并进行了在arm上的移植,前面的环境已经可以很好的使用了。 但是编译时候很麻烦,需要一直 ①qmake生成makefile ②make ③运行 实在麻烦的很,对于我们这些习惯了IDE的人,简直要抓狂,还好Qt自家的IDE 很好很强大 QtCreate下载地址http://download.qt-project.org/official_releases/qtcreator/ 这个是Digia公司的地址,里面提供了2.5~3.1依赖所有版本的QtCreate,不同版本的库依赖与不同的Qt库和glibc QtCreate环境配置 我们配置QtCreate需要配置三个地方
[单片机]
s3c2410上<font color='red'>搭建</font>QT/Embedded4.8.5开发<font color='red'>环境</font>(六)--QtCreate的配置
keil MDK5搭建STM32开发环境
1. 安装keil 到keil的官方网站 http://www.keil.com/download/product/ 下载MDK-ARM并安装,注意可以更改安装路径,但是不能安在需要管理员权限的文件夹,例如不能在Program Files,否则会出现一些问题。 2. 注册 未注测有代码容量限制,需要破解。网上找 KEIL_Lic 。 3. 安装器件包 打开Pack Installer 左边选择STMicroelectronics,右边选择需要的芯片系列,我的是STM32F4。 install:需要安装 update:需要升级 up to date:已安装到最新版 安装的时间比较长,需要等等。 4. 建立新工程
[单片机]
stm32mp1 Cortex M4开发篇1:stm32CubeIDE开发环境搭建
写在前面: 本文章为《ARM Cortex-M4裸机开发篇》系列中的一篇,,全系列总计14篇。笔者使用的开发平台为华清远见FS-MP1A开发板(STM32MP157开发板),Cortex-M4裸机开发篇除了讲M4裸机开发外,还会讲解通过M4控制资源扩展板上的各种传感器执行器模块(包括空气温湿度传感器、LED灯、数码管、蜂鸣器、震动马达、按键中断、风扇等),本篇是M4控制资源扩展板中的一篇。 资源扩展板是FS-MP1A开发板的扩展模块,主要包含了10余种助主流传感器、执行器件、总线控制器件,非常方便项目扩展用。可拓展开发智慧家庭、智能医疗、智能安防、工业控制、图像识别、环境检测等方向的10个左右综合项目,华清远见开发板也将配套提
[单片机]
stm32mp1 Cortex M4开发篇1:stm32CubeIDE开发<font color='red'>环境</font><font color='red'>搭建</font>
4412开发板Android4.4.4环境搭建和编译
刚刚到手的板子,按手册步骤成功烧写了系统,o( ̄▽ ̄)d,分享一下。 Android4.4.4 的编译环境,是在迅为的网盘或者 github中下载 Android4.4 的源码压缩包。解压后可以得到Android4.4.4 和 Kernel 的源码。 第一步,uboot的编译 uboot 源码在用户光盘“Android 源码”文件夹中的压缩包 “iTop4412_uboot_xxx_xxx.tar.gz”中,如下图所示。 如上图所示,编译 uboot 还需要将一个工具文件夹“CodeSign4SecureBoot”,这个工 具文件夹在4412光盘“Android 源码”文件夹中。这个工具文件夹需要和 uboot
[单片机]
4412开发板Android4.4.4<font color='red'>环境</font>的<font color='red'>搭建</font>和编译
小广播
设计资源 培训 开发板 精华推荐

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

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

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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