• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統 > 設計應用 > AT91SAM7S/7X ADS下調試指南

    AT91SAM7S/7X ADS下調試指南

    作者: 時間:2012-09-22 來源:網絡 收藏
    關于AT91SAM7X256的開發仿真,一直困擾著我們的客戶,所以,我們在百特的幫助下,終于搞清楚了具體調試開發的注意事項。

    我們要仿真,首先要知道內部7X256的內部RAM地址是多少,假如FLASH沒有任何程序的情況下,內部的FLASH和RAM到底地址是多少,假如運行應用程序的情況下呢?
    分析清楚了以上的問題,就很快可以掌握開發的步驟和仿真的環境了。

    我們帶著這些疑問,首先應該做的事情就是看懂DATASHEET中所說的內存影射的這個地方。

    datasheet里相關的內容略

    以下是我對這個芯片MAPING的理解,無非是以下這三個東西的位置問題:

    [#ff0000]InternalROM,是芯片出廠就固化好的,應用廠商無須關注,地址是在0X300000。只要知道GPNVMBit2決定了是從InternalROM啟動或者從InternalFlash啟動。

    InternalRAM,在芯片復位到執行REMAP指令前地址都是0X200000,執行REMAP后,地址就變成了0X0。

    InternalFlash,這里有一個問題,要先說明,就是說應用程序運行一定要在0地址,才能運行。GPNVMBit2就決定了系統復位后,是從InternalFlash這里運行,還是從InternalROM這里運行。當然他在任何時候都有固定的地址:0X100000。那么在系統復位后直接執行REMAP命令前,InternalFlash的地址都是0X0.[/#]

    分析清楚后,我們就來說仿真的事情,如果您要在FLASH里面仿真,直接將程序燒寫到FLASH,就可以直接仿真了,因為任何時候,只要系統復位后,而且沒有執行REMAP指令之前,FLASH的地址都是0X0。所以,即使你有中斷的程序也不怕(中斷向量一定要寫到0X0)。

    那么如何在RAM里面進行應用程序的仿真呢,就要說清楚呢,因為RAM地址只有是在REMAP之后才可以變成0X0。所以,在RAM中仿真應該是這樣的,首先在編譯你應用程序的時候,就要確定好了程序裝載到RAM中的地址,這里是0X200000,在1.2中有設置。然后,程序單步執行初始化后,就會執行REMAP指令,將0X200000的地址影射成0X0。這樣,你的中斷程序就可以運行呢。

    對于系列也好,AT91SAM7X系列也好,執行REMAP指令,是這樣執行的:
    AT91C_BASE_MC->MC_RCR=1;//內存重映射

    經過我們反復實驗,在調試AT91SAM7X256開發板的時候,只有一個中間代理軟件是最好用的,這個就是由TWENTYONE先生開發的H-JTAG軟件。


    關鍵詞: AT91SAM7S ADS 調試指南

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 阳西县| 霍林郭勒市| 灌云县| 广灵县| 扶沟县| 南召县| 襄汾县| 鹤庆县| 白沙| 额济纳旗| 柳江县| 桃源县| 浮梁县| 兴城市| 龙井市| 呈贡县| 饶河县| 南溪县| 安新县| 浪卡子县| 盐亭县| 清苑县| 万载县| 蓝山县| 理塘县| 德保县| 郯城县| 肥乡县| 繁昌县| 那曲县| 新蔡县| 平泉县| 宁陵县| 平南县| 永吉县| 定陶县| 海原县| 子长县| 麟游县| 临潭县| 库车县|