當前位置:首頁 » 編程軟體 » iar編譯器

iar編譯器

發布時間: 2022-01-08 19:28:18

① 如何查看IAR編譯器編譯後的匯編代碼,我想知道這個編譯器是如何處理中斷的

編輯界面右擊工程點擊options菜單項,選擇c/c++ compiler選項卡中的list選項,勾選output assembler files,編譯後則生成離線匯編代碼文件。
調試界面下,點擊view / disassembly 菜單項,則顯示在線匯編代碼窗口。

② IAR 編譯器的相關問題(MSP 430 5438)

"+ 114 bytes shared"或linking後的"+ 114 bytes absolute"指的是您在程序中有144bytes 使用@ operator 或 #pragma location=operator 或__no_init volatile語法定義的數據。也可以說是可以在匯編中定義的數據。舉例:P1OUT在430頭文件中就用到了上述語法,當您讀寫P1OUT時,編譯器和鏈接器就認為您使用了一個上述sahred/absolute數據。
編譯器和鏈接器並不能真正地辨認出什麼是RAM什麼是Flash,它們使用DATA(沒有指定固定的數據)和CONST/CODE(有指定固定的數據)概念來工作。
特意咨詢了IAR員工,答對給分啊!

③ 准備使用stm8,編譯器用IAR還是COSMIC好

悲劇的STVD,感覺要比STM32的keil差很多埃從stm32退步到stm8,我有種找不到北的感覺,雖然都是ST公司的產品,但是差好多埃編譯器到底是用STVD還是用IAR啊? 哎,經過一番掙扎,我看還是去IAR那吧。

④ 單片機編程,不用跳轉的子程序,IAR編譯器,mega128

1.有一種關鍵字叫inline,雖然我不用IAR,但是我想常規的編譯器都會支持這種功能,當inline出現在函數聲明前面的時候,編譯器會將這個函數在調用處自動展開
2.你說的循環10遍的問題,有一種編譯優化叫循環展開,即將小於一定循環次數的循環操作直接像你所說的依次執行,而不是通常循環指令,這個操作要結合編譯器手冊看具體使用說明了,所以你還是要研究一下IAR的編譯優化,看過這塊,你的問題應該得到解決

⑤ keil和iar 編譯器分別是什麼

這兩個本事就是編譯器啊

⑥ 求助!在IAR環境下編譯程序時總是編譯不對!

看看是不是開了另外一個窗口在debugging,如果有的話點擊stop debugging(紅色按鈕)

就好了

⑦ Codewarrior、IAR和Keil是常見的編譯軟體,所用編譯器分別是什麼哪個編譯器更優秀啊

優秀不優秀,每個人的側重點不同,無法一概而論。
其中CodeWarrior和IAR針對的單片機種類較多,適用面較廣。Keil相對來說狹窄一些,主要面向51/251/166以及部分ARM平台(7、9、Mx/R4)。
至於編譯器的效率方面這幾方總在打嘴仗,也很難說清楚誰的編譯器效率更高(因為要取決於具體的應用和源程序的書寫)。就我來看對於普通用戶而言其實差別不是那麼明顯的。
從易用性和體驗來說,個人覺得CodeWarrior > IAR > Keil。這個是跟每個人的編程/調試習慣和調試需求有關系的。

⑧ 可以用IAR給Arino寫程序嗎

一. Proteus模擬平台簡介

Proteus軟體是英國Labcenter electronics公司出版的EDA工具軟體(該軟體中國總代理為廣州風標電子技術有限公司)。它不僅具有其它EDA工具軟體的模擬功能,還能模擬單片機及外圍器件。它是目前最好的模擬單片機及外圍器件的工具。現已受到電子類特別是單片機愛好者、從事單片機教學的教師、致力於單片機開發應用等的科技工作者的青睞。以前的如EWB等軟體只能模擬數字電路和模擬電路,不能模擬CPU和程序。

當前網上Proteus有7.8 SP2,7.10 SP0,8.0等幾個版本,這幾個JM的版本都比較穩定。這些版本的元件模型格式是兼容的,DSN模擬原理文件是一樣的。8.0版本只是把DSN原理圖、軟體編輯環境和編譯器集成為一個工程文件,成為一個象「傻瓜相機」一樣的東西,但對初學Proteus者比較方便,因為內部已經集成了程序編輯器和可下載不同的編譯器。

7.xx版本,DSN模擬原理、編輯器和編譯器三者是獨立的。而8.0版本是集成的。8.0版本在多CPU模擬時,設置不太容易;集成後軟體有點大,不如7.xx版本簡潔。

