WinAVR新手必讀
請從Atmel官方獲得最新版本的AVRStudio(此帖發(fā)表時所能獲得的為4.13及其ServicePack1)
http://www.atmel.com/dyn/products/tools_card.asp?tool_id=2725
請從WinAVR官方獲得最新版本的WinAVR(此帖發(fā)表時所能獲得的為WinAVR-20070525)
http://sourceforge.net/project/showfiles.php?group_id=68108
也可以在http://sourceforge.net主頁上搜索WinAVR
注意:WinAVR和AVRStudio是2個不同的軟件,前者是開源項目,不屬于Atmel所有,后者是Atmel版權所有的。
2.安裝步驟
1)安裝WinAVR
2)安裝AVRStudio
3)安裝AVRStudio的ServicePack(如果有的話)
3.新建測試工程
1)啟動AVRStudio
2)選擇"NewProject"
3)"Projecttype"里選擇"AVRGCC",單擊"Location"旁的按鈕,選擇工程保存位置(這里假設為C:),避 免路徑中有中文,
在"Projectname:"里填入工程名test01,把"Createinitialfile"的鉤去除, 把"Createfolder"鉤上,
單擊"Next>>"
4)"Debugplatform:"里選擇"AVRSimulator","Device:"里選擇"Atmega128",單 擊"Finish"
5)菜單File->NewFile,建立空白文檔,復制以下代碼到該文檔中(注意:最后一個“}”下面還有一個空行):
#include"avr/io.h"
intmain(void)
{
while(1);
}
6)菜單File->Save,在“另存為”對話框里選擇工程保存的路徑下工程名命名的文件夾下(這里假設為C: est01),
你會看到已經(jīng)有一個test01.aps文件存在了,那是AVRStudio的工程文件。“文件名”里填入“main.c”,保存。
7)在"AVRGCC"工程管理窗格內的"SourceFiles"上單擊右鍵,右鍵菜單里選 擇"AddExistingSourceFile(s)...",
在"AddSourceFile"里選擇剛剛建立的main.c文件。會看到工程管理窗格內的"SourceFiles"下多了個 main.c文件。
8)菜單Project->ConfigurationOprions,在"General"下(默認就是),確 認"UseExternalMakeFile"沒有鉤上,
"Frequency:"填入頻率“8000000”,"Optimiztion"選擇"-00",確 認"CreateHexFile"已經(jīng)鉤上,
然后單擊確定(請勿修改其它設置)
9)菜單Build->ReBuildAll,編譯工程。如果操作正確,應該沒有警告和錯誤。
10)菜單Debug->StartDebugging,順利的話,軟件仿真已經(jīng)啟動。
11)至此,測試工程已成功。可以在工程保存目錄下看到一個default文件夾,打開后有test01.elf(AVRStudio的支持 的仿真調試文件格式之一),
test01.hex(燒寫時要用的文件)
4.給新手的建議:
如果書中/資料中以命令行方式編譯文件,請?zhí)^這些例子中的命令行操作,改為用AVRStudio新建工程來編譯。
如果有Makefile方面的講解,也請?zhí)^。因為這些講解可能太過于簡略,而難以理解。
1)不要去用WinAVR帶的mfile所產(chǎn)生的Makefile文件,只使用AVRStudio菜單 Project->ConfigurationOprions來配置工程,
(不要鉤上"UseExternalMakeFile")
2)工程保存路徑中不要有中文名,即只在英文名文件夾下(包括其上各級文件夾也是英文)
3)始終使用Build->ReBuildAll,編譯工程
4)新建工程時,工程名不要用Makefile(不論何種大小寫組合)
5)新建工程時,不要鉤上"Createinitialfile"
6)不要修改"OutputFile"里的文件名
7)現(xiàn)在,中斷程序是以ISR(...)方式聲明的,書和資料可能落后于WinAVR的更改,
請隨時通過開始菜單里WinAVR下的avr-libcManual[WinAVR]查看目前WinAVR的各種函數(shù)和頭文件說明
5.進一步學習:
當你比較熟悉用AVRStudio完成你的工程編譯過程后,可以考慮學習Makefile:
《一步一步學寫makefile》http://blog.csdn.net/Jiangfriend/archive/2007/06 /27/1669206.aspx
評論