- 軟件大?。?span>8.78M
- 軟件語言:中文
- 軟件類型:國產(chǎn)軟件
- 軟件類別:修改軟件 / 編程工具
- 更新時(shí)間:2023-03-23 01:29
- 運(yùn)行環(huán)境:WinAll, WinXP, Win7, Win8
- 軟件等級(jí):
- 軟件廠商:
- 官方網(wǎng)站:http://m.siawh.com/
0KB/中文/0.0
78.55M/英文/7.5
28.13M/中文/7.5
6.22M/中文/5.0
2.35M/中文/5.0
cosmic stm8旨在以最簡(jiǎn)潔小巧的程序?yàn)槟阃瓿勺畋憬莸母黝惥幾g服務(wù),擁有眾多編譯器輔助功能,為你集成了眾多的開發(fā)環(huán)境,為你帶來不錯(cuò)的匯編效果!
stm8 32K cosmic 編譯器免費(fèi)軟件,Cosmic 公司(Cosmic Software Inc.)的Cosmic STM8編譯器(Cosmic C compiler)及全套嵌入開發(fā)工具支持STM8系列產(chǎn)品的開發(fā)。Cosmic產(chǎn)品包括C 交叉編譯器、匯編、連接器、ANSI庫、仿真器、硬件調(diào)試器和易于使用的集成開發(fā)環(huán)境(idea)。
此軟件主要是應(yīng)用于STM8的開發(fā)任務(wù)。
Cosmic 公司提供了16K 和32K 代碼大小限制的全功能的免費(fèi)軟件。
問題:
當(dāng)C compiler中的memory models選擇long stack(modsl0)并且linker中的start-up file選擇crtsi0.sm8的時(shí)候,編譯是沒有問題的,程序最大長(zhǎng)度可以到32k;但是C compiler中的memory models選擇long stack(modsl)并且linker中的start-up file選擇crtsi.sm8的時(shí)候,編譯出現(xiàn)問題,如下:
#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.
個(gè)人感覺是找不到f__stext,所以說如果要編譯大于32k的程序的時(shí)候還是不行,請(qǐng)樓豬和各位幫忙解決一下。
STM8系列的性價(jià)比還是蠻高的,可惜是沒有免費(fèi)的編譯器,我在公司有個(gè)硬件狗,據(jù)說要1000多dollar,所以阿.為了普及,靠大家了^_^
解決:
你用的是STVD自動(dòng)生成的stm8_interrupt_vector.c文件,在使用modsl模式編譯時(shí),你須將extern void _stext(); /* startup routine */ 這句修改為extern @near void _stext(); /* startup routine */ 需要增加@near 關(guān)鍵字。請(qǐng)修改后再試。
問題已經(jīng)解決了,中斷文件改為
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數(shù)據(jù),main還有中斷函數(shù)等定位到32k(地址64k)以內(nèi),不然程序會(huì)跑飛,
而且編譯鏈接的時(shí)候也不會(huì)報(bào)錯(cuò),我就被黑了一下。
安裝cxstm8_32k.exe到您的計(jì)算機(jī)上.
解壓CXSTM8_32k_patch.zip, 運(yùn)行CXSTM8_32k_patch.exe,找到...COSMIC\CXSTM8_32K安裝目錄。
請(qǐng)描述您所遇到的錯(cuò)誤,我們將盡快予以修正,謝謝!
*必填項(xiàng),請(qǐng)輸入內(nèi)容