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中使用