新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > DS80C400的Keil C語言編程

        DS80C400的Keil C語言編程

        作者: 時間:2012-02-01 來源:網絡 收藏
        可以被視作一個構建C或匯編程序的起跑架,它提供TINI?經過驗證的網棧、進程調度器和存儲器管理器。簡單程序,如網絡揚聲器,可以用匯編語言輕松實現,更復雜一點的,如HTTP服務器這種需要與文件系統交互的程序,可以使用C語言。

        文中介紹了如何從的uVision2開發套件著手構建一個的C語言應用程序,通過實現一個簡單的HTTP服務器演示如何使用的ROM功能。所有開發都采用了TINIm400驗證模塊和包含7.05版C編譯器'C51'的 uVision2 2.37。

        的uVision2開始
        你可以使用Keil uVision2開發套件,構建一個簡單的HelloWorld型C語言程序。按照以下步驟完成你的第一個用于的C語言應用程序。

        選擇Project-->Create New Project。 輸入項目名稱。

        屏幕上將出現Select Device for Target對話框。在Data base中選擇Dallas Semiconductor和DS80C400。選擇Use Extended Linker和Use Extended Assembler。點擊OK繼續。圖1所示為該對話框的正確配置。


        圖1. 為一個新的Keil uVision2項目選擇

        將有對話框提示:Copy Dallas 80C390 Startup Code to Project Folder and Add File to Project?選擇No。我們將提供自己的啟動代碼。

        當項目窗口在左側打開時,打開Target 1。右擊Source Group 1,并選擇Add files to group 'Source Group 1'。在彈出的文件對話框中,將files of type改為Asm Source file。添加文件startup400.a51。該文件可以在http://files.dalsemi.com/tini/ds80c400/c_libraries/HelloWorld.zip上的zip文件中找到。

        雙擊打開文件startup400.a51。找到段聲明?C_CPURESET?0。確保代碼段聲明為400000h。

              C_CPURESET?0        SEGMENT CODE AT 400000h
        另外,應有一個"DB 'TINI'"行,后跟另一個DB行,帶有注釋"Target bank"。這樣就可以確保應用建立地址為400000h,對應于TINIm400上flash的起始地址。請確認該行為: 
              DB     40h           ; Target bank
        創建一個新的文件,以"main.c"為文件名來保存。在該文件中寫入如下代碼:
              #include void main(){printf("Test 400 Programr");while (1){}}
        保存文件內容。右擊Source Group 1,并添加源文件main.c。現在就將該源文件添加到項目中了。

        右擊左側的Target 1。選擇Options for target 'Target 1'打開選項對話框。第一個選擇標簽應該為Target。將Memory Model改為Large: variables in XDATA。將Code Rom Size改為Contiguous Mode: 16MB program。選中檢查框Use multiple DPTR registers和far memory type support。在Off-chip Code memory項目下加入第一個入口:Start:0x400000,Size:0x80000。在Off-chip XData memory項目下加入一個入口:Start:0x10000,Size:0x4000。圖2所示為配置完成的對話框。確認檢查框Use On-Chip Arithmetic Accelerator被清除--多線程應用很難共用算術累加器。


        圖2. setp 7目標選項對話框(注意,'Eprom:start' 應為0x400000,最后一個'0'未顯示)。

        選擇Output標簽。點擊Create HEX File,并在下拉框中選擇HEX-386。按F7鍵建立應用程序。如果每一步都正確完成,建立過程應不產生錯誤或警告信息。之后會生成一個hex文件。現在就可以將該應用程序裝載到你的電路板上了。

        將應用實例裝載到TINIm400模塊
        這部分介紹如何使用JavaKit工具將Keil編譯器生成的hex文件裝載到TINIm400驗證模塊中。使用JavaKit之前,必須首先安裝Java Runtime Environment2 (1.2版以上)和Java Communications API3。JavaKit包含在TINI軟件開發包中(TINI Software Development Kit),http://files.dalsemi.com/tini/tini1_11.tgz上提供下載。運行JavaKit的說明可以在TINI Software Development Kit的docs目錄下的Running_JavaKit.txt文件中找到。如果你在運行JavaKit時遇到任何技術問題,很可能其他人曾經遇到過類似的問題,這些問題被收集在TINI主題列表中。你可以在http://lists.dalsemi.com/search/search.html上搜索有關該列表的文檔。

        通過以下命令行建立JavaKit與TINIm400的通話。

              java JavaKit -400 -flash 40
        圖3顯示了JavaKit窗口。


        圖3. JavaKit界面。

        運行JavaKit后,選擇用來與TINIm400進行通信的串口。使用'Open Port'按鈕打開該串口。然后按Reset按鈕。DS80C400裝載器將提示如下信息:

             DS80C400 Silicon Software - Copyright (C) 2002 Maxim Integrated ProductsDetailed product information available at http://www.maxim-ic.comWelcome to the TINI DS80C400 Auto Boot Loader 1.0.1>
        在JavaKit頂部的'File'菜單中,選擇Load HEX File as TBIN。找到并選擇我們已經創建的helloworld.hex文件。Load HEX File as TBIN選項先將輸入的hex文件轉換為TBIN文件,然后裝載。這樣的操作比直接裝載hex文件速度快,因為對于同樣的數據,ASCII編碼的hex文件的尺寸是二進制文件的二倍多。
        用戶程序裝載后,有兩種執行方法。由于程序裝載到存儲區40中,所以你可以直接鍵入:
              > B40> X
        要選擇存儲區40,并在運行這里的代碼,也可以鍵入:
              > E
        這將使ROM查找可執行代碼,有一個特殊標記符用來表示當前存儲區中有可執行代碼。該標記符由字符'TINI'和緊隨其后的當前區號組成。它位于當前區的地址0002處。我們的HelloWorld程序對于此標記符的聲明在startup400.a51文件中如下所示:

        c語言相關文章:c語言教程



        上一頁 1 2 3 4 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 内江市| 南阳市| 榆中县| 乌鲁木齐县| 七台河市| 防城港市| 东阿县| 苗栗县| 开原市| 株洲县| 洛川县| 达拉特旗| 湖州市| 昌图县| 大石桥市| 衢州市| 扬中市| 邯郸县| 长武县| 东方市| 分宜县| 广灵县| 新闻| 噶尔县| 许昌县| 太仆寺旗| 桐乡市| 横山县| 濮阳市| 武清区| 新邵县| 西青区| 永新县| 皮山县| 浙江省| 新龙县| 顺义区| 白城市| 界首市| 德州市| 双流县|