STM8S系列基于STVD开发,标准外设库函数开发环境搭建

STM8S系列基于STVD开发,标准外设库函数开发环境搭建


官方地址:https://www.st.com/zh/development-tools/stvd-stm8.html
在这里插入图片描述

  • 📌STM8S/A标准外设库(库版本V2.3.1

📍官网标准外设库:https://www.st.com/zh/embedded-software/stsw-stm8069.html
在这里插入图片描述

  • 📍cosmic stm8 32k C编译器 v4.3.4

https://www.jb51.net/softs/626867.html#downintro2

🌻从外设标准库中拷贝通用模板

  • 🔗拷贝一份STM8S_StdPeriph_Template文件夹
    在这里插入图片描述

  • 🧺删除其中的EWSTM8(这个是IAR开发环境的模版,这里不需要)

  • ⛳打开已安装的STVD软件,菜单File-Open Workspace
    在这里插入图片描述

  • ✅找到目录下的\STM8S_StdPeriph_Template\STVD\Cosmic\Project.stw打开。
    在这里插入图片描述

  • 🌿在弹出的对话框一路点Yes
    在这里插入图片描述- 📜得到一个多型号的工程

在这里插入图片描述

  • 🛠根据自己的开发板型号保留其对应的开发配置内容,其他的无关的型号的可以删除,也可以不删除,这一点,后面将做额外补充说明。
    在这里插入图片描述

  • ⚡在保留多工程模式下,按Shift键 + F7键,或者菜单Project-Settings,设置源文件路径:(这里默认设置的是结构树中的第一个工程stm8s208)
    在这里插入图片描述

  • 🚩推荐将\en.stsw-stm8069\STM8S_StdPeriph_Lib\LibrariesSTM8S_StdPeriph_Driver文件夹保存到另一个独立的地方。因为这些标准外设库一般情况下不需要去修改它。
  • 🔖在保留其他型号工程共存模式下,每个型号的工程单独进行设置方法:
    在这里插入图片描述
  • 🔧设置编译生成Hex文件以及显示编译信息:

🍁容量信息显示参考前面相关篇文章内容。
在这里插入图片描述

chex -o $(OutputPath)$(TargetSName).s19 $(OutputPath)$(TargetSName).sm8
chex -fi -o $(OutputPath)$(TargetSName).hex $(OutputPath)$(TargetSName).sm8
size $(OutputPath)$(TargetSName).map
  • 🌼效果如下:
    在这里插入图片描述

在保留其他开发型号时,编译方法

  • 🔨在所选型号上右键,选择编译。

🎉这种方式将编译指定选择型号的工程进行编译。
在这里插入图片描述
🎋到这里,基本的库函数开发环境已经搭建好了。

🌻库函数下,GPIO点灯示例

/* Includes ------------------------------------------------------------------*/
#include "stm8s.h"

/* Private defines -----------------------------------------------------------*/
/* Private function prototypes -----------------------------------------------*/
#define LED_GPIO_PORT  (GPIOD)
#define LED_GPIO_PINS  (GPIO_PIN_7 | GPIO_PIN_3 | GPIO_PIN_2 | GPIO_PIN_1 | GPIO_PIN_0)
/* Private functions ---------------------------------------------------------*/
void Delay (uint16_t ms);


void main(void)
{
	GPIO_Init(LED_GPIO_PORT, (GPIO_Pin_TypeDef)LED_GPIO_PINS, GPIO_MODE_OUT_PP_LOW_FAST);
  /* Infinite loop */
  while (1)
	{
	/* Toggles LEDs */
    GPIO_WriteReverse(LED_GPIO_PORT, (GPIO_Pin_TypeDef)LED_GPIO_PINS);
    Delay(500);
		
	}
}

/**
  * @brief Delay
  * @param nCount
  * @retval None
  */
void Delay(uint16_t ms)
{
	uint16_t i,j;
 for ( i=0; i<=ms; i++)
     for ( j=0; j<120; j++) // Nop = Fosc/4
        _asm("nop"); //Perform no operation
}

#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(u8* file, u32 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

📚工程模版

✨以stm8s903芯片创建的模版

链接:https://pan.baidu.com/s/1Hppuz100bbALZQ8BWuQx4A 
提取码:06hu
  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值