1.STVD集成开发软件的下载、安装 STVD为ST官方提供的集成开发环境,我们可以登陆网页进行下载,下载的安装包名称为sttoolset.zip,解压后双击安装。安装过程和普通软件一样。 安装完成之后,在桌面可以看到ST Visual Develop和ST Visual Programmer的图标。其中ST Visual Develop即为集成开发环境,ST Visual Programmer为编译好的固件烧写软件。双击运行STVD集成开发环境界面。 STVD集成开发环境的界面和其他集成开发环境的界面大同小异,配合ST-Link即可进行对STM8单片机的编程开发。但是STVD集成开发环境只带有汇编编译器,为了提高编程效率,我们还是需要安装C语言编译器,使用C语言进行编程开发。 2.COSMIC的下载安装 COSMIC软件公司成立于1983年,总部位于法国,专门提供嵌入式开发工具和服务,产品涵盖C语言编译器、汇编器、标准库、链接器、处理器仿真器、硬件调试器和集成开发环境,详细的产品可以参考COSMIC公司官方网站的产品介绍页面。COSMIC针对STM8单片机的C语言编译器简称为CXSTM8。在页面我们可以找到COSMIC公司免费提供的32KB代码限制版Cosmic STM8 32K SpecialEdition Free license,使用它可以开发代码不大于32KB的程序,如果需要开发更大的代码,则需要购买相关授权版本。 点击免费版本的连接之后,页面提示注册,然后就可以下载。Cosmic STM8 32K Special Edition Free license下载之后文件名称为cxstm8_32k.exe,双击安装。在安装的最后会跳出注册对话框,在对话框的打*位置填好要求的信息之后点击Write to file按钮,将注册信息保存为txt文件,名称自行命名。然后点击取消按钮,结束软件安装。Cosmic STM8 32K Special Edition Free license是免费的COSMIC编译器版本,需要通过邮箱注册才能获得正版使用许可。注册过程是这样的:新建立一个邮件,,邮件主题为STM8 32KLicense Request,将刚才保存的文件中的内容复制到邮件正文,发送后如果申请成功会收到相关邮件,邮件附件中会带有license.lic这个许可文件。将这个文件复制到COSMIC安装目录下的License目录下即可完成注册。 3.使用STVD建立一个STM8工程 双击STVD在桌面上的图标,运行STVD软件。在工具栏上找到“File”菜单,点击菜单,在下拉子菜单中选择第一个子菜单“New Workspace”,此时跳出界面。 在界面中我们选择第一个菜单项。点击确定按钮,会弹出新工作区设置界面。 在界面中录入新工作区的名称及路径。再点击OK按钮,会弹出如图所示的界面。这是新工程设置界面。 界面上半部分为工程名称及路径输入框,下半部分则为编译链选择框。在Toolchain下拉框中选择STM8 Cosmic,Toolchain则选择COSMIC的安装目录。 点击OK按钮,弹出选择MCU界面。在界面中选择开发板使用的主芯片STM8XXXXXXX,具体要根据自己使用的芯片型号选择。然后点击OK按钮。软件会进入到工程主界面。 在工程源文件文件夹下会自动生成main.c、stm8_interupt_vector.c两个文件,其中main.c为主程序文件,另一个则为STM8的中断向量表文件。此时可以在main.c文件中编写C语言代码,当然此时不编写任何代码,程序也可以下载到STM8单片机中。 在使用ST-Link将程序下载到单片机之前,还需要进行调试工具的选择设置。具体步骤为在软件主界面的工具栏中找到“Debug instrument”菜单,点击出现下拉子菜单,在子菜单中选择“TargetSettings”子菜单。弹出调试工具设置对话框。 在对话框的Debug Instrument Selection区域的下拉菜单中进行如上图所示的选择。点击确定按钮,此时就可以通过ST-Link将程序烧写进STM8单片机了。在软件主界面的在、工具栏中找到按钮,点击按钮,弹出目标选择对话框。 点击确定之后,程序便会通过ST-Link下载进STM8单片机,并进入调试模式。在工具栏中点击 按钮,程序便会全速运行;点击红叉号按钮,程序会退出调试。 4.使用STVD编写第一个程序 虽然在上一步中我们已经可以通过ST-LINK将程序烧写进单片机,但是因为程序中没有任何实质性的语句,所以单片机不会进行任何操作。接下来我们一起编写一个可以实际运行的程序,以此来熟悉一下编写STM8S程序的步骤。 操作单片机的I/O口是最简单的,我们就将操作STM8单片机的I/O口来点亮发光二极管D1作为第一个程序。通过前面章节的硬件介绍我们知道,LED是通过灌流驱动方式与单片机的I/O口进行连接的,只要将与D1相连的I/O口设置为输出低电平,LED就会被点亮。既然原理明白了,那么我们就开始编写吧! 首先添加STM8单片机的头文件至工程中。方法为在工程文件列表栏中的Include Files文件夹上单击鼠标右键,在跳出的菜单列表中选择Add Files to Folder子菜单,如下图所示。选中之后,会弹出打开文件对话框,如下图所示。将文件路径定位至STVD安装目录,在安装目录下找到include文件夹,在文件夹中选择我们使用的STM8单片机对应的型号打开即可。 在工程中添加STM8头文件之后,还需要在程序中包含头文件。 接下来我们就可以在main中编写C语言代码来控制I/O了。通过查询STM8单片机的手册中GPIO相关寄存器的描述可知,以下的程序代码将D1对应的I/O口PC3设置为输出: PC_DDR|=0x08; PC_CR1|=0x08; PC_CR2|=0x00; 然后再只要将PC3输出低电平即可点亮D1。完整的代码如下: #include"stm8s105c6.h" main() { PC_DDR|=0x08;//设置PC3为输出模式 PC_CR1|=0x08;//设置PC3为推挽输出 PC_CR2|=0x00;//设置PC3为10MHz快速输出 PE_ODR^=0x08;//设置PC3输出逻辑低电平 while (1) { } } 将代码烧写进STM8单片机,我们可以发现D1被点亮。上述程序中对GPIO的讲解只是为了帮助我们完成第一个程序,GPIO的详细讲解我们会在相关章节进行详细描述。
|