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

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

  • 軟件大小:27.48 MB
  • 更新日期:2017-09-23
  • 軟件語言:簡體中文
  • 軟件類別:國產(chǎn)軟件
  • 軟件授權(quán):免費(fèi)版
  • 評分等級:
  • 插件情況:無插件請放心使用
  • 適用平臺: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)生的代碼速度更快,同時(shí)它的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 一直是新手入門的兩個(gè)難點(diǎn)。我們經(jīng)過詳細(xì)的測試,推薦大家不需要作任何的配置, 并且介紹了如何用最簡單的方法創(chuàng)建自己的 makefile 文件。利用本文,十來分鐘你就能入門 WinAVR /GCC.

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

WinAVR中文版下載

說明如下:

名稱 說明
Programmers Notepad GCC語言編輯器。可提供應(yīng)用程序接口。
Mfile GCC需要一個(gè)叫 makefile 的參數(shù)文件才能進(jìn)行編譯。Mfile 是一個(gè)工具,可以讓用戶方便地修改 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 工具
步驟二: 在硬盤建立一個(gè)專門存放avr文件的目錄, 例如, 我們在D:\盤新建一個(gè)AVR的目錄,注意!不要用中文目錄!也不要存在其他的有中文目錄的路徑。
在PN工具的編輯窗口中輸入下面的一個(gè)簡單的跑馬燈程序:

在PN工具的編輯窗口中輸入下面的一個(gè)簡單的跑馬燈程序:#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中文版下載

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

WinAVR中文版下載

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

WinAVR中文版下載

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

WinAVR中文版下載

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

WinAVR中文版下載

圖4 選擇主文件

其他的項(xiàng)一般可以不必改動。

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

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

WinAVR中文版下載

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

WinAVR中文版下載

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

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

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

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

WinAVR優(yōu)點(diǎn)

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

下載地址

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

高速下載器地址:

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