STM8+开发环境、最小项目工程、最小系统

发布者:第二眼帅哥最新更新时间:2021-02-20 来源: eefocus关键字:STM8  开发环境  最小系统 手机看文章 扫描二维码
随时随地手机看文章

一、STM8开发环境



使用STM8需下载下列工具:



1、ST 8bit MCU通用集成开发环境 - ST Visual Develop

http://www.st.com/stonline/products/support/micro/files/st7toolset.exe



IDE包含代码编辑、汇编编译器、代码调试功能,不含C编译器。同时IDE还自带ST Visual Programer编程软件,支持主流8bit


2、COSMIC C Compiler for STM8 16K Limited


http://www.cosmicsoftware.com/download_stm8_16k.php


免费下载,可申请16K代码限制版本的C 编译器。安装后,会要求注册。按照要求填写注册信息后COSMIC会提供回复,会收到一个16K License文件,将它copy到COSMIC安装路径下的License目录,默认的路径…

打开STVD,选择菜单栏Tools -Options对话框,找到Toolset标签,Toolset中选择“STM8S COSMIC”,Root path中选择COSMIC路径,默认是“CXSTM8_16K”路径。



运行ST Visual Develop(STVD) 集成开发环境,通过菜单栏Files -> New WorkSpace我们可以新建一个新的STM8工程。

1

在弹出的“New WorkSpace”对话框中,我们可以STVD支持的集中工程模版类型。这里我们选择使用“Create workspace and project” 。

2

WorkSpace是Project的管理平台,允许在一个WorkSpace中出现多个Project,通过设定我们可以选择当前的活动项目。

3

输入当前要建立的项目名称,并且可以根据应用的需要通过“Project location”来选择更改WorkSpace存放路径。因这里介绍的例程我们需要支持的MCU平台是STM8系列,C语言使用COSMIC,因此我们还需要对使用的Toolchain进行选择。

4

下一步我们要选择工程使用的MCU型号。

5

在对话框中我们可以看到当选中一个MCU型号,在右边的工具列表清单中会显示调试工具支持状态,绿色表示工具可以支持,灰色表示不支持。这里仅是提供调试或仿真支持,不表示编程支持,具体编程支持需要通过STVP编程软件确认。



这样一个最小的应用工程模版STVD就帮我们自动产生了。

6

IDE界面右边的项目目录树中,我们可以看到STVD对工程自动增加了两个文件,一个是main.c文件,一个是stm8_interrupt_vector.c文件。后者提供了STM8所有的中断入口函数的地址表,以及用于各种不同类型外设中断函数名称申明。



在stm8_interrupt_vector.c文件中,我们可以看到除去Reset向量外其它中断向量的入口均是统一使用void NonHandledInterrupt (void)函数。对于正常的使用我们还是需要重新跟改中断函数入库函数名称。


0x82 是stm8的中断指令,后面是中断向量,如果是库函数版本,中断函数在stm8a_it.c里面。

7

对于中断函数的入口修改:

1、struct interrupt_vector const _vectab[]指明的中断向量表,每一个类似{0x82, NonHandledInterrupt},偏移量的申明表示的都是一个中断矢量对于的中断函数名称。


2、 中断函数的申明@far @interrupt void NonHandledInterrupt (void)


例当需要使用I2C中断的时候,可以这样做:

1、申明I2C中断函数名称:

在struct interrupt_vector const _vectab[]中找到I2C中断函数入口,加入I2C中断函数名称

{0x82, I2C_Server_Interrupt }, /* IRQ19 - I2C (I2C interrupt) */


2、在stm8_interrupt_vector.c文件中添加服务函数:

@far @interrupt void I2C_Server_Interrupt (void)


{

~~~~~加入中断服务代码~~~~~~

return;

}



3、最好在文件头上方申明外部可调用:extern void I2C_Server_Interrupt (void)



4、或者仅是申明函数,再定义STM8_IT.c、STM8_IT.h文件,将中断服务程序全部放置其中。



工程建立好以后,可以通过菜单栏“Project”->“Settings”来修改项目配置

8

在项目设定对话框中,我们可以对汇编编译器、C编译器、连接器的配置做修改。


