ucbug軟件站:安全、綠色、放心的專業(yè)下載站!首頁|最近更新|專題集合|標(biāo)簽云|站內(nèi)導(dǎo)航|加入收藏
winavr(GCC編譯器)V20100110官方最新版

winavr(GCC編譯器)V20100110官方最新版

  • 軟件大小:27.48 MB
  • 更新日期:2017-09-23
  • 軟件語言:簡體中文
  • 軟件類別:國產(chǎn)軟件
  • 軟件授權(quán):免費版
  • 評分等級:
  • 插件情況:無插件請放心使用
  • 適用平臺:WinXp,Vista,Win7,Win8
本地下載文件大?。?7.48 MB高速下載高速下載器,提速50%
軟件介紹人氣軟件相關(guān)文章下載地址

WinAVR是作為GCC編譯器使用的一套開源的開發(fā)工具的總稱,著名的開源編譯器GUN C Compiler的AVR平臺移植版。用來在Windows平臺開發(fā)Atmel AVR系列RISC微控制器,該編譯器的編譯效率極高。GCC的編譯器優(yōu)化程度可以說是目前世界上民用軟件中做的最好的,完全用ANSI(美國國家標(biāo)準(zhǔn)學(xué)會)規(guī)范寫出的超過一萬行代碼的程序。還沒有任何一種編譯器產(chǎn)生的目標(biāo)代碼能比GCC產(chǎn)生的代碼速度更快,同時它的bug數(shù)量卻也可以算作所有民用C編譯器中最少的。

WinAVR的工具包括:

1.avr-gcc:基于命令行的編譯器。
2.avr-libc:編譯器avr-gcc的庫。
3.avr-as: 匯編器。
4.avrdude:編程接口。
5.avr-gdb:調(diào)試器。
6.programmers notepad:代碼編輯器。

WinAVR 的配置與 makefile使用教程:

WinAVR 的配置與 makefile 一直是新手入門的兩個難點。我們經(jīng)過詳細(xì)的測試,推薦大家不需要作任何的配置, 并且介紹了如何用最簡單的方法創(chuàng)建自己的 makefile 文件。利用本文,十來分鐘你就能入門 WinAVR /GCC.

首先: 安裝光盤中的:avr應(yīng)用/avr開發(fā)工具/WinAVR-20050214.exe軟件安裝好后,你就能在電腦上看到如下的功能菜單:

WinAVR中文版下載

說明如下:

名稱 說明
Programmers Notepad GCC語言編輯器??商峁?yīng)用程序接口。
Mfile GCC需要一個叫 makefile 的參數(shù)文件才能進(jìn)行編譯。Mfile 是一個工具,可以讓用戶方便地修改 makefile 上的參數(shù)。不過我們不推薦使用它。我們推薦直接用記事本打開 makefile 進(jìn)行編輯。
AVR Insight  仿真調(diào)試工具
TkInfo GNU的超文本瀏覽器
Uninstall WinAVR 卸載 WinAVR 軟件
WinAVR User Manual WinAVR用戶手冊
GNU Maunals Online GNU的在線幫助
AVR-libc Manual AVR GCC的C語言函數(shù)庫幫助手冊

步驟一:打開 PN 工具
步驟二: 在硬盤建立一個專門存放avr文件的目錄, 例如, 我們在D:\盤新建一個AVR的目錄,注意!不要用中文目錄!也不要存在其他的有中文目錄的路徑。
在PN工具的編輯窗口中輸入下面的一個簡單的跑馬燈程序:

在PN工具的編輯窗口中輸入下面的一個簡單的跑馬燈程序:#include "avr/io.h"static void io_init(void)
{
PORTA =0xff;
DDRA =0xff;
}
void mDelay(uint16_t DelayTim)
{uint16_t i;
for(;DelayTim>0;DelayTim--)
{for(i=0;i<4000;i++)
{;}
for(i=0;i<3900;i++)
{;}
}
}
 
