转载 :https://blog.csdn.net/sy_lixiang/article/details/8461829
1.新建1个工程目录,依项目的名字来起
![](https://img-my.csdn.net/uploads/201301/03/1357209276_2897.jpg)
2.在上述的目录内新建1个名为STVD的目录,因我们用ST官方的开发环境来新建的工程,故命名如此。
![](https://img-my.csdn.net/uploads/201301/03/1357209302_2290.jpg)
3.在STVD目录内新建名为cosmic的目录,此目录为编译器和工程设置的目录,非常重要。
![](https://img-my.csdn.net/uploads/201301/03/1357209326_7205.jpg)
4.在STVD的目录内,同样新建名为lib和src的两个目录,前者为库文件目录,后者为自己写的源文件路径。
![](https://img-my.csdn.net/uploads/201301/03/1357209335_9148.jpg)
5.在lib的目录内新建名为inc和src的两个子目录。
![](https://img-my.csdn.net/uploads/201301/03/1357209343_6368.jpg)
6.将在ST官网上下载到的最新版的库文件的inc和src目录复制到STVD的lib目录下,详见下图。
![](https://img-my.csdn.net/uploads/201301/03/1357209331_5468.jpg)
7.复制完库文件以后STVD\lib\inc目录如下
![](https://img-my.csdn.net/uploads/201301/03/1357209347_8102.jpg)
8.复制完库文件以后STVD\lib\src目录如下
![](https://img-my.csdn.net/uploads/201301/03/1357209352_7395.jpg)
9.打开STVD,New->workspace
![](https://img-my.csdn.net/uploads/201301/03/1357209396_9593.jpg)
10.修改workspace的路径为我们自己新建的STVD\cosmic下。
![](https://img-my.csdn.net/uploads/201301/03/1357209402_9391.jpg)
11.项目名称、路径、编译器设置如下
![](https://img-my.csdn.net/uploads/201301/03/1357209407_8148.jpg)
STM8想用C语言编程,很多人都是用的STVD+COSMIC,安装
cxstm8_FSE_stm32_32K.exe软件。
这里说说STVD的编译的事情,STVD本身只支持汇编语言,想用C还得借助COSMIC,所以一些设置是必须的,就是在STVD下面选择COSMIC的编译文件(这个根据软件版本自行设置),下图用我的举例
![](http://www.eeworld.com.cn/uploadfile/2017/0220/1487601455950592.jpg)
单单是把两个软件安装好,编译路径配置好,编译的时候肯定还会出现STM8官方头文件找不到的错误,网上也有解决办法,就是要把头文件复制到自己的工程下,在工程下面把头文件添加进来,这样每个工程都得弄一次,实在是麻烦
哥哥我后来就想,既然是COSMIC编译的,那何不直接将头文件搞到COSMIC的安装路径下,以我的举例,我一般喜欢把软件安装在D盘,我们找到D:\Program Files\STMicroelectronics\st_toolset\include文件夹下,把所有头文件拷贝一次
然后复制到D:\Program Files\COSMIC\CXSTM8\Hstm8这个文件夹下面,再次编译就发现已经大功告成了.
12.选择你所用的MCU,此步骤非常重要,选错了就不好玩了。
![](https://img-my.csdn.net/uploads/201301/03/1357209413_7800.jpg)
13.此时,打开的STVD如下图所示。保存工程,File->close workspace来关闭工程。
![](https://img-my.csdn.net/uploads/201301/03/1357209420_1660.jpg)
14.此时的cosmic目录内如下图所示
![](https://img-my.csdn.net/uploads/201301/03/1357209425_6757.jpg)
15.将cosmic目录内的main.c文件剪切到STVD\src目录内,这是我们自己要编写程序的目录。
![](https://img-my.csdn.net/uploads/201301/03/1357209442_2644.jpg)
16.此时的cosmic目录如下图所示,要注意,stm8_interrupt_vector.c这个文件还是在放在cosmic这个目录内的。
![](https://img-my.csdn.net/uploads/201301/03/1357209447_5357.jpg)
17.到从ST官网上下到的库中的如下路径,把stm8l101x_conf.h这个文件复制到STVD\src目录内。
![](https://img-my.csdn.net/uploads/201301/03/1357209452_2380.jpg)
18.复制完以后STVD\src路径如下图所示。
![](https://img-my.csdn.net/uploads/201301/03/1357209457_9205.jpg)
19.将STVD\cosmic\*.stw文件拖到开发环境内,会自动提示找不到main.c文件了,这就对了嘛~!我给它移动位置了。点击是。
![](https://img-my.csdn.net/uploads/201301/03/1357209462_7009.jpg)
20.此时,打开后的工程如下图所示。
![](https://img-my.csdn.net/uploads/201301/03/1357209468_3823.jpg)
21.将STVD\src\main.c和STVD\lib\src路径内的所有文件添加到Source Files内;将STVD\src\stm8l10x_conf.h和STVD\lib\inc路径内的所有文件添加到Include Files内。此后,路径如下图所示。
![](https://img-my.csdn.net/uploads/201301/03/1357209473_8555.jpg)
22.按需求来编写main.c文件。本示例编写如下。F7编译一下。
![](https://img-my.csdn.net/uploads/201301/03/1357209486_1940.jpg)
23.确认没有警告和错误。
![](https://img-my.csdn.net/uploads/201301/03/1357209479_4671.jpg)
23.Tools->option来改一个环境设置,如下图。
![](https://img-my.csdn.net/uploads/201301/03/1357209490_5209.jpg)