你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

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

[复制链接]
私奔 发布时间:2008-12-18 14:23
一、STM8开发环境
. N* G; h- q( k3 _
0 m  X5 |. g" n6 {    要使用STM8需要下载下列工具:
& X" k; {* D8 Z/ v3 `2 y    1、ST 8bit MCU通用集成开发环境 - ST Visual Develop
" Z# ~+ B: y; U( r! u5 B$ P    http://www.st.com/stonline/products/support/micro/files/st7toolset.exe  ' n. x( s, E7 u) K
    IDE包含代码编辑、汇编编译器、代码调试功能,不含C编译器。同时IDE还自带ST Visual Programer编程软件,支持主流8bit
  C( n7 u. ?* M" e( N, f       j8 }+ ^! b! K! z) [9 W
    2、COSMIC C Compiler for STM8 16K Limited ) d' K; w2 S' ~; a( ]
    
1 U  H# {) L+ d) z0 y0 y    免费的16K代码限制C编译器。
# m+ J# i9 _& n0 t, R 
6 n# F- B+ R, @/ z6 l4 h    运行ST Visual Develop(STVD) 集成开发环境,通过菜单栏Files -> New WorkSpace我们可以新建一个新的STM8工程。
新的STM8工程.jpg
赞 收藏 评论13 发布时间:2008-12-18 14:23

举报

13个回答
私奔 回答时间:2008-12-18 14:26:19

回复:STM8 开发环境、最小项目工程、最小系统

在弹出的“New WorkSpace”对话框中,我们可以STVD支持的集中工程模版类型。这里我们选择使用“Create workspace and project” 。
工程模版类型.jpg
私奔 回答时间:2008-12-18 14:26:44

回复:STM8 开发环境、最小项目工程、最小系统

WorkSpace是Project的管理平台,允许在一个WorkSpace中出现多个Project,通过设定我们可以选择当前的活动项目。
选择当前的活动项目.jpg
私奔 回答时间:2008-12-18 14:28:17

回复:STM8 开发环境、最小项目工程、最小系统

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

回复:STM8 开发环境、最小项目工程、最小系统

 下一步我们要选择工程使用的MCU型号。
MCU型号.jpg
私奔 回答时间:2008-12-18 14:32:16

回复:STM8 开发环境、最小项目工程、最小系统

 在对话框中我们可以看到当选中一个MCU型号,在右边的工具列表清单中会显示调试工具支持状态,绿色表示工具可以支持,灰色表示不支持。这里仅是提供调试或仿真支持,不表示编程支持,具体编程支持需要通过STVP编程软件确认。
2 N9 @" G/ h) P( Q  x
$ E( l6 q6 N# T. z2 t2 g    这样一个最小的应用工程模版STVD就帮我们自动产生了。
工程模版STVD.jpg
私奔 回答时间:2008-12-18 14:42:52

回复:STM8 开发环境、最小项目工程、最小系统

    IDE界面右边的项目目录树中,我们可以看到STVD对工程自动增加了两个文件,一个是main.c文件,一个是stm8_interrupt_vector.c文件。后者提供了STM8所有的中断入口函数的地址表,以及用于各种不同类型外设中断函数名称申明。
: k; w5 H7 C( l( c: [    在stm8_interrupt_vector.c文件中,我们可以看到除去Reset向量外其它中断向量的入口均是统一使用void NonHandledInterrupt (void)函数。对于正常的使用我们还是需要重新跟改中断函数入库函数名称。
函数名称.jpg
私奔 回答时间:2008-12-18 14:50:26

回复:STM8 开发环境、最小项目工程、最小系统

   对于中断函数的入口修改: 8 g, W% W) y' @1 E0 t
    1、struct interrupt_vector const _vectab[] 指明的中断向量表,每一个类似{0x82, NonHandledInterrupt},偏移量的申明表示的都是一个中断矢量对于的中断函数名称。 . P' x* o6 n( k
    2、 中断函数的申明 @far @interrupt void NonHandledInterrupt (void) ; s- M2 h  u6 W7 N

/ i! y1 p; c! W/ c9 A) F5 X5 v( p    举例当我们需要使用I2C中断的时候,我们可以这样做: 4 d: S& S0 u$ D: n; Q
    1、申明I2C中断函数名称: - Y. f, w8 f; `8 \/ P
    在struct interrupt_vector const _vectab[]中找到I2C中断函数入口,加入I2C中断函数名称
) p+ T) ~# x" v2 M% {" O3 V    {0x82, I2C_Server_Interrupt }, /* IRQ19 - I2C (I2C interrupt) */ & J1 o0 B8 H* I- d, l- y
    2、在stm8_interrupt_vector.c文件中添加服务函数: . p; C3 A. y, ]$ a6 n7 ]% n
    @far @interrupt void I2C_Server_Interrupt (void){
. M/ m# a1 g+ w" @# [" N    ~~~~~加入中断服务代码~~~~~~ ' g: Q. q) A/ y- B' s8 b; b
        return;
) K6 ?, e- M2 E, ^8 M: y# U    }
$ U+ R6 L: a4 {5 p    3、最好在文件头上方申明外部可调用:extern void I2C_Server_Interrupt (void) ! ^$ c7 z' L% F7 S4 ?
    4、或者仅是申明函数,再定义STM8_IT.c、STM8_IT.h文件,将中断服务程序全部放置其中。 . p8 R& N$ Y& d0 S+ D+ w6 F
; r& n. ~9 `; F  t
    工程建立好以后,可以通过菜单栏“Project”->“Settings”来修改项目配置
Debug Instrument.jpg
私奔 回答时间:2008-12-18 14:51:10

回复:STM8 开发环境、最小项目工程、最小系统

Tip: 5 O; w% _+ I1 d( _: P1 \
1、项目编译默认存在Release、Debug两种选择。如需要自行添加其它类型,可通过菜单栏“Build->Configurations…”来配置。
Build Configuration.jpg
fengyupu 回答时间:2009-3-13 15:55:18

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

rf0428 回答时间:2009-6-5 00:03:16

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

wulei820527 回答时间:2009-6-14 07:02:03

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

支持楼主,太感谢了,大好人啊
stm-125039 回答时间:2009-10-14 14:17:36

回复:STM8 开发环境、最小项目工程、最小系统

kan
xusongxi 回答时间:2011-6-10 12:22:45

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

回复:STM8 开发环境、最小项目工程、最小系统

所属标签

相似技术帖

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版