• 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
    
    • 1
    • 2
    • 3
    • 🌼效果如下:
      在这里插入图片描述

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

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

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

    🌻库函数下,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
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58

    📚工程模版

    ✨以stm8s903芯片创建的模版

    链接:https://pan.baidu.com/s/1Hppuz100bbALZQ8BWuQx4A 
    提取码:06hu
    
    • 1
    • 2
  • 相关阅读:
    京东数据分析软件:2023年8月京东彩妆行业品牌销售排行榜
    Camera/Lens流程(1)——点亮
    APP稳定性测试工具:Monkey
    蓝桥杯1049
    python小知识
    【c++基础】第一章 C到C++过度阶段
    Spring--注解
    嵌入式分享合集89
    命令历史应用
    基于大模型的单轮文档问答
  • 原文地址:https://blog.csdn.net/weixin_42880082/article/details/127925707