int main(void){
uint8_t i=0;
io_init();
while(1)
{if(++i>=8)
i=0;
PORTA=~(0x01<<i); //改為0x80>>i可改變流水燈方向mDelay(500);}
}
然后:菜單 File -->save as..把它保存在剛剛建立的d:\avr目錄下,命名為led.c

WinAVR中文版下載

回到前面點程序菜單的winavr的mfile出現(xiàn)前面的界面

WinAVR中文版下載

點擊主菜單Makefile->Main file name…即出現(xiàn)如圖2所示的對話框,通常不需要更改此選項,最終產(chǎn)生的hex文件即main.hex。

WinAVR中文版下載

接著點擊Makefile->Mcu type,設(shè)定所用單片機的型號,如圖3所示我們選擇ATmega8515為我們所用的型號。

WinAVR中文版下載

點擊:Make-->Debug Format:可選擇輸出的調(diào)試文件格式,應(yīng)選擇最后一項:ELF/DRARF-2(AVR Studio ELF,GDB[experimental] ),這樣可以由產(chǎn)生供AVR studio 4以上版本調(diào)試用的ELF格式的文件。
 點擊:Make-->C/C++ Source Files……出現(xiàn)選擇文件名的對話框,如圖4所示,請用“Choose file…”鈕選擇你所要編譯的文件,注意,一定要將Include main.c前面的勾去掉,除非你的確有一個名為main.c的文件。

WinAVR中文版下載

圖4 選擇主文件

其他的項一般可以不必改動。

 更改后用File-->Save as…將該makefile文件保存至剛才所建文件夾d:\avr中。

編譯 (Make All):
回到Programmer Notepads中,點擊:Tools->Make All,即可對該文件進(jìn)行編譯、鏈接等處理,有關(guān)信息在output窗口中呈現(xiàn)。如有錯誤,單擊錯誤行,即可定位,以便對此進(jìn)行修改,直到編譯、鏈接完全正確為止。此時,output窗口顯示:> Process Exit Code: 0 (否則程序有問題請檢查)

WinAVR中文版下載

燒寫程序/演示
連接好XL2000或者xl600單片機實驗儀,,鎖緊座上放入一片ATmega8515L或Atmega8515,開啟電源,  運行XLISP軟件, XLISP軟件中選擇相應(yīng)的芯片型號,器件配置選項中按 圖6 設(shè)置

WinAVR中文版下載

按照上圖選擇:單片機工作在內(nèi)部時鐘8MHZ

注意:熔絲位配置錯誤將會鎖死芯片導(dǎo)致再編程失敗。

加載編譯的文件main.hex   燒寫程序,正常即可觀查到流水燈效果!

特別注意!由于51單片機和AVR單片機的復(fù)位信號相反,而XL600/XL2000主要設(shè)計為51單片機使用,為此,如果按XL600/XL2000的復(fù)位鍵后,則停止運行,按下不動,才重新運行。初學(xué)者請注意!另外由于軟件設(shè)計的原因可能要點兩次智能一鍵通,才能正常的下載。

WinAVR優(yōu)點

1.目標(biāo)代碼效率極高;(同樣功能的程序,經(jīng)由GCC 編譯后的目標(biāo)代碼,通常比CVAVR的代碼短20%-50%,且運行速度更快)
2.GCC的代碼可讀性和可移植性最高;(為全球最大的自由軟件開發(fā)組織的首選開發(fā)工具,GCC是C語言事實上的工業(yè)標(biāo)準(zhǔn),所以用GCC編制的程序,幾乎完全不必考慮移植性問題)
3.WinAVR是公開源代碼的自由軟件于有大量的高手參與它的開發(fā),所以無論是GCC本身,還是與GCC 配套的AVR 編譯包,其更新速度和效率都是其它開發(fā)工具(accavr,avr studio)所遠(yuǎn)不能比擬的;

常見問題

1、AVRGCC不能像CVAVR或ICCAVR那樣把特殊I/O口當(dāng)變量來用,怎么辦?
其實,使用 AVRGCC 的 inp(port) 和 outp(data,port) 宏就是最好的方法,但如果真的需要延續(xù)以往的使用方式,也可以照以下方式辦理:#define dPORTA (*(unsigned char *)(PORTA + 0x20))。如此,就定義了一個 dPORTA 的偽變量,可以直接用于表達(dá)式中,并且用此種方式也可以實現(xiàn)類似 C51 中的 sfr 變量類型……
2、AVRGCC 不能編譯帶浮點函數(shù)的程序,怎么辦?
很簡單,在工程所在目錄的makefile文件中,把LDFLAGS=項目最后加上 .-lm就可以了……
3、怎么改變目標(biāo)程序的優(yōu)化方式?
在makefile文件的CPFLAGS=行中,加入-Ox(x=1,2,3,s)就可以了,如果已經(jīng)有了-O的項目,就改變現(xiàn)有的,1~3 代表優(yōu)化方式,s代表按代碼長度優(yōu)化……
4、AVRGCC 能不能為 AT90S1200、ATTiny 系列進(jìn)行 C 語言編程?
答案是肯定的!首先,需要在 makefile 的項目中,把MCU=后面的內(nèi)容改成avr2其次,需要在程序所在的 c 文件中,把#include 改成#include ,#include如此,即可以直接將編譯后的代碼用于該兩類MCU上,不過,還需要注意的是,由于該兩類 MCU 沒有軟件堆棧和 RAM,所以,程序中*禁止*使用全局變量、局部靜態(tài)變量以及中斷處理以外的函數(shù)(其實在 GCC 中,中斷處理程序叫做“信號”,不叫函數(shù)),并且,在中斷處理過程中,最好不要開放中斷,否則會引起數(shù)據(jù)錯誤并非不可以,但需要一些技巧)。

下載地址

winavr(GCC編譯器)V20100110官方最新版

高速下載器地址:

有問題?不能下載,
下載周排行下載總排行