STM8L开发环境配置

stm8l101f3p6配环境记录

最近因为需要使用一个低成本、低功耗小体积的mcu制作一套简单的spi-iic-uart转换板,综合比较了stc8(51架构)、stm8(st自研8位CISC架构)、atmel8(51架构)等单片机,最后选择了stm8l10x系列,因为

  • 成本可以接受(好贵啊,但是至少比msp那种诡异的东西便宜)
  • 体积最小(封装ssop20)
  • 外部电路最少(唯二不需要外部晶振的单片机)
  • 功耗相对低(虽然比不上TI的,但是它更便宜)
  • 外设最丰富(有硬件spi、iic、uart,完全满足需求)

不过似乎这款MCU网上的资源较少,所以简单说一下配环境流程,供有需要的人参考

避坑

需要注意:EIDE(VSCode里面的Embedded IDE插件,可以用SDCC开发各种8位MCU)是不能对stm8l生效的(除非不用官方库函数,但是stm8不就是因为库函数快速开发才有人用的吗=_=,没库函数谁用这个又贵又没生态的东西),因为它的库函数里面自带一段编译器认证,SDCC不能对他进行编译——不过如果你的电脑上有IAR那就能用IAR编译,不过我不喜欢IAR这东西,所以就放弃了

所以一定要按照官网流程来本教程也是仅供参考,软件这东西时效性很强的

配环境

首先要安装三套基础工具和驱动

STVD:一个用于STM8开发的IDE

官网

https://www.st.com/zh/development-tools/stm8-software-development-tools.html#overview

在这里插入图片描述

进来以后选择产品选择器

在这里插入图片描述

里面的RIDE-STM8是官方的stm8 IDE,需要license才能使用

这里选用的是采用第三方编译器的STVD-STM8

他还有一个烧录器STVP-STM8

整套开发流程就是使用STM8CubeMX进行芯片选型

这个CubeMX没有STM32那么方便能自动生成代码,官方也知道STM8那破性能,再来个自动配置寄存器自动初始化怕是要出大事

然后使用STVD配合对应芯片的库函数进行开发(也可以用寄存器,反正STM8人称小51)

最后使用STVP烧录到芯片

点击STVD进行下载
在这里插入图片描述

注意需要注册一个账号

这里推荐留好账号,以后会方便下载ST家的软件——如果你有下载STM32软件时留的账号那更好,直接上就行了

STVP:一个STM8烧录软件

官网同上

下载后安装即可

cosmic编译器:用于stm32和stm8编程的第三方编译器

STVD不能进行编译,准确的说是只能编译汇编程序

已经2022年了,就别抱着汇编往8位MCU里塞了,好歹人家20+MHz主频呢,那点性能损失不至于(老板抠门除外)

所以还得下载cosmic编译器来编译c程序,属于是奉旨脱裤子放屁

官网

https://www.cosmicsoftware.com/download.php

如下图所示,点击画出的部分直接下载即可

在这里插入图片描述

之后需要先注册,随便填一些东西,然后随便找个邮箱就可以。点击Submit提交以后就可以下载啦!

在这里插入图片描述

如果验证码有问题点击下面的那个Pproblem?click here就可以弹出验证码了

亲测不使用火狐浏览器就可以避免问题(火狐招谁惹谁了)

在这里插入图片描述

注意软件必须有license才能使用,而且对于stm8只可以使用32K免费使用权限,每台电脑是1年。必须使用邮件或在线获取license

在这里插入图片描述

ST-LINK驱动

把st-link的SWO连到stm8,电脑插上st-link以后进入STVP会自动安装st-link驱动

进一步配环境

把所有软件依次安装完毕,跟着指示一步步来就可以

然后进入STVD,接下来要向里面添加编译编译器

在之前安装cosmic的时候应该把cosmic的安装路径记下
在这里插入图片描述

里面有CXSTM8这个目录,它就是cosmic编译器的所在位置了

回到STVD,选择【Tools】-【Option】-【Toolsets】页面进行设置。cosmic编译器所在位置,确认即可

原来的状态是这样

在这里插入图片描述

选择Toolset到stm8,配置即可
在这里插入图片描述

如果有弹窗提示缺少license,那就要把之前获取的license加进来,而如果license不好用还需要通过cosmic的license管理器换license

配置完以后还需要选择一个调试工具,这个只要选在用的调试器就行,比如使用ST-Link就如下设置

在这里插入图片描述

配软件环境

所有硬件任务都完成了,接下来就是找库函数和例程啦

ST给了一大堆例程和一个与STM32标准库很相似的STM8库

在ST官网上面的搜索框里搜索STM8出现下面页面

在这里插入图片描述

找到左侧STM8 8位MCU后,点击下面的对应系列

在这里插入图片描述

这里就是所有对应芯片的软件资源了,点击需要芯片的具体型号
在这里插入图片描述

进入界面后找到工具与软件

往下翻,直到发现

在这里插入图片描述

可以发现这一栏里面有

在这里插入图片描述

点击它

