历史上的今天
今天是:2024年09月08日(星期日)
2020年09月08日 | STVD+COSMIC工程搭建
2020-09-08 来源:eefocus
一、寄存器开发方式
1)新建工程文件夹stm8_template,在工程文件夹下新建三个子文件夹,FwLib用于存放固件库,寄存器开发方式下存放芯片的头文件,Project用于建立工程文件,User用于存放我们自己编写的.h和.c文件,所以User文件夹下另外建立inc和src文件夹;

2)打开STVD开发软件,点击左上角File,再点击New Workspace,在弹出的对话框中选择第一项,点击确定;

3)接下来填入工程文件名称,并设置相关路径为刚刚新建的文件夹stm8_template下的Project文件夹,点击OK;

4)接下来再次填入工程名称,无需再次设置路径,在Toolchain下拉选项中选择STM8 Cosmic,初次使用STVD需要设置Cosmic的路径,为Cosmic安装目录下的CXSTM8文件夹,点击OK;

5)选择芯片信号,或者在筛选器里填入对应的型号,点击Select,再点击OK;

6)此时左侧的Source Files中出现了我们熟悉的main.c文件和一个中断向量的stm8_interrupt_vector.c文件,不要急着开始写程序,工程里还缺少芯片的头文件;

7)在STVD的安装目录下,打开st_toolset文件夹,在其中的include文件夹下,所有STVD支持的芯片的头文件都在里面,把我们需要的头文件STM8S103F.h复制到工程文件夹下的FwLib中,这里因为STM8S003F和STM8S103F的头文件是共用的,所以直接复制STM8S103F.h,如果打开STM8S003F的头文件也可以发现就是指向STM8S103F的;


8)接下来回到STVD中,右键单击左侧的Include Files,选择Add Files To Folder,在FwLib文件夹下找到STM8S103F.h,点击打开,就添加成功了;


9)点开main.c文件,在main函数上方写入#include “stm8s103f.h”,点击Build,无报错则新建工程完成;


二、库函数开发方式
1)库函数开发方式首先需要下载STM8的标准固件库,可以去ST官网下载,也可以自行在网上寻找资源,本人使用的是STM8S_StdPeriph_Lib_V2.1.0,新建工程的步骤也是先新建文件夹stm8_template,在此文件夹下分别建立FwLib、Project和User,打开STVD开发软件,填入工程名称并指定路径和Cosmic编译器,选择芯片型号;

2)接下来右键单击main.c,选择Remove from Project,将main.c移出工程,重复上述操作,将stm8_interrupt_vector.c也移出工程;

3)接下来我们在STM8的标准固件库文件中打开Libraries,再打开STM8S_StdPeriph_Driver,将其中的inc和src文件夹整个复制到我们新建工程的FwLib中;


4)接下来在STM8的标准固件库文件中打开Project,再打开STM8S_StdPeriph_Template,将其中的main.c、stm8s_conf.h、stm8s_it.c和stm8s_it.h文件复制到我们新建工程的Project中,替换掉原来的main.c,在此目录下打开STVD文件夹,打开Cosimc文件夹,将其中的stm8_interrupt_vector.c复制到我们新建工程的Project中替换掉原来的文件;


此时我们的工程文件下的Project文件夹里是这样的;

5)回到STVD开发软件中,右键单击左侧的Source Files,选择Add Files To Folder,将Project文件夹下的.c文件都添加进去,重复上述操作,将.h文件都添加至Include Files中;

6)此外,还需添加STM8的头文件,在FwLib文件夹下的inc文件夹中;


7)此时不要着急写程序,我们右键单击左侧的stm8_template,选择settings,在弹出的对话框中选择C Compiler子项;

8)在Preprocessor Definitions一栏中填入芯片型号STM8S003即可,这里无需填入完整型号,主要是实现头文件的预定义设置,所以需要遵循头文件中的型号定义,我们打开添加的stm8s.h,就可以看到STM8系列所有的芯片型号;

仔细阅读注释我们可以发现,如果不在settings里进行设置,也可以在stm8s.h中将对应型号的注释取消,也可完成对应型号的预定义设置;

9)点击Build,无报错则新建工程完成;

上一篇:STM8避坑—串口中断
下一篇:STM8避坑—PB4和PB5
史海拾趣
|
本帖最后由 paulhyde 于 2014-9-15 09:06 编辑 哪位大哥知道怎么做?或者以前做过,请告知一声!老师给的题目,也没说什么要求!网上找了半天都没什么东西,急啊!拜托了!!!我的邮箱:szlt520@yahoo.com.cn [ 本帖最后由 open82977352 于 2010 ...… 查看全部问答> |
|
通常在反馈控制系统中,我们把参考量与测量量的偏差给PID控制器调节,但PID控制器输出的却是另外性质的输出量,比如水位偏差经PI调节器后输出变成了电压量,速度偏差经PI调节器后输出变成了转矩量等,PI调节器是如何把一种性质的量变成另一种性质的 ...… 查看全部问答> |
|
本人刚接触DDK,有个问题请教一下: 我想做个BDA驱动,接在Network Provider后面,暂时没有电视卡,用graphedit测试从硬盘中读入TS流。 参考DDK开发包下的BDA例子,可是安装这个例子的.SYS后在graphedit里找不到filter,这是什么原因? 难道是没 ...… 查看全部问答> |
|
library ieee; use ieee.std_logic_1164.all; USE IEEE.STD_LOGIC_UNSIGNED.ALL; entity SCCB is port( GCLK: IN std_logic; SIOC : OUT s ...… 查看全部问答> |
|
我们最近在研究某个网络设备的固件。 查过资料后发现他使用的是Vxworks 5.4.2的OS,但是我只对LINUX比较熟悉,Vxworks嵌入式OS没有接触过。 我的目标是对该固件进行解包,导出其中的文件系统。 所以我想应该先熟悉一下OS,请推荐点资料,给点指 ...… 查看全部问答> |
|
五舟是国内服务器市场快速成长的新生力量,专注于服务器平台与存储产品的销售与服务,为科学研究与商业应用提供最佳性价比的服务器和存储解决方案。 自 1995 年进入服务器行业, 2002 年创立五舟品牌以来,已经成功的为几千家客户提供了优质的产 ...… 查看全部问答> |
|
由于异步电机的动态数学模型是一个高阶、非线性、强耦合的多变量系统。上世纪70年代西门子工程师F.Blaschke首先提出异步电机矢量控制理论来解决交流电机转矩控制问题。矢量控制实现的基本原理是通过测量和控制异步电动机定子电流矢量,根据磁场定向 ...… 查看全部问答> |
|
前几天出差,今天从同事手中拿到快件,拆开包装,小板让人心为之一振。更为欣慰的是致试用朋友的一封信,信中读出论坛的支持、期望,在此感谢!相信试用的朋友都能完成自己的目标。… 查看全部问答> |