二. 開發三步曲

  • 編輯器
    用戶選擇用自己的喜歡的編輯器(如Notepad++,Utraedit,Source Insight,vim,slickedit,notepad等),用此寫源程序。

  • C/C++編譯器
    用戶按CPU型號選擇自己喜歡的C/C++編譯器(如Winavr,CodeSourcery,Keil,IAR,WinARM,Watcom等等),一般的編譯器都可以生成標準的.hex,和.elf格式的可執行目標文件。 Arino IDE實際使用的是Winavr中的gcc。用此把第一步寫的源程序編譯成.hex和.elf文件。

  • 硬體模擬圖
    Proteus中的Model下有元件模擬庫,用戶使用這些模擬元件,設計出自己的硬體模擬原理圖,也叫.dsn文件。在Proteus環境下,用自己設計的.dsn文件,在CPU中載入第二步生成的.hex或.elf文件,就可以模擬運行了。.elf文件內部包含調試信息,可以單步、設置斷點調試程序。

  • 三. Arino UNO硬體模擬原理圖

    本模擬電路圖(HW目錄下Arino UNO.dsn文件)可以模擬Arino Diecimila,或Arino UNO板。前者採用FT232晶元做為串列通信模塊,後都採用ATMEGA16U2微處理器代替了FT232,它們都是在USB上實現一個非同步串列通信的功能。我們在模擬中,採用了Proteus中的串列口物理介面模型COMPIM,COMPIM完全可以代替串列通信的功能,它實現了與實際PC機物理串列介面RS232的連接,使模擬的虛擬世界與真實的世界連接。


    圖5-選擇preferences.txt

  • 用編輯器打開偏好設置文件preferences.txt

    【1】.在arino工具的File->preferences中找到preferences.txt文件,用記事本打開。
    【2】.在preferences.txt文件的最後加一行,編輯加入 build.path=d:MyHexDir,目錄名自己定。為了觀察方便,(本人設置是build.path=d:###ArinoDbgDir )。
    【3】先關閉Arino IDE;
    【4】之後保存preferences.txt;
    以上順序不要變。這樣就可以在Arino編譯時,看到d:MyHexDir目標下的目標文件,而不會自動刪除。

  • 4. 編譯
    (1)雙擊SWBlink目錄下的源文件Blink.ino,自動打開Arino IDE。
    (2)點擊Sketch->Verify/Compile編譯生成目標文件,目標文件在d:MyHexDir下(本人的在d:###ArinoDbgDir目錄下 )。
    (3)點擊CP.bat,會把.hex和.elf文件復制更新到當前.ino所在目錄下。可以自己編輯CP.bat文件,改變目錄。
    (4)在Proteus中設置好一次.hex或.elf文件的位置就可以,以後更新.hex或.elf文件時,自動認為已經載入最新的。

    五. 第一個Hello World程序模擬運行

    Hello World程序就是在計算機屏幕上顯示「Hello,World!」的一個程序,在嵌入式系統開發中,LED的閃爍程序就是Hello World程序,Hello World程序很簡約,一般它是程序員在新的開發環境中第一個要運行的程序,但是簡約並不簡單。

    雖然Hello World程序很簡約,但是,為了這個簡約的程序能夠運行,需要進行開發工具鏈的選擇、配置開發工具鏈,這需要大量繁瑣的工作要做。Hello World程序能否運行,可以驗證你的編譯、開發環境、運行環境是否正確。

    第一個程序Blink.ino如下:

  • ///0. 引腳定義

  • #define LED_PIN 13 //定義LED引腳為13號數據引腳(DIG13)


  • ///1. 初始化

  • void setup() {

  • pinMode(LED_PIN,OUTPUT); // 初始化DIG13為輸出

  • }


  • ///2. 循環

  • void loop() {

  • digitalWrite(LED_PIN,HIGH); //DIG13輸出高電平

  • delay(1000); //延時1秒

  • digitalWrite(LED_PIN,LOW); //DIG13輸出低電平

  • delay(1000); //延時1秒

  • }

  • (1)用Arino IDE打開Blink.ino,編譯之;
    (2)在d:MyHexDir目錄下會生成.hex和.elf文件等;
    (3)點擊.ino所在目錄下的CP.bat, 本目錄多了兩個文件.hex和.elf;
    (4)用Proteus打開HWArino UNO.dsn,雙擊Atmga 328P微處理器,在Program file項中選擇上邊SWBlinkBlink.hex文件,或Blink.elf文件,若載入Blink.elf文件,則可以單步或設置斷點調試;
    (5)在Proteus中點擊左下角運行模擬,如果圖1中的LED小燈閃爍,則你的模擬運行環境設置正確。

⑨ 在IAR中編譯程序後,IAR編譯器完全沒有反應,沒有任何錯誤提示。這是怎麼回事啊

1,你的IAR版本是多少,主要針對哪款ARM或MSP430,我的是iar embedded workbench for ARM 5.41
2,BUILD的窗口沒有打開,通過"view"打開。
3,我的輸出窗口:Total number of errors: 0
Total number of warnings: 28

熱點內容
副武器腳本 發布:2024-09-21 05:37:30 瀏覽:126
隱藏頻道密碼是多少 發布:2024-09-21 05:32:21 瀏覽:121
觸動精靈腳本製作教程 發布:2024-09-21 05:13:14 瀏覽:399
自己編譯autojs 發布:2024-09-21 05:09:40 瀏覽:358
我的世界電腦版無政府伺服器 發布:2024-09-21 04:55:36 瀏覽:836
時間伺服器和筆記本電腦同步 發布:2024-09-21 04:48:04 瀏覽:762
無許可權訪問工作組的計算機 發布:2024-09-21 04:26:31 瀏覽:476
為什麼ipad需要密碼解鎖 發布:2024-09-21 04:06:22 瀏覽:211
mariadb存儲過程 發布:2024-09-21 03:56:05 瀏覽:515
壓縮殼脫殼機 發布:2024-09-21 03:14:33 瀏覽:94