在这里插入图片描述

直接下载即可

点灯

从例程里复制一个闪灯程序

#include "stm8l10x.h"

#define LED_GPIO_PORT  GPIOA
#define LED_GPIO_PINS  GPIO_Pin_2

void Delay (uint16_t nCount);

void main(void)
{
    /* Infinite loop */
	GPIO_Init(LED_GPIO_PORT, LED_GPIO_PINS, GPIO_Mode_Out_PP_Low_Fast);
    while (1)
    {
		GPIO_ToggleBits(LED_GPIO_PORT, LED_GPIO_PINS);
		Delay(0xFFFF);
    }
}

void Delay(__IO uint16_t nCount)
{
  /* Decrement nCount value */
  while (nCount != 0)
  {
    nCount--;
  }
}

#ifdef  USE_FULL_ASSERT

/**
  * @brief  Reports the name of the source file and the source line number
  *   where the assert_param error has occurred.
  * @param file: pointer to the source file name
  * @param line: assert_param error line source number
  * @retval : None
  */
void assert_failed(uint8_t* file, uint32_t line)
{
    /* User can add his own implementation to report the file name and line number,
       ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */

    /* Infinite loop */
    while (1)
    {
    }
}
#endif

选择左上角【file】-【New Workspace】找到【Create workspace and project】
在这里插入图片描述

创建一个工程

在这里插入图片描述

如下配置(随便打的文件名)
在这里插入图片描述

选择一个合适的型号

在这里插入图片描述

像使用keil一样把官方的STM8标准库添加进工程,并依次添加Inc目录里的头文件即可

再把之前那段复制的代码放到main.c里就行了

  • 2
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
### 回答1: STM32L051是STM32L0系列微控制器的一款型号,它采用了ARM Cortex-M0+内核,具有低功耗和高性能的特点。在开发中,可以使用各种开发板和软件,如ST-LINK、Keil uVision5等,来进行编程、调试和下载。 在STM32L051开发中,需要首先了解其硬件架构和寄存器操作方法,以便进行底层编程。同时,也可以使用各种现成的库函数和驱动程序,来简化开发难度和提高开发效率。例如,STM32CubeMX是一款强大的图形化置工具,可帮助用户快速设置IO口、外设和时钟等参数,生成可移植的代码。 在实际开发中,可以根据项目需求,选择合适的外设和接口来扩展功能。例如,可以使用USART、SPI等接口实现与其他设备的通信;使用ADC、DAC等外设采集和输出模拟信号;使用GPIO口控制LED、蜂鸣器等设备。 在应用中,STM32L051可以广泛应用于各种低功耗和高性能的嵌入式系统,如智能家居、智能仪器、便携式设备等。它可以通过多种接口和协议与其他设备进行通信,并且具有丰富的外设和低功耗模式,以满足不同应用的需求。 ### 回答2: STM32L051是一款低功耗微控制器,备有Cortex-M0+内核和32位Flash,适用于各种低功耗应用,例如物联网、智能家居和传感器网络等。STM32L051具有丰富的外设和丰富的通信接口,包括SPI、I2C、USART、USB等,在不同的应用中可以有不同的选择。此外,该微控制器还集成了多个低功耗模式,使得它在电量管理方面更加出色。 在STM32L051开发中,可以使用基于Keil、IAR或GNU ARM工具链的各种开发环境开发者可以使用各种编程语言,例如C、C++和汇编语言,来进行STM32L051的编程和调试。同时,STM32L051的数据处理和控制操作都良好地支持了DSP指令和硬件单周期乘加操作,从而提高了其处理速度和准确性。 STM32L051的开发过程一般分为硬件设计和软件开发两部分。硬件设计主要包括选择合适的开发板和外设,完成电路连接和布局等工作。软件开发则需要熟练掌握STM32L051的内部寄存器、外设接口和相关库函数,实现所需的功能。 总的来说,STM32L051具有出色的低功耗特性和通信接口,适用于各种低功耗应用场景。在开发过程中,需要结合硬件设计和软件开发实现所需的功能。 ### 回答3: 首先,STM32L051是一款低功耗微控制器(MCU),它具有128 KB的闪存和8 KB的SRAM,适用于一些低功耗应用,比如智能家居、传感器和医疗设备等。 其次,STM32L051具有多种通信协议,包括SPI、I2C、USART等,这些协议能够满足不同应用场景的需求。此外,STM32L051还具有多个计时器和高精度时钟,可以确保高精度的计时要求。 在开发STM32L051时,我们可以使用Keil、IAR或者其他一些ARM专业开发工具进行开发。有了这些工具,我们可以使用C语言进行编程,并利用官方提供的库文件实现各种功能。还可以使用调试器来对程序进行调试和测试,确保程序的正确性和可靠性。 总的来说,STM32L051是一款功能强大的MCU,在低功耗和多种通信协议等方面有优异表现,是物联网应用开发的理想选择之一。在开发过程中,正确选择合适的工具和利用官方库文件进行编程,能够更高效地完成开发工作。
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值