新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > WinAVR(GCC)快速入門

        WinAVR(GCC)快速入門

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

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

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

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

        說明如下:

        名稱

        說明

        Programmers Notepad

        GCC語言編輯器。可提供應用程序接口。

        Mfile

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

        AVR Insight

        仿真調試工具

        TkInfo

        GNU的超文本瀏覽器

        Uninstall WinAVR

        卸載 WinAVR 軟件

        WinAVR User Manual

        WinAVR 用戶手冊

        GNU Maunals Online

        GNU的在線幫助

        AVR-libc Manual

        AVR GCC的C語言函數庫幫助手冊

        步驟一:打開 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出現前面的界面

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

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

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

        圖4 選擇主文件

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

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

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

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

        按照上圖選擇: 單片機工作在內部時鐘8MHZ

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

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

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

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


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

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




        關鍵詞: WinAVRGCC快速入

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 左云县| 思茅市| 安康市| 新野县| 吴江市| 镇巴县| 沙河市| 永顺县| 福海县| 姜堰市| 南漳县| 醴陵市| 攀枝花市| 西藏| 新竹市| 甘泉县| 年辖:市辖区| 醴陵市| 鱼台县| 乐平市| 肥乡县| 甘泉县| 金川县| 长宁区| 阿坝| 南宁市| 海门市| 剑阁县| 故城县| 竹北市| 南平市| 邛崃市| 鄂托克旗| 和龙市| 德州市| 万州区| 普安县| 措勤县| 吴旗县| 稻城县| 江达县|