当写好一个程序需要进入调试时,我们可以通过STVD菜单栏的“Debug Instrument” 来选择使用何种调试工具。这里我们使用Rlink,SWIM接口。Simulator是指软仿真功能。9

Tip:

1、项目编译默认存在Release、Debug两种选择。如需要自行添加其它类型,可通过菜单栏“Build->Configurations…”来配置。

10

11

配置好后可通过工具栏“Project”来直接选择。

12

2、WorkSpace管理多个Project

直接在WorkSpace栏中通过鼠标右键打开workspace的属性,通过“Insert Project int Workspace…”可以在添加多个项目。

13

二、STM8S的最小硬件系统

STM8的最小硬件系统包含下列部分:

1、电源

2、时钟管理

3、复位管理

4、调试接口(SWIM)

1、电源(以stm8s207R8T6 64脚为例)复位引脚 接4.7k电阻接电源复位引脚 接0.1nF电容接地6脚接4.7nF接地7,8,18,19,40接电源


4,5,20,21,39接地58脚为swim下载调试

STM8S系列MCU的工作在3.0V ~ 5.5V之间,芯片内部自带一个电源管理系统可以为自身核心工作提供1.8V电源。

点击下载STM8 for COSMIC 最小工程 :STM8 C Templet no reg.rar


工程含中断、入口函数、不含硬件寄存器描述文件。

需要特别注明:ADC1/ADC2、UART2/UART3。


注:STM8的堆栈开始地址?


不同容量的Flash,堆栈起始地址是不相同的,具体可以看STM8S Microcontroller Family Reference Manual 的Memory and register map章节。


当中断发生时,MCU会自动压栈下列寄存器:CC, A, X, Y, PCE、PCH、PCL,9个字节,共耗用9个CPU周期。

14

关键字:STM8  开发环境  最小系统 引用地址:STM8+开发环境、最小项目工程、最小系统

上一篇:STM8单片机ADC、Timer、USART实用例程
下一篇:关于基于STM8S,MPU6050驱动的说明及程序

推荐阅读最新更新时间:2024-11-03 09:02

