新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > ARM入門筆記

        ARM入門筆記

        作者: 時間:2016-12-02 來源:網絡 收藏
        ISP實驗

        一.背景

        由于前面的實驗都是用仿真器將代碼下載到AT91SAM7S64的SRAM里調試的,還不能在實際的Flash ROM里跑。所以在這個實驗中,我們將通過ATMEL提供的SAM-BA 軟件和AT91SAM7S64自帶的ROMBoot功能,完成AT91SAM7S64的Flash ROOM的在線燒寫。

        二.實驗目的

        用前面“I/O口輸入實驗”的源程序生成二進制文件,下載到AT91SAM7S64的Flash ROM中,且能脫機正確運行。

        三.操作方法

        1> 安裝。雙擊Install SAM-BA.exe文件運行,按提示一步步安裝即可。
        2> 連接好硬件,且使AT91SAM7S64處于RomBoot狀態。
        3> 運行。雙擊SAM-BA圖標出現如下圖所示的啟動窗口:


        圖4.21 SAM啟動窗口

        當正確設置后,按“DBGU connection”按鈕將打開SAM-BA編程環境,如下圖所示:


        圖4.22SAM-BA1.0編程環境

        4> 用ADS1.2生成二進制文件。

        5> 編程。點擊“Flash->Download/Upload File->Send File Name”項的“Browse”按鈕打開二進制文件后,點擊“Send File”按鈕開始下載程序。

        6> 復位目標板,開始運行用戶程序。

        四.出現的問題與解決方法

        1> ADS軟件編譯后不能產生二進制等目標文件

        第一、 可以用DOS命令手工生成二進制文件。

        第二、 在“DebugRel Settings”中,將“Target->Target Settingsr->Post-linker”項的“None”修改成“ARMfromELF”,再在“DebugRel Settings”中的“Linker->ARM fromELF->Output format”中設置成Plain binary。

        2> 不能進入SAM-BA軟件,總出現下述提示錯誤信息,但硬件連接都正確。


        圖. 錯誤信息1


        圖. 錯誤信息2

        原因是將用戶程序下載到AT91SAM7Sxx芯片后,同時會擦除掉內部的BootRom程序,此時就不能再實現在線下載的功能!因此起動SAM-BA軟件會彈出上述的出錯信息,必須重新恢復內部的BootRom引導程序。可將AT91SAM7S64的TST管腳接高電平10S多時間,再重新復位。此時每次復位后都將在DBGU口發送“RoomBoot”的ASCII字符,可用超級終端查看。

        3> 不能進行RomBoot恢復,且不能與仿真器進行連接。

        原因是器件的安全保密位被編程,可以將AT91SAM7S64的ERASE腳接高,將flash內容初始化(或者說是擦除),再進行RomBoot恢復。

        五.總結

        到目前為此,基本上完成了AT91SAM7S64的大部分外圍實驗,并且也能夠將程序燒到AT91SAM7S64的內部Flash ROM里,而脫離仿真器進行運行。我個人認為其它沒有完成的實驗在原理與使用上基本相同,應該沒有什么難點。

        可以說現在已經基本上能夠將AT91SAM7S64像普通單片機一樣使用了,但作為ARM這種高性能的處理器來講,這是遠遠不夠的,我希望自己有時間能夠將μCOS-Ⅱ移植上去,屆時再與大家討論。


        關鍵詞: ARM入門筆

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 通化市| 恩平市| 虞城县| 同仁县| 禄丰县| 辽宁省| 庆阳市| 阳高县| 宁乡县| 岳池县| 萨嘎县| 海原县| 沙田区| 普安县| 宁蒗| 阜康市| 若羌县| 大埔区| 威远县| 夏邑县| 德化县| 喀喇| 五华县| 阳泉市| 平昌县| 山阴县| 遵义县| 苏尼特右旗| 颍上县| 商洛市| 桐乡市| 长宁县| 台东县| 辽阳县| 洞口县| 桂东县| 南木林县| 平和县| 小金县| 泸溪县| 北碚区|