st编译器
① 编译器的实现
.begin
.org 2048
main: ld [a],%r1
!if (a==2)
subcc %r1,2,%r0
bne else
sll %r1,2,%r1
ba done
!false c=a/2
else: srl %r1,1,%r1
done:st %r1,[c]
halt
a:2
c:0
.end
② stm32 用什么编译器好
应该IAR好很多。
同样的ucosII本家的移植代码Micrium-ST-uCOS-II-LCD-STM32,
用里面自带的keil工程和IAR工程编译,
都设置为最大尺寸优化,
keil的编译结果:
Program Size: Code=27562 RO-data=4870 RW-data=196 ZI-data=9240
FLASF占用:Code+RO-data+RW-data = 27562 +4870 +196 = 32628字节
RAM占用:RW-data+ZI-data = 196 + 9240 = 9436字节
IAR的编译结果:
13 730 bytes of readonly code memory
5 618 bytes of readonly data memory
8 636 bytes of readwrite data memory
FLASF占用:13 730 + 5 618 = 19348字节
RAM占用:8 636字节
KEIL比IAR占用FLASH多:32628- 19348 = 13280字节
③ 如何通过STVD编译器看自己的代码量
1. 将附件压缩包中的mapinfo.exe解压并解压到stvd的\安装路径\STMicroelectronics\st_toolset\stvd中
2. 用stvd打开你的工程文件,在工程上点右键选settings...
3. 右侧的选项卡选择Linker,将category的下拉框选成output,然后在Generate Map file前打勾
4. 再将选项卡上选择到Post-Build,在下方文本框中新粘贴一行内容 mapinfo $(OutputPath)$(TargetSName).map
5. 点OK按键确定,菜单File->save workspace,保存工程
6. 重新编译下,你就能看到flash,ram,eeprom占用字节数了
④ 如何使用ST Visual Develop开发工具建立工程
使用ST Visual Develop开发工具建立工程方法:
在菜单File —>New Workspace,在New Workspace窗口里选择Create workspace and projects,点击“确定”建立工程
在Workspace filename输入Workspace名称,在Workspace设置文件当前要存放的路径。点“OK”进入下一步。
在Projectfilename里输入工程项目名称,在Projectlocation里设置工程项目的存放路径。在Toolchain里要选择STM8 Cosmic 编译器(C语言开发);在Toolchainroot里设置Cosmic的存放路径。
在MCU Selection里,选择实际的MCU型号,双击型号后,点击OK。建立好工程项目后,会自动生成main.c和stm8_interrupt_vector.c 文件。
⑤ 写的是自动报时的C语言文件,编译的时候总是说st没有申明,怎么回事
确实没声明嘛,你在上面声明定义一下
理论上应该是这样的
SYSTEMTIME st;
⑥ 1的右上角加上ST符号怎么打
可在word文档中完成输入,具体步骤如下:
1、在空白wod文档中输入“1st”符号。
⑦ windows API函数里,函数有fun 和 _tfun两种形式,结构体有st和_st两种形式,到底有什么用啊
_t打头的这些函数实际上大多数是些宏而已,比如为了兼容UNICODE和ASCII
会用类似这样的预处理:
#ifdef UNICODE
#define _tfun funW //funW()是UNICODE版本的
#else
#define _tfun fun //fun()是ASCII版本的
#endif
这样一来,就不用考虑该用funW还是fun,一律使用_tfun,编译器会根据UNICODE宏是否定义,把_tfun替换为实际的函数
⑧ iar编译器在options选择卡里无法选择cortex-m4和st stm32f4xxx
兄弟点这个钮,如果还没有,去License manager更新LIB
⑨ 准备使用stm8,编译器用IAR还是COSMIC好
悲剧的STVD,感觉要比STM32的keil差很多埃从stm32退步到stm8,我有种找不到北的感觉,虽然都是ST公司的产品,但是差好多埃编译器到底是用STVD还是用IAR啊? 哎,经过一番挣扎,我看还是去IAR那吧。
⑩ STMicroelectronics 什么软件
纽伦堡,德国,2006年2月14日 —— IAR Systems于今日发布了其ARM系列调试工具中的下一代产品:硬件调试设备IAR J-Trace?。它支持所有带ETM (Embedded Trace Macrocell) 的ARM7和ARM9处理器,通过全速USB 2.0接口与主机连接,并提供2M字节的Trace缓存。IAR Systems带有C/C++编译器和调试工具的集成开发环境——IAR Embedded Workbench? for ARM,能够完全支持IAR J-Trace。通过独立的JTAG接口,IAR J-Trace同样也能够作为一台标准的JTAG仿真器使用;零售价仅为1195美元或995欧元。全球的ARM开发者如今能够以可接受的价格获得完整的ARM开发套件(包含先进的Trace功能)。
为所有ARM开发者带来益处
IAR Systems为所有使用ARM MCU的开发者提供业界领先的集成开发环境:IAR Embedded Workbench for ARM;它带有高度优化的C/C++编译器和先进的C-SPY?调试器。此外,JTAG硬件调试工具IAR J-Link也帮助成千上万的开发者解决了在使用ARM MCU进行开发过程中的许多问题,使得用户能够在IAR Embedded Workbench for ARM软件中进行全面的开发和调试。通过IAR J-Trace的发布,IAR Systems如今以极具吸引力的价格,为所有使用带ETM的ARM MCU的开发者提供更先进的高端调试设备。IAR J-Trace在Windows中完全即插即用,并且使得C-SPY调试器通过利用IAR J-Trace中2M字节的Trace缓存,具备了专门的Trace调试功能。由于也带有标准JTAG接口,IAR J-Trace对于绝大多数开发者而言都可以是唯一需要的ARM硬件调试设备。
良好的业界评价
IAR Embedded Workbench for ARM为数百种ARM处理器提供详细的芯片级支持(包括Analog Devices,Atmel,Freescale,Micronas,Oki Semiconctor,Philips,STMicroelectronics以及许多其它厂商的ARM处理器);此外也为大多数常用的RTOS提供内核调试插件。通过IAR J-Trace的加入,IAR Systems无疑将为ARM处理器提供最为灵活、全面和紧凑的集成开发解决方案。
“IAR J-Trace使得IAR Systems为ARM开发者提供的工具链更为完整”, STMicroelectronics的微控制器开发工具经理Dominique Jugnon说,“IAR Systems 如今能够为我们所有不同种类的STR ARM微控制器用户提供完美的服务。”
“IAR J-Trace对于我们的汽车客户来说将会极有价值。在这一价位提供的功能允许大多数开发者方便地使用先进的Trace调试方案,提高开发质量”,Micronas的汽车产品应用经理Gualtiero Bagnuoli认为。
Mike Skrtic,IAR Systems的开发套件经理补充道:“毫无疑问,该产品的发布将给ARM硬件调试工具市场带来改变”。他总结道:“内嵌一定容量Flash Memory的ARM处理器的使用者现在有了一个完整的高端开发工具解决方案:IAR Embedded Workbench for ARM BaseLine版本,一块开发板以及IAR J-Trace调试工具,总价低于4000美元!”
技术细节
? USB驱动的JTAG和Trace (38-pin Mictor) 接口;
? 支持所有ARM7和ARM9处理器;
? 无需电源,通过USB接口供电;也带有外接电源插口;
? 集成在IAR Embedded Workbench for ARM中,易于设置和使用。
Trace规格
? Trace支持最高200 MHz全速时钟和100 MHz半速时钟
? Trace功能基于ARM ETM (Embedded Trace Macrocell)
? Trace支持带有内置Trace端口的设备
? 2M字节Trace缓存
? 体积紧凑,易于放置在桌面
? 安静,无风扇设计
? 支持cycle accurate和compressed tracing
? 支持4位 / 8位 / 16位的Trace端口,每种端口均支持全速时钟和半速时钟
?集成在IAR Embedded Workbench for ARM中,易于设置和使用
? Trace窗口与Source和Disassembly窗口同步
? Function Trace能够分层次地显示被调用的函数
常规特点
? JTAG速率12 MHz
? 自动速率识别
? USB 2.0全速(12Mbit/sec)
? 基于RTCK JTAG信号的自适应时钟
? 所有信号均可监控;目标电压可测量
? 20-pin标准JTAG接口,38-pin标准Trace Mictor接口
? 含USB电缆,20-pin扁平电缆和38-pin Trace电缆
? 支持的主机操作系统:Windows 2000和Windows XP
? 与C-SPY调试器全面集成;进阶的调试功能都可以在C-SPY中使用