新聞中心

WinAVR(GCC)快速入門

作者: 時間:2016-11-23 來源:網(wǎng)絡(luò) 收藏
導(dǎo)讀:開發(fā)avr單片機,我們以avr 8515芯片為例子,來介紹它的使用方法,希望對感興趣的朋友有所幫助。

本文引用地址:http://www.2s4d.com/article/201611/320354.htm

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

首先:下載安裝WinAVR-20050214.exe軟件安裝好后(現(xiàn)在查閱最新的版本是07年的,即2007xxxx),你就能在電腦上看到如下的功能菜單:

說明如下:

名稱

說明

Programmers Notepad

GCC語言編輯器。可提供應(yīng)用程序接口。

Mfile

GCC需要一個叫 makefile 的參數(shù)文件才能進行編譯。Mfile 是一個工具,可以讓用戶方便地修改 makefile 上的參數(shù)。不過我們不推薦使用它。我們推薦直接用記事本打開 makefile 進行編輯。

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可改變流水燈方向mDelay(500);}
}
然后:菜單 File -->save as..把它保存在剛剛建立的d:avr目錄下,命名為led.c

 

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

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

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

點擊: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的文件。

圖4 選擇主文件

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

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

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

燒寫程序/演示
用下載線連接好目標(biāo)板上的ATmega8515L或Atmega8515,開啟電源 , 運行下載軟件,如小馬或者XLISP軟件, XLISP軟件中選擇相應(yīng)的芯片型號,器件配置選項中按 圖6 設(shè)置

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

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

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

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

附表:Atmega8515/L的熔絲配置說明(詳細(xì)資料請參考官方Datasheet)
表1.時鐘源選擇


默認(rèn)時鐘源:
芯片在出廠時CKSEL = “0001”, SUT = “10”。默認(rèn)時鐘源為有最長啟動時間的內(nèi)部RC振蕩器(頻率1M)。默認(rèn)設(shè)置可以保證用戶通過系統(tǒng)內(nèi)或并行編程得到他們期望的時鐘源。

標(biāo)定的片內(nèi)RC 振蕩器提供了固定的1.0、2.0、4.0 或8.0 MHz 的時鐘。這些頻率都是5V、25°C 下的標(biāo)稱數(shù)值。這個時鐘也可以作為系統(tǒng)時鐘,只要按照表2 對熔絲位CKSEL進行編程即可。
表2. 片內(nèi)標(biāo)定的RC 振蕩器工作模式




關(guān)鍵詞: WinAVRGCC快速入

評論


技術(shù)專區(qū)

關(guān)閉