STM32F030 Nucleo-开发环境的搭建和工程建立
个人比较喜欢Keil,所以就装个MDK513!环境安装好了!包括如果在电脑中还有其他ARM的开发工具,那么Keil5就需要在环境变量中修改路径。不过这点不需要说了,度娘里面资料非常多!搜搜就好! 环境搭好后,为了验证,我就迫不及待的解压前面下载的标准外设库STM32F0xx_StdPeriph_Lib_V1.5.0,然后再路径:......STM32F0xx_StdPeriph_Lib_V1.5.0ProjectsSTM32F0xx_StdPeriph_TemplatesMDK-ARM 中打开标准外设库提供的工程模板,然后就是编译了! 然后,然后,悲催的事情出现了:报错!报错!报了很多的错!!但是基本上都是一个错误如下:
[单片机]
STM32F030 Nucleo-<font color='red'>开发环境</font>的搭建和工程建立
IAR+STM8——UART串口发送与中断接收
STM8的UART功能强大,除了常规的串口异步通讯外,还拥有LIN主模式、红外编解码器、智能卡模拟等功能。新手还是从基本的串口通讯入手,那些高级功能等熟练以后再慢慢研究吧。 #i nclude iostm8s207sb.h void CLK_init(void) { CLK_CKDIVR = 0x08; // 16M内部RC经2分频后系统时钟为8M } void UART3_init(void) { UART3_BRR2 = 0x01; // 设置波特率9600 UART3_BRR1 = 0x34; // 8M/9600 = 0x341 UART3_CR2 = 0x2C; // 允许接收中断,允许接收,允许发送 } #pra
[单片机]
基于STM8单片机的CMOS图像采集系统应用设计
在物联网系统中实现图像采集,必须要考虑物联网的以下特点: (1)物联网节点对价格敏感。物联网是信息传感技术的大规模应用,传感节点数目成百上千,若每个节点的成本提高一点,整个物联网系统的成本就会提高很多。所以传感节点图像采集的成本应尽量低。 (2)大部分物联网应用对图像质量要求不高。图像采集主要是帮助用户不需要到现场就可以观察现场情况,对于大多数应用只要能分辨出现场场景即可,没必要采集很高像素的图像。 (3)基于成本考虑,物联网大多选用RS232,Zigbee,GPRS等传输速率不高的联网方式,图像传输时间较长。但许多监测节点安放的位置固定,采集的图像是准静态图像,也就是说,大部分情况下,图像是不变的,所以对帧率要求不高
[单片机]
基于<font color='red'>STM8</font>单片机的CMOS图像采集系统应用设计
【单片机笔记】NodeMcu入坑—ESP8266开发环境搭建
NodeMcu简介 NodeMCU是一个开源的物联网平台, 它使用Lua脚本语言编程。该平台基于eLua开源项目,底层使用ESP8266 sdk 0.9.5版本。该平台使用了很多开源项目, 例如 lua-cjson, spiffs. NodeMCU包含了可以运行在 esp8266 Wi-Fi SoC芯片之上的固件,以及基于ESP-12模组的硬件。 入手的的是一个CP2102版本的板卡 第一步、安装CP2102的串口驱动 第二步、下载相关的工具 1.配置java环境 2.烧录软件:nodemcu-flasher 3.基础固件下载 4.下载ESplorer 附上所有用到的工具和固件点击打开链接
[单片机]
【单片机笔记】NodeMcu入坑—ESP8266<font color='red'>开发环境</font>搭建
stm8开发环境和stlink驱动在win8下安装教程
将ST-LINK-V2插到电脑上之后会发现上面的D1灯一直在闪烁,这表示此时stlink还没被电脑识别。下载驱动程序: http://pan.baidu.com/s/1dDGHvot 如果连接失效可以百度,有的是。之后就是安装问题。在我的电脑(计算机)上右键,选“管理”,“设备管理器”,发现软件设备中有一个带黄叹号的图标,正是我们未识别的stlink,双击后在属性中选择“更新驱动”,选择自动寻找,会发现出现数字签名问题。下面我们就来解决数字签名问题: 鼠标移动到右侧边处悬停一会出现WIN8右侧边栏--选择设置--选择更改电脑设置--常规--最下面高级启动立即重启--重启电脑中.....选择疑难解答--选择高级选项--选择
[单片机]
在KEIL下搭建基于 STM32 和 rt-thread 的开发环境
RT_thread开发人员是用MDK(Keil)进行开发管理的,当然也提供了IAR等开发环境的配置。针对初学者都提供了相关的教程和案例,不过项目开发,还是得讲究一下如何有效搭建开发环境和配置。 MDK(Keil)的安装和配置(破解)就略过了。能进行开发移植系统的程序员如果还不会最基础的开发环境搭建,那……去闭关修炼吧。 芯片选择:ST(意法半导体)-STM32F103ZE 原因: 开发必备。大多单片机爱好者,学习过程基本是:菜鸟52- 逐步深入stm32- 深度中毒ARM。 ST芯片应用广泛。ST的性价比(点赞)和高性能在各领域都发挥着重要作用(好用吖)。 ST开发容易。固件库和资料都很全,网上大把教程和学习板(
[单片机]
在KEIL下搭建基于 STM32 和 rt-thread 的<font color='red'>开发环境</font>
STM8 ADC转换模式-------带缓存的连续模式
STM8单片机ADC支持5种转换模式:单次模式,连续模式,带缓存的连续模式,单次扫描模式,连续扫描模式。 连续和带缓存的连在连 换模式中,将ADC设为连续模式,该模式是通过置位 ADC_CR1寄存器的 ADON 位来启动的。 ● 如果缓存功能被使能(DBUF=1),那么某个选定满数据缓存,当缓存被填满时,EOC(转换结束)标志被置位,如果EOCIE位已被置位,则会产生一个中断,然后一个新的转换自动开始。如果某个数据缓存寄存器在被读走之前被覆盖,OVR标志将置1。 如果要停止连续转换,可以复位清零CONT位来停止转换或者复位清零ADON位来关闭ADC的电 源。 使用连续模式带缓存功能查询方式读取数据代码如下: #
[单片机]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved