STM8+开发环境、最小项目工程、最小系统&oq=STM8+开发环境、最小项目工程、最小系统
2014-07-25 23:51
295 查看
一、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工程。
在弹出的“New WorkSpace”对话框中,我们可以STVD支持的集中工程模版类型。这里我们选择使用“Create workspace and project” 。
WorkSpace是Project的管理平台,允许在一个WorkSpace中出现多个Project,通过设定我们可以选择当前的活动项目。
输入当前要建立的项目名称,并且可以根据应用的需要通过“Project location”来选择更改WorkSpace存放路径。因这里介绍的例程我们需要支持的MCU平台是STM8系列,C语言使用COSMIC,因此我们还需要对使用的Toolchain进行选择。
下一步我们要选择工程使用的MCU型号。
在对话框中我们可以看到当选中一个MCU型号,在右边的工具列表清单中会显示调试工具支持状态,绿色表示工具可以支持,灰色表示不支持。这里仅是提供调试或仿真支持,不表示编程支持,具体编程支持需要通过STVP编程软件确认。
这样一个最小的应用工程模版STVD就帮我们自动产生了。
IDE界面右边的项目目录树中,我们可以看到STVD对工程自动增加了两个文件,一个是main.c文件,一个是stm8_interrupt_vector.c文件。后者提供了STM8所有的中断入口函数的地址表,以及用于各种不同类型外设中断函数名称申明。
在stm8_interrupt_vector.c文件中,我们可以看到除去Reset向量外其它中断向量的入口均是统一使用void NonHandledInterrupt (void)函数。对于正常的使用我们还是需要重新跟改中断函数入库函数名称。
对于中断函数的入口修改:
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”来修改项目配置
在项目设定对话框中,我们可以对汇编编译器、C编译器、连接器的配置做修改。
当写好一个程序需要进入调试时,我们可以通过STVD菜单栏的“Debug Instrument” 来选择使用何种调试工具。这里我们使用Rlink,SWIM接口。Simulator是指软仿真功能。
Tip:
1、项目编译默认存在Release、Debug两种选择。如需要自行添加其它类型,可通过菜单栏“Build->Configurations…”来配置。
配置好后可通过工具栏“Project”来直接选择。
2、WorkSpace管理多个Project
直接在WorkSpace栏中通过鼠标右键打开workspace的属性,通过“Insert Project int Workspace…”可以在添加多个项目。
二、STM8S的最小硬件系统
STM8的最小硬件系统包含下列部分:
1、电源
2、时钟管理
3、复位管理
4、调试接口(SWIM)
1、电源
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周期。
使用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工程。
在弹出的“New WorkSpace”对话框中,我们可以STVD支持的集中工程模版类型。这里我们选择使用“Create workspace and project” 。
WorkSpace是Project的管理平台,允许在一个WorkSpace中出现多个Project,通过设定我们可以选择当前的活动项目。
输入当前要建立的项目名称,并且可以根据应用的需要通过“Project location”来选择更改WorkSpace存放路径。因这里介绍的例程我们需要支持的MCU平台是STM8系列,C语言使用COSMIC,因此我们还需要对使用的Toolchain进行选择。
下一步我们要选择工程使用的MCU型号。
在对话框中我们可以看到当选中一个MCU型号,在右边的工具列表清单中会显示调试工具支持状态,绿色表示工具可以支持,灰色表示不支持。这里仅是提供调试或仿真支持,不表示编程支持,具体编程支持需要通过STVP编程软件确认。
这样一个最小的应用工程模版STVD就帮我们自动产生了。
IDE界面右边的项目目录树中,我们可以看到STVD对工程自动增加了两个文件,一个是main.c文件,一个是stm8_interrupt_vector.c文件。后者提供了STM8所有的中断入口函数的地址表,以及用于各种不同类型外设中断函数名称申明。
在stm8_interrupt_vector.c文件中,我们可以看到除去Reset向量外其它中断向量的入口均是统一使用void NonHandledInterrupt (void)函数。对于正常的使用我们还是需要重新跟改中断函数入库函数名称。
对于中断函数的入口修改:
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”来修改项目配置
在项目设定对话框中,我们可以对汇编编译器、C编译器、连接器的配置做修改。
当写好一个程序需要进入调试时,我们可以通过STVD菜单栏的“Debug Instrument” 来选择使用何种调试工具。这里我们使用Rlink,SWIM接口。Simulator是指软仿真功能。
Tip:
1、项目编译默认存在Release、Debug两种选择。如需要自行添加其它类型,可通过菜单栏“Build->Configurations…”来配置。
配置好后可通过工具栏“Project”来直接选择。
2、WorkSpace管理多个Project
直接在WorkSpace栏中通过鼠标右键打开workspace的属性,通过“Insert Project int Workspace…”可以在添加多个项目。
二、STM8S的最小硬件系统
STM8的最小硬件系统包含下列部分:
1、电源
2、时钟管理
3、复位管理
4、调试接口(SWIM)
1、电源
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周期。
相关文章推荐
- STM8+开发环境、最小项目工程、最小系统
- STM8 开发环境、最小项目工程、最小系统
- ubuntu14.04系统nodejs express开发教程第一篇:环境搭建&&项目初步
- VS打开.net工程提示"无法读取项目文件"web.csproj",系统找不到指定路径"
- 房地产业务学习(06)-开发项目管理的难点分析&IT系统价值
- Java工程项目开发中异常处理的方法及系统
- Linux学习掌握(二):CentOS系统中搭建java开发环境与部署web项目
- VC2005工程常用设置&系统环境变量设置(if necessary)
- 使用XNA开发游戏第一天——配置环境&第一个XNA项目
- 系统开发项目环境
- 房地产业务学习(06)-开发项目管理的难点分析&IT系统价值 推荐
- 与金蝶公司合作开发施工企业工程项目管理系统
- vmware安装mac的maverick 10.9系统后ios7开发环境xcode 5项目的运行(run不了项目)的解决方法
- win7下安装Ubuntu系统 && 开发环境安装
- cocos2dx2.2.3+python搭建 Lua工程/开发环境,Lua生成 android项目
- 【Virtual C++ 3D游戏开发】前置知识 一 <工作环境及Win项目初窥>
- 重新搭建"灶具维修管理系统"的VB开发环境遇到的几个问题
- Qt creator工程项目移植时因环境变换造成qmake错误的解决方案 1.问题描述:移植从他机上的qt工程项目,打开时提示: Qt Creator找到了一个由其他开发环境创建的设置文件,或许
- .NetCore 开发生产环境项目前的思考&&踩坑
- 常规功能和模块自定义系统(cfcmms)—005开发环境搭建和创建项目