<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > winavr gcc快速入門(mén)

winavr gcc快速入門(mén)

作者: 時(shí)間:2011-11-08 來(lái)源:網(wǎng)絡(luò ) 收藏

我們網(wǎng)站的研發(fā)部統一使用 WinAVR(即GCC)。我們會(huì )在所有的新手入門(mén)范例、應用范例中使用GCC開(kāi)發(fā)代碼。詳細原因、軟件下載及安裝方法請參考:AVR開(kāi)發(fā)軟件的選擇與安裝。

軟件安裝好后,你就能在電腦上看到如下的功能菜單:

說(shuō)明如下:

名稱(chēng)
說(shuō)明
Programmers Notepad
GCC語(yǔ)言編輯器??商峁贸绦蚪涌?。
Mfile

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

AVR Insight
仿真調試工具
TkInfo
GNU的超文本瀏覽器
Uninstall WinAVR
卸載 WinAVR 軟件
WinAVR User Manual
WinAVR 用戶(hù)手冊
GNU Maunals Online
GNU的在線(xiàn)幫助
AVR-libc Manual
AVR GCC的C語(yǔ)言函數庫幫助手冊

從上表可見(jiàn),WinAVR 的功能看來(lái)很多。但我們只推薦使用PN (Programmers Notepad )。

讓我們演示如何使用PN進(jìn)行GCC代碼的編輯、編譯。

步驟一:打開(kāi) PN 工具

步驟二: 編寫(xiě)C源代碼

菜單 File --> Open 打開(kāi)預先放在 C:avr_test 目錄下的C源文件。這個(gè)源文件來(lái)自我們的新手入門(mén)的第一個(gè)范例,文件名叫 main.c 。你可以點(diǎn)擊此處下載這個(gè)C文件壓縮包(需要解壓后才能使用,不要改名)。為了方便閱讀,我們將這個(gè)main.c 排版成彩色的網(wǎng)頁(yè)格式,你也可以直接點(diǎn)擊這里查看main.c 的具體內容。

打開(kāi)main.c 后,看到如下的界面

你可以直接編輯 main.c 。

編輯完成,保存后,我們就可以進(jìn)行下面的編譯工作。

步驟三: 準備 Makefile 文件

編譯能生成可供AVR執行的代碼、仿真調試文件等。

可能大家會(huì )奇怪,上面的main.c 代碼,沒(méi)有告訴電腦AVR芯片的型號、工作頻率等,電腦如何知道這些數據?

WinAVR/GCC 使用一個(gè)叫 Makefile 的文件,存放這些參數。在WinAVR上也有一個(gè)叫mfile的應用程序去處理這個(gè)Makefile 文件。但我們測試時(shí)發(fā)現,mfile 的缺陷很多,不好用,并且容易弄錯。我們推薦大家直接用記事本等,直接編譯這個(gè)文件。為了方便閱讀與修改,我們將最常用的內容,放到Makefile的最前面,并且作了中文注解。

你可以點(diǎn)擊此處下載這個(gè)makefile文件的壓縮包((需要解壓后才能使用,不要改名))。為了方便閱讀,我們將這個(gè)Makefile排版成彩色的網(wǎng)頁(yè)格式,你也可以直接點(diǎn)擊這里查看makefile的具體內容。

在我們的示范Makefile,會(huì )看到以下的內容。建議大家只修改:?jiǎn)纹瑱C的類(lèi)型、系統時(shí)鐘頻率、目標文件名及C源文件名這四項。大家可參考我們的示范修改:

#這是一個(gè)簡(jiǎn)單makefile,僅用于初學(xué)者使用
#修改于WINAVR20050214所生成的makefile
#簡(jiǎn)單實(shí)驗只需更改 [單片機類(lèi)型][目標文件名][C源文件名][系統時(shí)鐘頻率]即可
#修改好參數后另存到單片機程序所在目錄,然后執行[make all]命令
#生成 燒錄FLASH的*.hex,燒錄EEPROM的*.eep,調試用的*.elf 文件
#
# www.OurAVR.com

# MCU name
# 單片機類(lèi)型 參考格式是:atmega8 / at90s2313 / attiny15
MCU = atmega16

# Processor frequency.
# 系統時(shí)鐘頻率(Hz),用于生成延時(shí) _delay_us() _delay_ms() 見(jiàn)delay.h
# This will define a symbol, F_CPU, in all source code files equal to the
# processor frequency. You can then use this symbol in your source code to
# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
# automatically to create a 32-bit value in your source code.
F_CPU = 1000000

# Target file name (without extension).
# 目標文件名(即生成的.hex/.eep/.elf的文件名)
TARGET = main

# List C source files here. (C dependencies are automatically generated.)
# C源文件名(不帶路徑)
# 多個(gè)文件名間用空格隔開(kāi) 例如 SRC = file1.c file2.c file3.c
# 不需要加上 h頭文件
SRC = $(TARGET).c

#**************后面內容基本不需要修改,除非你是老手*****************************#

# Output format. (can be srec, ihex, binary)
# 輸出燒錄文件格式
FORMAT = ihex

# Optimization level, can be [0, 1, 2, 3, s].
# 優(yōu)化級別
# ...... 下面的內容此處省略 ....

將我們這個(gè)示范的 Makefile 文件,下載后拷貝到 c:avr_test 目錄中。上面我們已經(jīng)設置了ATmega16芯片,工作在1M的頻率里,主文件名叫 main.c ,只有一個(gè)文件。

步驟四:編譯 (Make All)

按下圖操作。

編譯成功后,會(huì )有如下的 Process Exit Code: 0 的信息。

如果結果不是0,表明編譯有問(wèn)題,請檢查你的 c:avr_test 目錄是否有main.c 與 Makefile 兩個(gè)文件。

編譯成功后,原來(lái)只有2個(gè)文件的目錄,現在變成了如下圖的文件清單:

重要說(shuō)明:如果你需要重新編譯一次,最好先運行一下 Make Clean ,以保證編譯不受干擾。比如你修改了 Makefile 的MCU類(lèi)型,如果你不使用 Make Clean, 就會(huì )得出錯誤的結果。

步驟五: 完成。

燒錄(ISP下載)、運行,與JTAG調試方法,請參考我們的新手入門(mén)中的有關(guān)范例。



關(guān)鍵詞: winavr gcc

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>