




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、廣西大學(xué)電氣工程學(xué)院廣西大學(xué)電氣工程學(xué)院第第9 9章章 編譯器和集成開發(fā)環(huán)境編譯器和集成開發(fā)環(huán)境ATmega 單片機(jī)原理及應(yīng)用單片機(jī)原理及應(yīng)用 C語言教程語言教程第第9章章 編譯器和集成開發(fā)環(huán)境編譯器和集成開發(fā)環(huán)境主講:海濤主講:海濤 廣西大學(xué)電氣工程學(xué)院廣西大學(xué)電氣工程學(xué)院廣西大學(xué)電氣工程學(xué)院廣西大學(xué)電氣工程學(xué)院第第9 9章章 編譯器和集成開發(fā)環(huán)境編譯器和集成開發(fā)環(huán)境內(nèi)容提要內(nèi)容提要隨著隨著AVR單片機(jī)的日益普及,目前有多種編譯及下單片機(jī)的日益普及,目前有多種編譯及下載軟件提供對載軟件提供對AVR系列單片機(jī)的支持。在本章中,系列單片機(jī)的支持。在本章中,介紹了介紹了SL-ISP1.518和和P
2、onyProg2000兩種下載程序軟兩種下載程序軟件,詳細(xì)講解軟件的使用方法,說明如何操作軟件件,詳細(xì)講解軟件的使用方法,說明如何操作軟件進(jìn)行單片機(jī)軟件編寫下載。對于進(jìn)行單片機(jī)軟件編寫下載。對于AVR單片機(jī)的編譯單片機(jī)的編譯器也作了詳細(xì)的介紹,簡單描述了如何使用編譯器器也作了詳細(xì)的介紹,簡單描述了如何使用編譯器建立一個新工程,以及各個功能的使用方法,最后建立一個新工程,以及各個功能的使用方法,最后還介紹一些常用的單片機(jī)小工具。還介紹一些常用的單片機(jī)小工具。廣西大學(xué)電氣工程學(xué)院廣西大學(xué)電氣工程學(xué)院第第9 9章章 編譯器和集成開發(fā)環(huán)境編譯器和集成開發(fā)環(huán)境9.1 單片機(jī)程序下載及集成開發(fā)環(huán)境單片機(jī)程
3、序下載及集成開發(fā)環(huán)境 9.1.1單片機(jī)下載方式簡介單片機(jī)下載方式簡介 AVR單片機(jī)支持普通串口方式、單片機(jī)支持普通串口方式、STK500方式、方式、并口(并口(SPI)方式及)方式及USB方式等多種下載方式。方式等多種下載方式。 普通串口方式的速度快,但支持的軟件不多。普通串口方式的速度快,但支持的軟件不多。連連ATmel公司的公司的 AVR Studio 內(nèi)的內(nèi)的 AVR pro也也停止了更新。因此,普通串口方式不支持最停止了更新。因此,普通串口方式不支持最新的芯片。新的芯片。廣西大學(xué)電氣工程學(xué)院廣西大學(xué)電氣工程學(xué)院第第9 9章章 編譯器和集成開發(fā)環(huán)境編譯器和集成開發(fā)環(huán)境 STK500下載為
4、下載為ATmel公司官方推薦的下載方式。公司官方推薦的下載方式。 與并口下載方式和與并口下載方式和USB下載方式相對比,下載方式相對比,STK500具有速度快,具有速度快,AVR Studio直接支持該下載方式等直接支持該下載方式等優(yōu)點。優(yōu)點。 并且,只要并且,只要AVR studio 發(fā)布新版本,該下載方式發(fā)布新版本,該下載方式支持的器件就同步更新,不會發(fā)生不支持新器件支持的器件就同步更新,不會發(fā)生不支持新器件的情況。的情況。STK500方式也有其缺點:價格較高。方式也有其缺點:價格較高。 目前仿造目前仿造ATmel公司的公司的STK500下載線的售價也在下載線的售價也在百元以上。因此,該方
5、法不適合在教學(xué)中使用。百元以上。因此,該方法不適合在教學(xué)中使用。 廣西大學(xué)電氣工程學(xué)院廣西大學(xué)電氣工程學(xué)院第第9 9章章 編譯器和集成開發(fā)環(huán)境編譯器和集成開發(fā)環(huán)境 并口下載方式利用并口下載方式利用PC機(jī)的并口(俗稱打印口)進(jìn)行機(jī)的并口(俗稱打印口)進(jìn)行程序下載。其下載速度要明顯慢于程序下載。其下載速度要明顯慢于STK500方式。方式。 但在教學(xué)應(yīng)用中,由于選用的芯片但在教學(xué)應(yīng)用中,由于選用的芯片flash容量不大,容量不大,并且對下載速度要求不高,并口下載線是一個很好并且對下載速度要求不高,并口下載線是一個很好的選擇。較之串口下載方式和的選擇。較之串口下載方式和STK500下載方式,下載方式,
6、并口下載線成本低,有較多軟件支持,適合大范圍并口下載線成本低,有較多軟件支持,適合大范圍推廣。推廣。 并口下載線的制作方法有很多,讀者可以在網(wǎng)絡(luò)上并口下載線的制作方法有很多,讀者可以在網(wǎng)絡(luò)上下載到多個版本的原理圖。這里,推薦一種簡單實下載到多個版本的原理圖。這里,推薦一種簡單實用的接線方式,其原理圖如圖用的接線方式,其原理圖如圖9.1所示:所示:廣西大學(xué)電氣工程學(xué)院廣西大學(xué)電氣工程學(xué)院第第9 9章章 編譯器和集成開發(fā)環(huán)境編譯器和集成開發(fā)環(huán)境圖圖9.1 并口下載線原理圖并口下載線原理圖123456ABCD654321DCBATitleNumberRevisionSizeBDate:6-Jul-2
7、007 Sheet of File:F:ATmega 單片機(jī)C語言教程 編書ATmega 單片機(jī)編書ATmag圖第9章下載線3.DDBDrawn By:11421531641751861972082192210231124122513J1DB25123456J1CON1GNDRESMOSIMISOSCKVCCSCKMOSIRESMISOD1A02A13A24A35A46A57A68A79B018B117B216B315B414B513B612B711E19DIR1GND10VCC2074ALS245VVGND廣西大學(xué)電氣工程學(xué)院廣西大學(xué)電氣工程學(xué)院第第9 9章章 編譯器和集成開發(fā)環(huán)境編譯器和集
8、成開發(fā)環(huán)境 支持并口下載線的軟件很多。比較常用的有支持并口下載線的軟件很多。比較常用的有ProgPony及雙龍公司的及雙龍公司的SL-ISP等。由于對軟件的等。由于對軟件的支持不足,并口下載軟件通常不能像支持不足,并口下載軟件通常不能像STK500那樣那樣對新的器件立即支持。對新的器件立即支持。 以以ProgPony為例,作為一個免費的下載軟件,為例,作為一個免費的下載軟件,ProgPony2000之后還未見新版本出現(xiàn)。但用于教之后還未見新版本出現(xiàn)。但用于教學(xué)中的主流芯片,各個版本的并口下載軟件均給學(xué)中的主流芯片,各個版本的并口下載軟件均給予較好的支持。予較好的支持。 因此,在教學(xué)中,使用并口
9、下載軟件和并口下載因此,在教學(xué)中,使用并口下載軟件和并口下載線是一個較好的選擇。線是一個較好的選擇。廣西大學(xué)電氣工程學(xué)院廣西大學(xué)電氣工程學(xué)院第第9 9章章 編譯器和集成開發(fā)環(huán)境編譯器和集成開發(fā)環(huán)境 筆者通過對比使用,認(rèn)為目前較好的并口筆者通過對比使用,認(rèn)為目前較好的并口下載軟件是雙龍公司的下載軟件是雙龍公司的SL-ISP最新版本最新版本SL-ISP1.518。作為一個免費的軟件,讀者可以。作為一個免費的軟件,讀者可以到雙龍公司的主頁:到雙龍公司的主頁:進(jìn)行免進(jìn)行免費下載。費下載。廣西大學(xué)電氣工程學(xué)院廣西大學(xué)電氣工程學(xué)院第第9 9章章 編譯器和集成開發(fā)環(huán)境編譯器和集成開發(fā)環(huán)境 圖圖9.2為為SL
10、-ISP1.518的主界面。在主界面中,可的主界面。在主界面中,可以設(shè)置芯片型號、通信接口、下載速度、程序存以設(shè)置芯片型號、通信接口、下載速度、程序存儲器文件、數(shù)據(jù)存儲器文件、編程選項、加密模儲器文件、數(shù)據(jù)存儲器文件、編程選項、加密模式等。通過主界面還可以對芯片進(jìn)行擦除、編程、式等。通過主界面還可以對芯片進(jìn)行擦除、編程、校驗、讀取等操作。只要在編程選項中進(jìn)行相應(yīng)校驗、讀取等操作。只要在編程選項中進(jìn)行相應(yīng)的設(shè)置,通過按鍵便可以實現(xiàn)一鍵編程,的設(shè)置,通過按鍵便可以實現(xiàn)一鍵編程,不需每次更改程序后都重載程序。不需每次更改程序后都重載程序。廣西大學(xué)電氣工程學(xué)院廣西大學(xué)電氣工程學(xué)院第第9 9章章 編譯器
11、和集成開發(fā)環(huán)境編譯器和集成開發(fā)環(huán)境圖圖9.2 SL-ISP1.518的主界面的主界面廣西大學(xué)電氣工程學(xué)院廣西大學(xué)電氣工程學(xué)院第第9 9章章 編譯器和集成開發(fā)環(huán)境編譯器和集成開發(fā)環(huán)境 在對在對AVR單片機(jī)進(jìn)行編程的時候,首先要對熔絲單片機(jī)進(jìn)行編程的時候,首先要對熔絲位進(jìn)行相應(yīng)的配置。熔絲位的配置決定了單片機(jī)位進(jìn)行相應(yīng)的配置。熔絲位的配置決定了單片機(jī)工作的頻率。如果熔絲位配置錯誤造成單片機(jī)工工作的頻率。如果熔絲位配置錯誤造成單片機(jī)工作頻率與給定頻率不一致,會引起單片機(jī)工作不作頻率與給定頻率不一致,會引起單片機(jī)工作不穩(wěn)定甚至鎖死的現(xiàn)象發(fā)生。穩(wěn)定甚至鎖死的現(xiàn)象發(fā)生。SL-ISP1.518版本中,版本中
12、,增添了增添了STK500的熔絲位配置界面,可以不必記憶的熔絲位配置界面,可以不必記憶熔絲位配置組合,直接選定所需的頻率范圍進(jìn)行熔絲位配置組合,直接選定所需的頻率范圍進(jìn)行熔絲位配置。如圖熔絲位配置。如圖93所示,在編程選項中的所示,在編程選項中的前打勾,便會彈出前打勾,便會彈出 “配置熔絲設(shè)置配置熔絲設(shè)置”對話框。對話框。廣西大學(xué)電氣工程學(xué)院廣西大學(xué)電氣工程學(xué)院第第9 9章章 編譯器和集成開發(fā)環(huán)境編譯器和集成開發(fā)環(huán)境圖圖9.3 配置熔絲位配置熔絲位廣西大學(xué)電氣工程學(xué)院廣西大學(xué)電氣工程學(xué)院第第9 9章章 編譯器和集成開發(fā)環(huán)境編譯器和集成開發(fā)環(huán)境 配置熔絲設(shè)置對話框如圖配置熔絲設(shè)置對話框如圖9.4
13、所示。通過該對話框所示。通過該對話框可以對單片機(jī)的熔絲位直接進(jìn)行設(shè)置,也可以點可以對單片機(jī)的熔絲位直接進(jìn)行設(shè)置,也可以點擊擊“設(shè)置導(dǎo)航設(shè)置導(dǎo)航”按鍵開啟類似按鍵開啟類似STK500的熔絲位設(shè)的熔絲位設(shè)置界面對熔絲位進(jìn)行設(shè)置。建議初學(xué)者選擇第二置界面對熔絲位進(jìn)行設(shè)置。建議初學(xué)者選擇第二種配置方式。種配置方式。廣西大學(xué)電氣工程學(xué)院廣西大學(xué)電氣工程學(xué)院第第9 9章章 編譯器和集成開發(fā)環(huán)境編譯器和集成開發(fā)環(huán)境圖圖9.4 配置熔絲設(shè)置對話框配置熔絲設(shè)置對話框廣西大學(xué)電氣工程學(xué)院廣西大學(xué)電氣工程學(xué)院第第9 9章章 編譯器和集成開發(fā)環(huán)境編譯器和集成開發(fā)環(huán)境SL-ISP1.518的的STK500的熔絲位設(shè)置如
14、圖的熔絲位設(shè)置如圖9.5所示。所示。只需選中相應(yīng)的配置組合即可。只需選中相應(yīng)的配置組合即可。廣西大學(xué)電氣工程學(xué)院廣西大學(xué)電氣工程學(xué)院第第9 9章章 編譯器和集成開發(fā)環(huán)境編譯器和集成開發(fā)環(huán)境 目前還有較為流行的一款并口下載軟件目前還有較為流行的一款并口下載軟件PonyProg2000,同樣作為一款免費的軟件,同樣作為一款免費的軟件,讀者可以從讀者可以從http:/www.LancOS.com下載。下載。 該軟件操作簡單,人機(jī)界面比較直觀,對該軟件操作簡單,人機(jī)界面比較直觀,對于新學(xué)者來說比較容易上手,下面具體來于新學(xué)者來說比較容易上手,下面具體來介紹下該軟件的應(yīng)用方法。介紹下該軟件的應(yīng)用方法。廣
15、西大學(xué)電氣工程學(xué)院廣西大學(xué)電氣工程學(xué)院第第9 9章章 編譯器和集成開發(fā)環(huán)境編譯器和集成開發(fā)環(huán)境 圖圖9.6為為PonyProg2000的主界面。在主界面中,與的主界面。在主界面中,與雙龍相似,同樣可以設(shè)置芯片型號、通信接口、雙龍相似,同樣可以設(shè)置芯片型號、通信接口、下載速度、程序存儲器文件、數(shù)據(jù)存儲器文件、下載速度、程序存儲器文件、數(shù)據(jù)存儲器文件、編程選項、加密模式等。通過主界面還可以對芯編程選項、加密模式等。通過主界面還可以對芯片進(jìn)行擦除、編程、校驗、讀取等操作。只要在片進(jìn)行擦除、編程、校驗、讀取等操作。只要在編程選項中進(jìn)行相應(yīng)的設(shè)置,通過按鍵便編程選項中進(jìn)行相應(yīng)的設(shè)置,通過按鍵便可以實現(xiàn)一
16、鍵編程,不需每次更改程序后都重載可以實現(xiàn)一鍵編程,不需每次更改程序后都重載程序。程序。廣西大學(xué)電氣工程學(xué)院廣西大學(xué)電氣工程學(xué)院第第9 9章章 編譯器和集成開發(fā)環(huán)境編譯器和集成開發(fā)環(huán)境圖圖9.6 PonyProg2000的主界面的主界面廣西大學(xué)電氣工程學(xué)院廣西大學(xué)電氣工程學(xué)院第第9 9章章 編譯器和集成開發(fā)環(huán)境編譯器和集成開發(fā)環(huán)境 如圖所示的打開文件一欄,點擊后輸入目如圖所示的打開文件一欄,點擊后輸入目標(biāo)程序地址,再將單片機(jī)的類型選擇成所標(biāo)程序地址,再將單片機(jī)的類型選擇成所用的類型,一般習(xí)慣上先擦寫一次用的類型,一般習(xí)慣上先擦寫一次CPU,將原來的程序擦除,再點擊圖中下載程序?qū)⒃瓉淼某绦虿脸?,?/p>
17、點擊圖中下載程序的按鍵,就可以將程序下載入單片機(jī)內(nèi)了。的按鍵,就可以將程序下載入單片機(jī)內(nèi)了。廣西大學(xué)電氣工程學(xué)院廣西大學(xué)電氣工程學(xué)院第第9 9章章 編譯器和集成開發(fā)環(huán)境編譯器和集成開發(fā)環(huán)境這里我們來介紹下一鍵編程的操作,點擊主頁面菜這里我們來介紹下一鍵編程的操作,點擊主頁面菜單中的功能欄中的鍵,會出現(xiàn)如圖單中的功能欄中的鍵,會出現(xiàn)如圖9.7一鍵編程的操一鍵編程的操作界面界面。作界面界面。廣西大學(xué)電氣工程學(xué)院廣西大學(xué)電氣工程學(xué)院第第9 9章章 編譯器和集成開發(fā)環(huán)境編譯器和集成開發(fā)環(huán)境 如圖所示,點擊陰影命令后會出現(xiàn)右邊的界面,用如圖所示,點擊陰影命令后會出現(xiàn)右邊的界面,用來設(shè)置一鍵編程的操作指令
18、,圖中所勾選的為一般來設(shè)置一鍵編程的操作指令,圖中所勾選的為一般設(shè)置的指令,先調(diào)取程序、擦除舊程序、寫入新程設(shè)置的指令,先調(diào)取程序、擦除舊程序、寫入新程序。設(shè)置后,以后再編程時就可以只點擊就可以完序。設(shè)置后,以后再編程時就可以只點擊就可以完成程序的下載工作了,非常簡便,推薦讀者使用。成程序的下載工作了,非常簡便,推薦讀者使用。點擊會出現(xiàn)如圖點擊會出現(xiàn)如圖9.8所示的界面,可以參照圖所示的界面,可以參照圖9.5進(jìn)行進(jìn)行設(shè)置。設(shè)置。廣西大學(xué)電氣工程學(xué)院廣西大學(xué)電氣工程學(xué)院第第9 9章章 編譯器和集成開發(fā)環(huán)境編譯器和集成開發(fā)環(huán)境9. 2單片機(jī)編譯器和集成環(huán)境的介紹單片機(jī)編譯器和集成環(huán)境的介紹 作為一
19、種當(dāng)前應(yīng)用較廣泛的單片機(jī),有多種集成作為一種當(dāng)前應(yīng)用較廣泛的單片機(jī),有多種集成開發(fā)環(huán)境支持對開發(fā)環(huán)境支持對AVR單片機(jī)的程序開發(fā)。由于單片機(jī)的程序開發(fā)。由于C語言在單片機(jī)設(shè)計中具有直觀、可讀性強(qiáng)、程序語言在單片機(jī)設(shè)計中具有直觀、可讀性強(qiáng)、程序移植容易等優(yōu)點,在本書中,將著重介紹移植容易等優(yōu)點,在本書中,將著重介紹AVR單單片機(jī)基于片機(jī)基于C語言的編譯器和集成環(huán)境。語言的編譯器和集成環(huán)境。 廣西大學(xué)電氣工程學(xué)院廣西大學(xué)電氣工程學(xué)院第第9 9章章 編譯器和集成開發(fā)環(huán)境編譯器和集成開發(fā)環(huán)境 由于由于WinAVR脫胎于脫胎于GCC,因此不可避免的一些,因此不可避免的一些操作會與大部分用戶熟悉的操作會與
20、大部分用戶熟悉的Windows的操作方式的操作方式有 所 不 同 。 為 了 解 決 這 個 問 題 , 晶 士 電 子有 所 不 同 。 為 了 解 決 這 個 問 題 , 晶 士 電 子(Atman Electronics)開發(fā)了一個基于)開發(fā)了一個基于WinAVR的中文集成開發(fā)環(huán)境的中文集成開發(fā)環(huán)境AtmanAvr。通過。通過AtmanAvr C IDE用戶可以以熟悉的用戶可以以熟悉的Windows操作操作界面及操作方式對界面及操作方式對AVR單片機(jī)進(jìn)行開發(fā)。讀者可單片機(jī)進(jìn)行開發(fā)。讀者可以 通 過 登 錄 晶 士 電 子 的 主 頁 :以 通 過 登 錄 晶 士 電 子 的 主 頁 :h
21、ttp:/ 9章章 編譯器和集成開發(fā)環(huán)境編譯器和集成開發(fā)環(huán)境 AtmanAvr C IDE除了集成中文的除了集成中文的Windows操作界操作界面外,筆者認(rèn)為其最大的優(yōu)點在于其幫助文件。面外,筆者認(rèn)為其最大的優(yōu)點在于其幫助文件。在在AtmanAvr C IDE的主界面中,可以通過按的主界面中,可以通過按“F1”鍵調(diào)用該幫助文件。通過該幫助文件,可鍵調(diào)用該幫助文件。通過該幫助文件,可以獲取關(guān)于以獲取關(guān)于AtmanAvr C IDE的全部信息,其中甚的全部信息,其中甚至包括至包括C語言的介紹。同時,該幫助文件對每個語言的介紹。同時,該幫助文件對每個函數(shù)的用法都以實例演示,方便用戶使用。相信函數(shù)的用
22、法都以實例演示,方便用戶使用。相信讀者通過該幫助文件能很快的掌握讀者通過該幫助文件能很快的掌握AtmanAvr C IDE的使用。的使用。廣西大學(xué)電氣工程學(xué)院廣西大學(xué)電氣工程學(xué)院第第9 9章章 編譯器和集成開發(fā)環(huán)境編譯器和集成開發(fā)環(huán)境 就就C語言而言,目前常見的集成開發(fā)環(huán)境有語言而言,目前常見的集成開發(fā)環(huán)境有WinAVR、AtmanAvr、ICCAVR及及IARAVR等多等多種。其中,種。其中,WinAVR是將是將Unix操作系統(tǒng)中的操作系統(tǒng)中的GCC移植到移植到Windows操作系統(tǒng)中的一個操作系統(tǒng)中的一個AVR單片機(jī)的單片機(jī)的集成編譯環(huán)境。集成編譯環(huán)境。WinAVR是一個一個完全免費的是一
23、個一個完全免費的軟件,在軟件,在AVR用戶中是使用最多的。讀者可以通用戶中是使用最多的。讀者可以通過下面的鏈接免費下載最新版本的過下面的鏈接免費下載最新版本的WinAVR集成集成開發(fā)環(huán)境:開發(fā)環(huán)境:http:/ 9章章 編譯器和集成開發(fā)環(huán)境編譯器和集成開發(fā)環(huán)境1. ATMANAVR編譯器的安裝編譯器的安裝 可以直接運行光盤上可以直接運行光盤上setup.exe安裝程序進(jìn)行安裝,安裝程序進(jìn)行安裝,有以下幾種方法:有以下幾種方法: 方法方法1: (l)打開)打開“我的電腦我的電腦”; (2)打開光盤驅(qū)動器所對應(yīng)的盤符;)打開光盤驅(qū)動器所對應(yīng)的盤符; (3)雙擊光盤中文件)雙擊光盤中文件“setup
24、.exe”的圖標(biāo);的圖標(biāo); (4)按照屏幕提示選定一個安裝路徑后進(jìn)行安裝。)按照屏幕提示選定一個安裝路徑后進(jìn)行安裝。默認(rèn)的安裝路徑為默認(rèn)的安裝路徑為“C:ATMAN”,一般情況,一般情況選默認(rèn)的安裝位置。選默認(rèn)的安裝位置。廣西大學(xué)電氣工程學(xué)院廣西大學(xué)電氣工程學(xué)院第第9 9章章 編譯器和集成開發(fā)環(huán)境編譯器和集成開發(fā)環(huán)境 方法方法2: (l)在開始菜單中選擇)在開始菜單中選擇“運行運行”命令;命令; ( 2 ) 在 運 行 對 話 框 中 輸 入) 在 運 行 對 話 框 中 輸 入 “ d r i v e : : Setupexe; 注意,注意,“drive”對應(yīng)機(jī)器中的光盤驅(qū)動器盤符,對應(yīng)機(jī)器
25、中的光盤驅(qū)動器盤符,如果光盤為如果光盤為F盤,則填入盤,則填入“f:setupexe”; (3)按)按“確定確定”鍵開始安裝;鍵開始安裝; (4)按照屏幕提示,選定一個安裝路徑后進(jìn)行安裝。)按照屏幕提示,選定一個安裝路徑后進(jìn)行安裝。廣西大學(xué)電氣工程學(xué)院廣西大學(xué)電氣工程學(xué)院第第9 9章章 編譯器和集成開發(fā)環(huán)境編譯器和集成開發(fā)環(huán)境 方法方法3: 由于由于ATMANAVR升級較快,光盤中的安裝文件升級較快,光盤中的安裝文件并不一定是最新的,可以到晶士公司的網(wǎng)站上并不一定是最新的,可以到晶士公司的網(wǎng)站上(http:/ (1)打開)打開“我的電腦我的電腦”; (2)打開存放下載升級版的文件夾;)打開存放
26、下載升級版的文件夾; (3)雙擊文件夾中的)雙擊文件夾中的“atmanAVRdem.exe”的圖的圖標(biāo);標(biāo);(4)選定一個安裝路徑后進(jìn)行安裝。)選定一個安裝路徑后進(jìn)行安裝。廣西大學(xué)電氣工程學(xué)院廣西大學(xué)電氣工程學(xué)院第第9 9章章 編譯器和集成開發(fā)環(huán)境編譯器和集成開發(fā)環(huán)境圖圖9.9 電腦屏幕上的圖標(biāo)電腦屏幕上的圖標(biāo)圖圖9.10 演示版的標(biāo)題欄演示版的標(biāo)題欄廣西大學(xué)電氣工程學(xué)院廣西大學(xué)電氣工程學(xué)院第第9 9章章 編譯器和集成開發(fā)環(huán)境編譯器和集成開發(fā)環(huán)境 按上述方法安裝后,在電腦屏幕上生成如圖按上述方法安裝后,在電腦屏幕上生成如圖9.9的的“AtmanAvr.exe”圖標(biāo)。雙擊后得到的只是一個演圖標(biāo)。
27、雙擊后得到的只是一個演示版(標(biāo)題欄如圖示版(標(biāo)題欄如圖9.10所示),演示版只能使用所示),演示版只能使用30天,在天,在30天之內(nèi)沒有使用限制(等同于標(biāo)準(zhǔn)天之內(nèi)沒有使用限制(等同于標(biāo)準(zhǔn)版),超過版),超過30天后,要注冊才能使用,正版用戶天后,要注冊才能使用,正版用戶還要進(jìn)行注冊才可以得到一個無使用時間限制的還要進(jìn)行注冊才可以得到一個無使用時間限制的正式版。正式版。 廣西大學(xué)電氣工程學(xué)院廣西大學(xué)電氣工程學(xué)院第第9 9章章 編譯器和集成開發(fā)環(huán)境編譯器和集成開發(fā)環(huán)境 注意注意: 1舊版舊版ATMANAVR有安裝路徑的限制(即安裝有安裝路徑的限制(即安裝路徑中不能有空格或中文,否則不能正常編譯),
28、路徑中不能有空格或中文,否則不能正常編譯),在在ATMANAVR5.8.1版及更新的版本中,對安裝版及更新的版本中,對安裝的路徑則沒有任何限制,可以安裝在任意文件夾的路徑則沒有任何限制,可以安裝在任意文件夾中。中。 廣西大學(xué)電氣工程學(xué)院廣西大學(xué)電氣工程學(xué)院第第9 9章章 編譯器和集成開發(fā)環(huán)境編譯器和集成開發(fā)環(huán)境 2如果硬盤上原先已安裝過如果硬盤上原先已安裝過ATMANAVRATMANAVR演示版且尚演示版且尚未到期(未到期(3030天免費試用期),此時重新安裝天免費試用期),此時重新安裝ATMANAVRATMANAVR,則軟件會自動終止免費試用,因此在,則軟件會自動終止免費試用,因此在演示版演
29、示版3030天的有效期內(nèi)不能重裝天的有效期內(nèi)不能重裝ATMANAVRATMANAVR。如果。如果演示版到期后還需要繼續(xù)使用演示版軟件,只要演示版到期后還需要繼續(xù)使用演示版軟件,只要格式化硬盤后重裝格式化硬盤后重裝WindowsWindows和和ATMANAVRATMANAVR,又可以再,又可以再使用使用3030天。天。廣西大學(xué)電氣工程學(xué)院廣西大學(xué)電氣工程學(xué)院第第9 9章章 編譯器和集成開發(fā)環(huán)境編譯器和集成開發(fā)環(huán)境9.3 ATMANAVR編譯器簡介編譯器簡介 AtmanAvr C 是為是為 Atmel 公司的公司的 AVR 系列單片機(jī)應(yīng)系列單片機(jī)應(yīng)用用 AVRGCC 編譯器而開發(fā)的集成開發(fā)環(huán)境編
30、譯器而開發(fā)的集成開發(fā)環(huán)境 IDE 。包括向?qū)?、文本編輯器和調(diào)試器等。它有下幾個主包括向?qū)?、文本編輯器和調(diào)試器等。它有下幾個主要特點:要特點: 1ATMANAVR是一個綜合了編輯器和工程管理器的是一個綜合了編輯器和工程管理器的集成工作環(huán)境(集成工作環(huán)境(IDE),是一個純),是一個純32位的程序,可在位的程序,可在Windows 95Windows 98Windows MEWindows NTWindows 2000Windows XP下運行。下運行。 2源文件全部被組織到工程之中,文件的編輯和工源文件全部被組織到工程之中,文件的編輯和工程的構(gòu)筑也在程的構(gòu)筑也在IDE的環(huán)境中完成。的環(huán)境中完成。
31、廣西大學(xué)電氣工程學(xué)院廣西大學(xué)電氣工程學(xué)院第第9 9章章 編譯器和集成開發(fā)環(huán)境編譯器和集成開發(fā)環(huán)境3ATMANAVR是一個是一個32位的程序,支持長文件位的程序,支持長文件名。名。 4ATMANAVR提供了全部的庫源代碼及一些簡提供了全部的庫源代碼及一些簡單的應(yīng)用實例供初學(xué)者參考,特別是提供庫源代單的應(yīng)用實例供初學(xué)者參考,特別是提供庫源代碼,對于用戶理解庫函數(shù)的參數(shù)及返回值等是非碼,對于用戶理解庫函數(shù)的參數(shù)及返回值等是非常 有 益 的 , 并 且 用 戶 能 夠 根 據(jù) 庫 源 代 碼 對常 有 益 的 , 并 且 用 戶 能 夠 根 據(jù) 庫 源 代 碼 對ATMANAVR提供的庫函數(shù)進(jìn)行剪裁和
32、擴(kuò)充。提供的庫函數(shù)進(jìn)行剪裁和擴(kuò)充。廣西大學(xué)電氣工程學(xué)院廣西大學(xué)電氣工程學(xué)院第第9 9章章 編譯器和集成開發(fā)環(huán)境編譯器和集成開發(fā)環(huán)境ATMANAVR中的文件類型及擴(kuò)展名中的文件類型及擴(kuò)展名 文 件 類 型 是 由 它 們 的 擴(kuò) 展 名 決 定 的 ,文 件 類 型 是 由 它 們 的 擴(kuò) 展 名 決 定 的 ,ATMANAVR的的IDE和編譯器可以使用以下幾種類和編譯器可以使用以下幾種類型文件:型文件: 1. 輸入文件類型輸入文件類型 .c擴(kuò)展名,表示是擴(kuò)展名,表示是C語言源文件;語言源文件; .s擴(kuò)展名,表示是匯編語言源文件;擴(kuò)展名,表示是匯編語言源文件; .h擴(kuò)展名,表示是擴(kuò)展名,表示是C
33、語言的頭文件;語言的頭文件; .prj擴(kuò)展名,表示是工程文件,這個文件保存由擴(kuò)展名,表示是工程文件,這個文件保存由IDE所創(chuàng)建和修改與整個工程的有關(guān)信息;所創(chuàng)建和修改與整個工程的有關(guān)信息; .a擴(kuò)展名,表示是庫文件,它可以由幾個庫封裝在擴(kuò)展名,表示是庫文件,它可以由幾個庫封裝在一起,也可以創(chuàng)建或修改自定義的庫。一起,也可以創(chuàng)建或修改自定義的庫。廣西大學(xué)電氣工程學(xué)院廣西大學(xué)電氣工程學(xué)院第第9 9章章 編譯器和集成開發(fā)環(huán)境編譯器和集成開發(fā)環(huán)境2. 輸出文件類型輸出文件類型 .s擴(kuò)展名,對應(yīng)每個擴(kuò)展名,對應(yīng)每個C語言源文件,由編譯器在編語言源文件,由編譯器在編譯時產(chǎn)生的同名匯編輸出文件;譯時產(chǎn)生的同
34、名匯編輸出文件; .o擴(kuò)展名,匯編產(chǎn)生的同名目標(biāo)文件,多個目標(biāo)文擴(kuò)展名,匯編產(chǎn)生的同名目標(biāo)文件,多個目標(biāo)文件可以鏈接成一個可執(zhí)行文件;件可以鏈接成一個可執(zhí)行文件; .hex擴(kuò)展名,擴(kuò)展名,INTEL HEX格式文件,其中包含了格式文件,其中包含了程序的全部可執(zhí)行代碼;程序的全部可執(zhí)行代碼; .eep擴(kuò)展名,擴(kuò)展名,INTEL HEX格式文件,包含了格式文件,包含了EEPROM的初始化數(shù)據(jù);的初始化數(shù)據(jù); .cof擴(kuò)展名,擴(kuò)展名,COFF格式輸出文件,用于在格式輸出文件,用于在ATMEL的的AVR Studio環(huán)境下進(jìn)行程序調(diào)試;環(huán)境下進(jìn)行程序調(diào)試; 廣西大學(xué)電氣工程學(xué)院廣西大學(xué)電氣工程學(xué)院第第
35、9 9章章 編譯器和集成開發(fā)環(huán)境編譯器和集成開發(fā)環(huán)境.lis擴(kuò)展名,列表文件,列舉出了源文件中的全部語擴(kuò)展名,列表文件,列舉出了源文件中的全部語句對應(yīng)的匯編代碼,但變量和代碼沒完成絕對定句對應(yīng)的匯編代碼,但變量和代碼沒完成絕對定位。說明:如果使用文件編譯方式,則生成該文位。說明:如果使用文件編譯方式,則生成該文件的件的.1is文件,如果對整個工程進(jìn)行編譯,則每一文件,如果對整個工程進(jìn)行編譯,則每一個源文件均生成一個與該源文件同名的個源文件均生成一個與該源文件同名的.lis文件。文件。 .lst擴(kuò)展名,列表文件,列舉了含啟動文件一起編譯擴(kuò)展名,列表文件,列舉了含啟動文件一起編譯生成的全部匯編代碼
36、,是整個工程組對定位后的生成的全部匯編代碼,是整個工程組對定位后的完整列表文件。說明,如果使用文件編譯方式,完整列表文件。說明,如果使用文件編譯方式,則生成該文件的則生成該文件的lst文件,如果對整個工程進(jìn)行文件,如果對整個工程進(jìn)行編譯,則只生成一個與工程同名的編譯,則只生成一個與工程同名的lst文件。文件。廣西大學(xué)電氣工程學(xué)院廣西大學(xué)電氣工程學(xué)院第第9 9章章 編譯器和集成開發(fā)環(huán)境編譯器和集成開發(fā)環(huán)境 .mp擴(kuò)展名,內(nèi)存映像文件,它包含了程序擴(kuò)展名,內(nèi)存映像文件,它包含了程序中有關(guān)符號及其所占內(nèi)存大小的信息;中有關(guān)符號及其所占內(nèi)存大小的信息; .cmd擴(kuò)展名,擴(kuò)展名,NoICE 2.xx調(diào)試
37、命令文件;調(diào)試命令文件; .noi擴(kuò)展名,擴(kuò)展名, NoICE 2.xx調(diào)試命令文件;調(diào)試命令文件; .dbg擴(kuò)展名,擴(kuò)展名,ImageCraft調(diào)試命令文件。調(diào)試命令文件。廣西大學(xué)電氣工程學(xué)院廣西大學(xué)電氣工程學(xué)院第第9 9章章 編譯器和集成開發(fā)環(huán)境編譯器和集成開發(fā)環(huán)境9.4 AVR存儲器的使用存儲器的使用 ATMANAVR共包含三種不同類型的存儲器空間,共包含三種不同類型的存儲器空間,下面分別對其進(jìn)行介紹。下面分別對其進(jìn)行介紹。 1程序存儲器(程序存儲器(Flash) 程序存儲器是用于保存程序代碼以及常數(shù)表和數(shù)程序存儲器是用于保存程序代碼以及常數(shù)表和數(shù)據(jù)的初始值等的空間。據(jù)的初始值等的空間。
38、ATMANAVR編譯器可以編譯器可以生 成 一 個 對 應(yīng) 程 序 存 儲 器 映 像 的 輸 出 文 件生 成 一 個 對 應(yīng) 程 序 存 儲 器 映 像 的 輸 出 文 件(INTEX HEX文件),大部分編程器均支持用文件),大部分編程器均支持用這個格式的文件對芯片編程。這個格式的文件對芯片編程。廣西大學(xué)電氣工程學(xué)院廣西大學(xué)電氣工程學(xué)院第第9 9章章 編譯器和集成開發(fā)環(huán)境編譯器和集成開發(fā)環(huán)境 由于由于 AVR中的中的 X、Y、Z指針為指針為16位,有效的訪位,有效的訪問空間為問空間為 64KB,因此在,因此在ATMANAVR編譯器中,編譯器中,使用普通的使用普通的C程序不能直接訪問大于程
39、序不能直接訪問大于64KB的程序的程序存儲器,為了訪問存儲器,為了訪問64KB以上的存儲器(如在以上的存儲器(如在Megal28中),應(yīng)選中中),應(yīng)選中“Use RAMPZELPM”(Project-Option-Target)前的復(fù)選框,并且)前的復(fù)選框,并且在設(shè)定在設(shè)定RAMPZ寄存器后直接調(diào)用寄存器后直接調(diào)用ELPM指令來訪指令來訪問問Flash存儲器。存儲器。廣西大學(xué)電氣工程學(xué)院廣西大學(xué)電氣工程學(xué)院第第9 9章章 編譯器和集成開發(fā)環(huán)境編譯器和集成開發(fā)環(huán)境 編譯器生成代碼分配到不同的區(qū)域編譯器生成代碼分配到不同的區(qū)域“areas”,區(qū),區(qū)域按照程序存儲器地址增高的順序被使用,共分域按照程
40、序存儲器地址增高的順序被使用,共分為以下區(qū)域:為以下區(qū)域: interrupt vectors:這個區(qū)域包含中斷向量:這個區(qū)域包含中斷向量 func-lit:函數(shù)表區(qū)。這個區(qū)的每個字保存了函數(shù):函數(shù)表區(qū)。這個區(qū)的每個字保存了函數(shù)入口的地址,為了與代碼壓縮完全兼容,所有間入口的地址,為了與代碼壓縮完全兼容,所有間接的函數(shù)索引必須進(jìn)行額外對準(zhǔn)。如果在接的函數(shù)索引必須進(jìn)行額外對準(zhǔn)。如果在C中通中通過函數(shù)指針調(diào)用函數(shù),編譯器可自動完成對準(zhǔn)的過函數(shù)指針調(diào)用函數(shù),編譯器可自動完成對準(zhǔn)的操作。操作。 廣西大學(xué)電氣工程學(xué)院廣西大學(xué)電氣工程學(xué)院第第9 9章章 編譯器和集成開發(fā)環(huán)境編譯器和集成開發(fā)環(huán)境 在匯編中,
41、這個對準(zhǔn)必須在用戶程序中進(jìn)行,舉例在匯編中,這個對準(zhǔn)必須在用戶程序中進(jìn)行,舉例如下:如下: area func-1it ;假設(shè);假設(shè)-foo是函數(shù)的名稱是函數(shù)的名稱 PL-foo:Word-foo ; 創(chuàng)建函數(shù)表入口創(chuàng)建函數(shù)表入口 area text; ldi R30,PL-foo; ldi R31, PL- foo rcall xicall; 編程人員應(yīng)把函數(shù)表入口地址先送入編程人員應(yīng)把函數(shù)表入口地址先送入R30、R31寄存寄存器后,才可以使用庫函數(shù)器后,才可以使用庫函數(shù)xicall間接調(diào)用這個函數(shù)。間接調(diào)用這個函數(shù)。廣西大學(xué)電氣工程學(xué)院廣西大學(xué)電氣工程學(xué)院第第9 9章章 編譯器和集成開發(fā)環(huán)
42、境編譯器和集成開發(fā)環(huán)境 lit:這個區(qū)域包括了整型數(shù)和浮點數(shù)常量。:這個區(qū)域包括了整型數(shù)和浮點數(shù)常量。 idata:全局變量和字符串的初始值保存在:全局變量和字符串的初始值保存在這個區(qū)域,在啟動時,由程序復(fù)制到數(shù)據(jù)這個區(qū)域,在啟動時,由程序復(fù)制到數(shù)據(jù)存儲器的存儲器的data區(qū)。區(qū)。 text:這個區(qū)域包括程序代碼:這個區(qū)域包括程序代碼。廣西大學(xué)電氣工程學(xué)院廣西大學(xué)電氣工程學(xué)院第第9 9章章 編譯器和集成開發(fā)環(huán)境編譯器和集成開發(fā)環(huán)境2內(nèi)部數(shù)據(jù)存儲器(內(nèi)部數(shù)據(jù)存儲器(SRAM) 這個數(shù)據(jù)存儲器是用于保存變量、堆棧和動態(tài)內(nèi)這個數(shù)據(jù)存儲器是用于保存變量、堆棧和動態(tài)內(nèi)存分配的堆棧,通常它們不出現(xiàn)在輸出文
43、件中,存分配的堆棧,通常它們不出現(xiàn)在輸出文件中,但在程序運行時被使用但在程序運行時被使用。圖圖9.11 數(shù)據(jù)內(nèi)存的使用數(shù)據(jù)內(nèi)存的使用廣西大學(xué)電氣工程學(xué)院廣西大學(xué)電氣工程學(xué)院第第9 9章章 編譯器和集成開發(fā)環(huán)境編譯器和集成開發(fā)環(huán)境 一個沒有使用外部擴(kuò)展數(shù)據(jù)存儲器的程序使用數(shù)一個沒有使用外部擴(kuò)展數(shù)據(jù)存儲器的程序使用數(shù)據(jù)內(nèi)存如圖據(jù)內(nèi)存如圖9-11所示,在該圖中,從地址所示,在該圖中,從地址0開始的開始的96個字節(jié)個字節(jié)(0 x60)是)是CPU寄存器和寄存器和IO寄存器,編寄存器,編譯器從譯器從96往上放置全局變量和字符串,在變量區(qū)往上放置全局變量和字符串,在變量區(qū)域的頂部是用戶可以利用的分配動態(tài)內(nèi)
44、存,在高域的頂部是用戶可以利用的分配動態(tài)內(nèi)存,在高端地址,硬件堆棧開始于端地址,硬件堆棧開始于SRAM的最高字節(jié),在的最高字節(jié),在它的下面是軟件堆棧,硬件堆棧和軟件堆棧均為它的下面是軟件堆棧,硬件堆棧和軟件堆棧均為向下生長型。要求程序員在設(shè)計程序時要確保硬向下生長型。要求程序員在設(shè)計程序時要確保硬件堆棧不生長進(jìn)軟件堆棧,而軟件堆棧不生長進(jìn)件堆棧不生長進(jìn)軟件堆棧,而軟件堆棧不生長進(jìn)已分配數(shù)據(jù)的動態(tài)分配區(qū)中,否則將會導(dǎo)致意外已分配數(shù)據(jù)的動態(tài)分配區(qū)中,否則將會導(dǎo)致意外的結(jié)果。的結(jié)果。 廣西大學(xué)電氣工程學(xué)院廣西大學(xué)電氣工程學(xué)院第第9 9章章 編譯器和集成開發(fā)環(huán)境編譯器和集成開發(fā)環(huán)境 編譯器生成數(shù)據(jù)分配
45、到不同的區(qū)域編譯器生成數(shù)據(jù)分配到不同的區(qū)域“areas”,區(qū),區(qū)域按照數(shù)據(jù)存儲器的地址增高的順序使用,共分域按照數(shù)據(jù)存儲器的地址增高的順序使用,共分為以下區(qū)域:為以下區(qū)域: data:是包含全局變量、靜態(tài)變量和字符串的數(shù):是包含全局變量、靜態(tài)變量和字符串的數(shù)據(jù)區(qū)域。全局變量和字符串的初始值保存在程序據(jù)區(qū)域。全局變量和字符串的初始值保存在程序存儲器的存儲器的“ idata”區(qū)域內(nèi),在啟動時被復(fù)制進(jìn)區(qū)域內(nèi),在啟動時被復(fù)制進(jìn)data數(shù)據(jù)區(qū)的。數(shù)據(jù)區(qū)的。 bss:這個區(qū)域包含末初始化的:這個區(qū)域包含末初始化的 C全局變量,按全局變量,按 ANSIC標(biāo)準(zhǔn)這些變量在啟動時將初始化為標(biāo)準(zhǔn)這些變量在啟動時將初
46、始化為0。廣西大學(xué)電氣工程學(xué)院廣西大學(xué)電氣工程學(xué)院第第9 9章章 編譯器和集成開發(fā)環(huán)境編譯器和集成開發(fā)環(huán)境3外部數(shù)據(jù)存儲器(外部數(shù)據(jù)存儲器(SRAM) 如果選擇帶有外部如果選擇帶有外部SRAM(32K或或64KB)的目標(biāo))的目標(biāo)器件,那么堆棧是放置在內(nèi)部器件,那么堆棧是放置在內(nèi)部SRAM的頂部并且的頂部并且朝低端內(nèi)存地址生長,數(shù)據(jù)內(nèi)存朝低端內(nèi)存地址生長,數(shù)據(jù)內(nèi)存(圖圖9.8中的動態(tài)分中的動態(tài)分配內(nèi)存區(qū)域)是開始于硬件堆棧的頂部配內(nèi)存區(qū)域)是開始于硬件堆棧的頂部(即外部即外部SRAM的底部)并且向上生長,這樣分配的原因的底部)并且向上生長,這樣分配的原因是在多數(shù)場合訪問內(nèi)部是在多數(shù)場合訪問內(nèi)部S
47、RAM比訪問外部比訪問外部SRAM的的速度要快,分配堆棧到較快的內(nèi)存有很多好處。速度要快,分配堆棧到較快的內(nèi)存有很多好處。廣西大學(xué)電氣工程學(xué)院廣西大學(xué)電氣工程學(xué)院第第9 9章章 編譯器和集成開發(fā)環(huán)境編譯器和集成開發(fā)環(huán)境 EEPROM:這個區(qū)域包含:這個區(qū)域包含EEPROM數(shù)據(jù),數(shù)據(jù),ATMANAVR編譯器將需要置于編譯器將需要置于EEPROM數(shù)據(jù)寫進(jìn)擴(kuò)展名為數(shù)據(jù)寫進(jìn)擴(kuò)展名為.eep的輸出文件中,在對的輸出文件中,在對AVR芯片編程時將該文件寫入芯片的芯片編程時將該文件寫入芯片的EEPROM存儲器中。存儲器中。4EEPROM存儲器存儲器廣西大學(xué)電氣工程學(xué)院廣西大學(xué)電氣工程學(xué)院第第9 9章章 編譯
48、器和集成開發(fā)環(huán)境編譯器和集成開發(fā)環(huán)境9.5啟動文件啟動文件 在一些特殊的應(yīng)用中,如用戶需判斷單片機(jī)是上在一些特殊的應(yīng)用中,如用戶需判斷單片機(jī)是上電復(fù)位還是由其他原因引起復(fù)位(如看門狗等),電復(fù)位還是由其他原因引起復(fù)位(如看門狗等),并且針對不同的復(fù)位情況采取不同的對策,這時并且針對不同的復(fù)位情況采取不同的對策,這時用戶可能需要使用自己的啟動文件,在用戶可能需要使用自己的啟動文件,在IAR中需中需要修改相應(yīng)的要修改相應(yīng)的XCL文件才能實現(xiàn)改變啟動文件的文件才能實現(xiàn)改變啟動文件的目的,目的,ATMANAVR和和CodeVsionAVR在工程屬性在工程屬性窗口中可以直接指定使用外部的啟動文件。窗口中
49、可以直接指定使用外部的啟動文件。 廣西大學(xué)電氣工程學(xué)院廣西大學(xué)電氣工程學(xué)院第第9 9章章 編譯器和集成開發(fā)環(huán)境編譯器和集成開發(fā)環(huán)境 根據(jù)目標(biāo)根據(jù)目標(biāo)MCU的種類和功能,的種類和功能,ATMANAVR編譯編譯器將從下面默認(rèn)的啟動文件中選擇一個。器將從下面默認(rèn)的啟動文件中選擇一個。 crtavr:o:非非ATmega類芯片默認(rèn)的啟動文件。類芯片默認(rèn)的啟動文件。 crtatmega.o:AT mega類芯片默認(rèn)的啟動文件。類芯片默認(rèn)的啟動文件。 ATMANAVR也提供了下面四種常用的啟動文件,也提供了下面四種常用的啟動文件,用 戶 可 以 在 工 程 選 項 對 話 框 中 (用 戶 可 以 在 工
50、 程 選 項 對 話 框 中 ( P roje c t -OPhtions-Target-Non Default startup)指定)指定一個啟動文件(或用戶自定義的啟動文件),應(yīng)一個啟動文件(或用戶自定義的啟動文件),應(yīng)注意必須指定啟動文件的絕對路徑,如果沒有指注意必須指定啟動文件的絕對路徑,如果沒有指出啟動文件的路徑,則默認(rèn)啟動文件位于工程選出啟動文件的路徑,則默認(rèn)啟動文件位于工程選項 庫 路 徑 所 指 定 的 目 錄 中 ( 默 認(rèn) 為項 庫 路 徑 所 指 定 的 目 錄 中 ( 默 認(rèn) 為c:atmanavrlib)。)。 廣西大學(xué)電氣工程學(xué)院廣西大學(xué)電氣工程學(xué)院第第9 9章章
51、編譯器和集成開發(fā)環(huán)境編譯器和集成開發(fā)環(huán)境 crtavrram.c:與:與 crtavr.o相比,增加了初始化外部相比,增加了初始化外部 SRAM。 crtatmgaram.o:與:與 crtatmega.o相比,增加了初始化外相比,增加了初始化外部部 SRAM。 crtboot.o:與:與crtavr.o相比,增加了相比,增加了bootloader的內(nèi)容,的內(nèi)容,只有只有ATmega類的芯片才能選用。類的芯片才能選用。 Crtboothi.o:與:與 crtboot。相比,增加了使用。相比,增加了使用ELPMRAMPZ內(nèi)容,一般在需要讀取大于內(nèi)容,一般在需要讀取大于64KB字節(jié)存儲器中的字節(jié)存
52、儲器中的常數(shù)表格或字符串時才用。常數(shù)表格或字符串時才用。 上面的非上面的非ATmega類芯片的每一個中斷入口地址使用一個類芯片的每一個中斷入口地址使用一個字(字(2個字節(jié)),而個字節(jié)),而ATmega類的每個中斷入口地址使用類的每個中斷入口地址使用2個字(個字(4個字節(jié)),因此兩種芯片的啟動文件不能混用。個字節(jié)),因此兩種芯片的啟動文件不能混用。 廣西大學(xué)電氣工程學(xué)院廣西大學(xué)電氣工程學(xué)院第第9 9章章 編譯器和集成開發(fā)環(huán)境編譯器和集成開發(fā)環(huán)境 啟動文件的功能有:啟動文件的功能有: 1初始化硬件和軟件堆棧指針。初始化硬件和軟件堆棧指針。 2從從idata區(qū)復(fù)制初始化數(shù)據(jù)到直接尋址數(shù)據(jù)區(qū)復(fù)制初始化
53、數(shù)據(jù)到直接尋址數(shù)據(jù)區(qū)區(qū)data區(qū)。區(qū)。 3將將bss區(qū)全部初始化為零。區(qū)全部初始化為零。 4啟動文件定義了一個全局符號啟動文件定義了一個全局符號“-start”,它,它是程序的起點。是程序的起點。 5調(diào)用用戶主程序。調(diào)用用戶主程序。 6定義一個退出點,即定義為一個無限循環(huán)。定義一個退出點,即定義為一個無限循環(huán)。如果主函數(shù)如果主函數(shù) (main)一旦退出,它將進(jìn)入這個退)一旦退出,它將進(jìn)入這個退出點進(jìn)行無限循環(huán)。出點進(jìn)行無限循環(huán)。廣西大學(xué)電氣工程學(xué)院廣西大學(xué)電氣工程學(xué)院第第9 9章章 編譯器和集成開發(fā)環(huán)境編譯器和集成開發(fā)環(huán)境 下面簡單介紹如何修改和創(chuàng)建一個新的啟動文件:下面簡單介紹如何修改和創(chuàng)建
54、一個新的啟動文件: 使用使用ATMANAVR的的IDE或或UlterEdit32打開需要修打開需要修改的啟動文件(改的啟動文件(crtavr.s、crtatmega.s或其他文或其他文件),對啟動文件進(jìn)行相應(yīng)的修改并保存,如果用件),對啟動文件進(jìn)行相應(yīng)的修改并保存,如果用UlterEdit32軟件編輯,應(yīng)退出軟件編輯,應(yīng)退出UlterEdit32軟件并用軟件并用IDE調(diào)用修改后的啟動文件,在調(diào)用修改后的啟動文件,在IDE中選擇中選擇“File”菜單的菜單的“Compile File To-Stmp File To Object”,生成相應(yīng)的目標(biāo)文件(生成相應(yīng)的目標(biāo)文件(crtavr.o、crt
55、atmega.o或其或其他的文件名)。他的文件名)。廣西大學(xué)電氣工程學(xué)院廣西大學(xué)電氣工程學(xué)院第第9 9章章 編譯器和集成開發(fā)環(huán)境編譯器和集成開發(fā)環(huán)境9.6 ATMANAVR菜單解釋菜單解釋 本章的菜單是按本章的菜單是按ATMANAVR5.8.1介紹的,其他介紹的,其他版本的菜單可能會與本章介紹的略有不同。在介版本的菜單可能會與本章介紹的略有不同。在介紹某單前,讀者應(yīng)先了解以下關(guān)于文件的幾種說紹某單前,讀者應(yīng)先了解以下關(guān)于文件的幾種說法:法: 活動的文件:是指打開的當(dāng)前正在編輯的文件;活動的文件:是指打開的當(dāng)前正在編輯的文件; 打開的文件:是指已調(diào)入打開的文件:是指已調(diào)入IDE環(huán)境中的文件。環(huán)境
56、中的文件??梢允腔顒拥奈募ㄕ诰庉嫞部梢钥梢允腔顒拥奈募ㄕ诰庉嫞?,也可以 是放在后臺的文件;是放在后臺的文件; 沒有打開的文件:是指該文件保存在硬盤上,沒有打開的文件:是指該文件保存在硬盤上,沒有調(diào)入沒有調(diào)入IDE環(huán)境。環(huán)境。廣西大學(xué)電氣工程學(xué)院廣西大學(xué)電氣工程學(xué)院第第9 9章章 編譯器和集成開發(fā)環(huán)境編譯器和集成開發(fā)環(huán)境 1、文件、文件 菜單菜單 文件文件 菜單如圖菜單如圖 9.12 所示。所示。 新建新建: 創(chuàng)建一個新文件或新工程,使用此命令,創(chuàng)建一個新文件或新工程,使用此命令,會彈出對話框由用戶選擇是建立文件還是工程,會彈出對話框由用戶選擇是建立文件還是工程,及文件或工程的類型和
57、創(chuàng)建位置等及文件或工程的類型和創(chuàng)建位置等。廣西大學(xué)電氣工程學(xué)院廣西大學(xué)電氣工程學(xué)院第第9 9章章 編譯器和集成開發(fā)環(huán)境編譯器和集成開發(fā)環(huán)境 打開打開: 打開一個已存在的文件,如果是打開一個已存在的文件,如果是 .aws 文件,文件,將打開整個工程。將打開整個工程。 關(guān)閉關(guān)閉: 關(guān)閉當(dāng)前被打開的文件。關(guān)閉當(dāng)前被打開的文件。 打開工作區(qū)打開工作區(qū): 打開一個已存在的工作區(qū)(打開一個已存在的工作區(qū)(.aws 文文件)。件)。 保存工作區(qū)保存工作區(qū): 保存當(dāng)前被打開的工作區(qū)。保存當(dāng)前被打開的工作區(qū)。 工作區(qū)另存為:把當(dāng)前被打開的工作區(qū)另存為一工作區(qū)另存為:把當(dāng)前被打開的工作區(qū)另存為一個新的版本保存到一
58、個新的目錄,同時打開該新個新的版本保存到一個新的目錄,同時打開該新工作區(qū)。工作區(qū)。 關(guān)閉工作區(qū)關(guān)閉工作區(qū): 關(guān)閉當(dāng)前被打開的工作區(qū)。關(guān)閉當(dāng)前被打開的工作區(qū)。 保存保存: 保存當(dāng)前文件。保存當(dāng)前文件。廣西大學(xué)電氣工程學(xué)院廣西大學(xué)電氣工程學(xué)院第第9 9章章 編譯器和集成開發(fā)環(huán)境編譯器和集成開發(fā)環(huán)境 另存為另存為: 當(dāng)前文件另存為新文件。當(dāng)前文件另存為新文件。 全部保存全部保存: 保存當(dāng)前所有打開的文件,包括工作保存當(dāng)前所有打開的文件,包括工作區(qū)。區(qū)。 打印打印: 打印當(dāng)前文件的全部或選定部分。打印當(dāng)前文件的全部或選定部分。 頁面設(shè)置頁面設(shè)置: 設(shè)置打印文件頁面。設(shè)置打印文件頁面。 最近的文件最近的
59、文件: 最近打開的文件列表,利于用戶查最近打開的文件列表,利于用戶查看和重新打開??春椭匦麓蜷_。 最近的工作區(qū)最近的工作區(qū): 最近打開的工作區(qū)列表,利于用最近打開的工作區(qū)列表,利于用戶查看和重新打開。戶查看和重新打開。 退出退出: 退出退出 AtmanAvr C。廣西大學(xué)電氣工程學(xué)院廣西大學(xué)電氣工程學(xué)院第第9 9章章 編譯器和集成開發(fā)環(huán)境編譯器和集成開發(fā)環(huán)境 2. 編輯編輯 菜單菜單 編輯編輯 菜單如圖菜單如圖 9.13 所示。所示。 撤消撤消: 撤消上一次編輯操作。撤消上一次編輯操作。 重復(fù)重復(fù): 重復(fù)上一次編輯操作。重復(fù)上一次編輯操作。 剪切剪切: 剪切當(dāng)前選中的文檔內(nèi)容或項目。剪切當(dāng)前選
60、中的文檔內(nèi)容或項目。 復(fù)制復(fù)制: 復(fù)制當(dāng)前選中的文檔內(nèi)容。復(fù)制當(dāng)前選中的文檔內(nèi)容。 粘貼粘貼: 在當(dāng)前位置插入剪切板中的內(nèi)容。在當(dāng)前位置插入剪切板中的內(nèi)容。 全部選擇全部選擇: 選中當(dāng)前文檔的全部內(nèi)容。選中當(dāng)前文檔的全部內(nèi)容。 查找查找: 在當(dāng)前文檔中查找字符串。在當(dāng)前文檔中查找字符串。 廣西大學(xué)電氣工程學(xué)院廣西大學(xué)電氣工程學(xué)院第第9 9章章 編譯器和集成開發(fā)環(huán)境編譯器和集成開發(fā)環(huán)境 在文件中查找在文件中查找: 在多個文檔中查找字符串。查找在多個文檔中查找字符串。查找過程中再次使用此命令可中斷當(dāng)前查找。過程中再次使用此命令可中斷當(dāng)前查找。 替換替換: 用一個新字符串替換當(dāng)前文檔中的字符串。用一
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年勞務(wù)安全協(xié)議書:華區(qū)餐飲服務(wù)業(yè)員工勞動保護(hù)合同
- 2025年度企業(yè)內(nèi)部數(shù)據(jù)保密管理協(xié)議書模板
- 2025年度地質(zhì)勘查技術(shù)服務(wù)與數(shù)據(jù)共享合同
- 專賣店裝修保修合同模板
- 2024年佛山外向型骨干企業(yè)全球化發(fā)展白皮書-佛山市貿(mào)促會
- 2025年度商用復(fù)印機(jī)購銷合同附帶原裝耗材包
- 商務(wù)辦公區(qū)裝修合同
- Unit 3 Keep fit Section B 1a-1d 教學(xué)設(shè)計 2024-2025學(xué)年人教版英語七年級下冊
- 浮力(教學(xué)設(shè)計)2023-2024學(xué)年教科版五年級科學(xué)下冊
- 2023-2024學(xué)年天津市南開區(qū)高中學(xué)業(yè)水平合格性考試模擬考試生物試卷
- ASTM標(biāo)準(zhǔn)全部目錄(中文版)
- 《汽車電氣設(shè)備構(gòu)造與維修》 第4版 課件 第3、4章 電源系統(tǒng)、發(fā)動機(jī)電器
- 遼海版小學(xué)美術(shù)六年級下冊全冊教案
- 2023年南京市鼓樓區(qū)建寧路街道安監(jiān)辦招聘專職安全員考試真題及答案
- 2024陜西延長石油集團(tuán)礦業(yè)公司所屬單位招聘筆試參考題庫附帶答案詳解
- 鄉(xiāng)鎮(zhèn)精神衛(wèi)生工作總結(jié)
- 井工煤礦中長期防治水規(guī)劃編制細(xì)則
- 2024年湘中幼兒師范高等??茖W(xué)校高職單招(英語/數(shù)學(xué)/語文)筆試歷年參考題庫含答案解析
- 設(shè)備使用手冊(范例模板)
- 上海房屋修繕工程培訓(xùn)課件
- 醫(yī)院電梯安全操作培訓(xùn)記錄
評論
0/150
提交評論