新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 沒有仿真器的條件下如何開發AVR

        沒有仿真器的條件下如何開發AVR

        作者: 時間:2011-12-01 來源:網絡 收藏

        單片機程序時,有許多人依賴于仿真機,一旦離開了仿真機程序時就感覺無從下手。其實對FLASH存貯器單片機,不要仿真機也能方便快速地 程序。具體可以從以下幾方面入手:
        一、編譯工具
        您有在寫匯編程序時,標錯一個標號而浪費您大把時間找錯或跳轉偏移量過大而不得不改動程序結構的經歷。其實您如果使用高級語言開發程序,就不會有這樣的痛苦。

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

        在開發程序時,除了建立一個良好的開發文檔外,編譯工具的選擇也很重要。有許多人認為使用匯編寫程序比較精簡,而用高級語言開發會浪費很多程序空間,其實這是一種誤解。對一個熟悉某種單片機的匯編高手而言,他能寫出比高級語言更精簡的代碼。而對匯編不是很熟的開發者、或突然更換了一種新的單片機,您能保證一定可以寫出比高級語言更簡練的代碼嗎?高級語言的優越性是匯編語言不能比的:

        1、程序移植方便
        2、程序的堅固性
        3、對數學運算的支持
        4、條理清晰的結構化編程,程序的可維護性。

        現在的高級語言編譯器(如C編譯器)已可以產生代碼效率很高的機器代碼,因此建議大家能用高級語言實現的程序盡可能使用高級語言寫,在對速度和時序要求特嚴的場合可以采用混合編程的方法來解決。

        二、善用模擬仿真環境

        現在許多單片機都提供模擬仿真環境,如單片機提供STUDIO模擬仿真環境。ATMEL的STUDIO是一個開發AVR單片機的集成開發環境,其支持高級語言和匯編語言的源代碼級模擬調試。在模擬仿真下調試算法、程序流程等可以說和硬件仿真機是區別的;而調試延時程序、計算一段程序運行所花的時間等方面,可以說比硬件仿真機更方便,因為許多仿真機(如JTAG ICE)是無法提供程序運行時間等調試參數的。另外,對I/O端口、定時器、UART、中斷等,在AVRSTUDIO中均可實現模擬仿真,用戶也可以分析內存的使用情況。

        三、善用目標板上的硬件資源

        在許多目標板上均有LED、數碼管、RS232等附件,其實利用好這些附件就能完成程序的開發。

        我們使用仿真機的目的是要觀察單片機內部的狀態,而利用這些附件和FLASH存貯器多次可擦寫的特點,完全可以觀察到單片機內部的狀態。AVR單片機是支持ISP的FLASH單片機,開發時可以通過下載電纜將其和PC連成一個整體,在程序編譯完后立刻下載到目標MCU 中運行。這些在需要觀察內部狀態時,可以程序的適當位置加入少部分代碼,讓MCU 的內部狀態通過LED、數碼管等顯示出來,在有RS232通信的應用中,甚至可以直接將內部狀態送到PC機,在PC機上可以用串口調試器等一些超級終端來顯示數據。有許多高級語言開發環境本身就提供了超級終端。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 广西| 米林县| 乐亭县| 合肥市| 丹江口市| 焉耆| 仪征市| 伽师县| 湖南省| 肇东市| 扶风县| 鹤峰县| 遂宁市| 武威市| 贞丰县| 尉犁县| 双桥区| 江门市| 闽侯县| 呼伦贝尔市| 恩施市| 吉安市| 保靖县| 遂昌县| 班戈县| 福清市| 崇礼县| 年辖:市辖区| 天水市| 防城港市| 鄂托克旗| 中江县| 延庆县| 汝城县| 道孚县| 离岛区| 巴里| 竹溪县| 玛沁县| 中宁县| 高陵县|