免费软件,Cosmic 公司(Cosmic Software Inc.)的Cosmic STM8编译器(Cosmic C compiler)及全套嵌入开发工具支持STM8系列产品的开发。Cosmic产品包括C 交叉编译器、汇编、连接器、ANSI库、
仿真器、硬件调试器和易于使用的集成开发环境(IDEA)。
Cosmic 公司提供了16K 和32K 代码大小限制的全功能的免费软件。
此软件主要是应用于STM8的开发任务。
怎么安装:
安装cxstm8_32k.exe到您的计算机上.
解压CXSTM8_32k_patch.zip, 运行CXSTM8_32k_patch.exe,找到...COSMIC\CXSTM8_32K安装目录。
常见问题:
问题:
当C compiler中的memory models选择long stack(modsl0)并且linker中的start-up file选择crtsi0.sm8的时候,编译是没有问题的,程序最大长度可以到32k;但是C compiler中的memory models选择long stack(modsl)并且linker中的start-up file选择crtsi.sm8的时候,编译出现问题,如下:
#error clnk Debug\kln.lkf:1 symbol f__stext not defined (Debug\stm8_interrupt_vector.o )
The command: "clnk -l"C:\Program Files\COSMIC\CXSTM8\Lib" -o Debug\kln.sm8 -mDebug\kln.map Debug\kln.lkf " has failed, the returned value is: 1
exit code=1.
个人感觉是找不到f__stext,所以说如果要编译大于32k的程序的时候还是不行,请楼猪和各位帮忙解决一下。
STM8系列的性价比还是蛮高的,可惜是没有免费的编译器,我在公司有个硬件狗,据说要1000多dollar,所以阿……,为了普及,靠大家了^_^
解决:
你用的是STVD自动生成的stm8_interrupt_vector.c文件,在使用modsl模式编译时,你须将extern void _stext(); /* startup routine */ 这句修改为extern @near void _stext(); /* startup routine */ 需要增加@near 关键字。请修改后再试。
问题已经解决了,中断文件改为
typedef void @far(*interrupt_handler_t)(void);
struct interrupt_vector
{
unsigned char interrupt_instruction;
interrupt_handler_t interrupt_handler;
};
@near void _stext(); /* startup routine */
大家注意一下,程序大于32k后,要把const数据,main还有中断函数等定位到32k(地址64k)以内,不然程序会跑飞,
而且编译链接的时候也不会报错,我就被黑了一下。






















大小: 80.8M
大小: 450M
JDK 8(Java SE Development Kit)8u291 64位版
Keil C51V9.00 uVision4破解版
Java SE Development Kit(JDK6)6u43 多国语言版
易语言33个皮肤模块绿色版
STC单片机ISP下载编程软件v6.85i 官方最新版
易语言5.90精简版
lingoV14.0 绿色中文版
AutoIt(AU3)v3.3.14.2 汉化版
派森(Python)v2.7.18 官方正式版【x86|x64】
jdk99.0.4 官方最新版
VBScript编辑器(VbsEdit)V5.2.4.0 汉化绿色特别版
Delphi77.0 Build 8.1企业版龙卷风集成Update1
pyscripter x642.5.3 官方最新版
Delphi 7(集成控件)v7.0Build8.1企业版龙卷风集成Update1
visual studio emulator for androidv1.1.622 官方最新版
Python编程和调试工具(ActivePython)v3.6.0.3600 英文版
UML建模软件(ArgoUML)v0.34 免费版
html5编程工具(LayaAir IDE)2.7.0 官方最新版
《派森》(Python)3.6.5 win32 英文安装版