STM32
直播中

张宇

7年用户 1662经验值
私信 关注
[问答]

请问STVD怎么用固件库来开发?

main.c

  • #include "STM8S103F.h"

  • main()
  • {
  •         while(1);
  • }
  • #ifdef USE_FULL_ASSERT

  • void assert_failed(u8* file, u32 line)
  • {


  •   while (1)
  •   {
  •   }
  • }
  • #endif

error

  • ----------- Project led - STM8 Cosmic - Configuration Debug -------------

  • Compiling ..srcmain.c...
  • cxstm8 +mods0 +debug -pxp -no -pp -l -i........stmicroelectronicsst_toolsetinclude -i..libinc -i..src -i"C:Program FilesCOSMICCXSTM8_Hstm8" -i"D:Program Filesworkspace_libledSTVDLIBINC" -i"D:Program Filesworkspace_libledSTVDSRC" -i"D:Program Filesworkspace_libledSTVDLIB"  -clDebug -coDebug ..srcmain.c
  • ..srcmain.c:

  • Running Linker
  • clnk -l"C:Program FilesCOSMICCXSTM8_Lib" -l"D:Program Filesworkspace_libledSTVDLIBINC" -l"D:Program Filesworkspace_libledSTVDLIBSRC" -l"D:Program Filesworkspace_libledSTVDLIB" -l"D:Program Filesworkspace_libledSTVD"  -o Debugled.sm8 -l..lib -mDebugled.map Debugled.lkf
  • #error clnk Debugled.lkf:1 symbol _assert_failed not defined (Debugstm8s_adc1.o Debugstm8s_awu.o Debugstm8s_beep.o Debugstm8s_clk.o Debugstm8s_exti.o Debugstm8s_flash.o Debugstm8s_gpio.o Debugstm8s_i2c.o Debugstm8s_itc.o Debugstm8s_iwdg.o Debugstm8s_rst.o Debugstm8s_spi.o Debugstm8s_tim1.o Debugstm8s_tim2.o Debugstm8s_uart1.o Debugstm8s_wwdg.o )
  • The command: "clnk -l"C:Program FilesCOSMICCXSTM8_Lib" -l"D:Program Filesworkspace_libledSTVDLIBINC" -l"D:Program Filesworkspace_libledSTVDLIBSRC" -l"D:Program Filesworkspace_libledSTVDLIB" -l"D:Program Filesworkspace_libledSTVD"  -o Debugled.sm8 -l..lib -mDebugled.map Debugled.lkf " has failed, the returned value is: 1
  • exit code=1.

  • led.elf - 2 error(s), 0 warning(s)

想问下这个是什么原因引起的错误?

回帖(1)

安德森大

2024-4-28 17:10:08
STVD(STM8 Virtual Development Environment)是一个用于STM8系列微控制器的集成开发环境。要使用固件库开发STM8项目,可以按照以下步骤操作:

1. 安装STVD:首先,确保您已经安装了STVD。如果没有,请从STMicroelectronics官方网站下载并安装。

2. 创建新项目:打开STVD,然后创建一个新的STM8项目。选择适当的微控制器型号(如STM8S103F),并为项目命名。

3. 添加固件库:在项目中添加固件库。通常,固件库已经包含在STVD安装中。如果需要手动添加,请将固件库文件复制到项目目录下的`lib`文件夹中。

4. 包含头文件:在您的源文件(如`main.c`)中,包含所需的固件库头文件。例如,如果您使用的是STM8S103F,可以包含以下头文件:

```c
#include "STM8S103F.h"
```

5. 编写代码:在`main.c`中编写您的应用程序代码。以下是一个简单的示例,其中包含一个无限循环:

```c
main()
{
    while(1)
    {
        // 您的代码在这里
    }
}
```

6. 使用断言:为了调试目的,您可以使用固件库中的断言功能。这将帮助您在代码中检查错误条件。以下是如何使用断言的示例:

```c
#ifdef USE_FULL_ASSERT
void assert_failed(u8* file, u32 line)
{
    while (1)
    {
        // 错误处理代码
    }
}
#endif
```

7. 编译和调试:在STVD中编译项目,并在必要时进行调试。STVD提供了丰富的调试工具,如断点、监视窗口和寄存器查看器。

8. 下载和测试:将编译好的程序下载到STM8微控制器中,并在实际硬件上测试其功能。

请注意,您提供的代码片段似乎不完整,因为它包含了一些编译器生成的错误信息。确保您的项目设置正确,并且所有必要的文件都已添加到项目中。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分