亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

蟲蟲首頁| 資源下載| 資源專輯| 精品軟件
登錄| 注冊

remap

在ROM從0x0用幾句指令引導系統之后,把RAM映射到0x0就是remap
  • lpc2104的Boot和remap祥解

    lpc2104的Boot和remap祥解

    標簽: remap 2104 Boot lpc

    上傳時間: 2014-01-20

    上傳用戶:zhanditian

  • 詳細解釋了remap的實現過程

    詳細解釋了remap的實現過程,從中你可以了解到ARM中地址重映射的美妙

    標簽: remap 過程

    上傳時間: 2013-12-26

    上傳用戶:gut1234567

  • LPC2104的Boot和remap詳解,非常實用。歡迎下載。

    LPC2104的Boot和remap詳解,非常實用。歡迎下載。

    標簽: remap 2104 Boot LPC

    上傳時間: 2014-01-17

    上傳用戶:tedo811

  • LPC2104的boot與remap詳解.pdf

    LPC2104的boot與remap詳解.pdf

    標簽: remap 2104 boot LPC

    上傳時間: 2013-12-02

    上傳用戶:gtf1207

  • ARM嵌入式系統 LPC 22xx 存儲器映射remap實驗代碼

    ARM嵌入式系統 LPC 22xx 存儲器映射remap實驗代碼

    標簽: remap ARM LPC 22

    上傳時間: 2013-12-22

    上傳用戶:zhangyi99104144

  • AT91SAM7 SWI, remap, GPIO, PIT and stdio Example ( Gamma )

    AT91SAM7 SWI, remap, GPIO, PIT and stdio Example ( Gamma )

    標簽: Example remap Gamma stdio

    上傳時間: 2013-12-24

    上傳用戶:woshini123456

  • 數值微分和數值積分:Newton-Cotes公式、復化公式和區間逐次半分法、外推法和Romberg積分、自適應Simpson積分法 [remap.rar] - EASYARM2200教學實驗平臺上

    數值微分和數值積分:Newton-Cotes公式、復化公式和區間逐次半分法、外推法和Romberg積分、自適應Simpson積分法 [remap.rar] - EASYARM2200教學實驗平臺上的存儲器映射

    標簽: Newton-Cotes EASYARM Romberg Simpson

    上傳時間: 2013-12-17

    上傳用戶:685

  • ARM處理器的Boot與remap

    文檔為ARM處理器的Boot與remap總結文檔,是一份不錯的參考資料,感興趣的可以下載看看,,,,,,,,,,,,,

    標簽: arm

    上傳時間: 2022-06-27

    上傳用戶:

  • at91rm9200啟動過程教程

    at91rm9200啟動過程教程 系統上電,檢測BMS,選擇系統的啟動方式,如果BMS為高電平,則系統從片內ROM啟動。AT91RM9200的ROM上電后被映射到了0x0和0x100000處,在這兩個地址處都可以訪問到ROM。由于9200的ROM中固化了一個BOOTLOAER程序。所以PC從0X0處開始執行這個BOOTLOAER(準確的說應該是一級BOOTLOADER)。這個BOOTLOER依次完成以下步驟: 1、PLL SETUP,設置PLLB產生48M時鐘頻率提供給USB DEVICE。同時DEBUG USART也被初始化為48M的時鐘頻率; 2、相應模式下的堆棧設置; 3、檢測主時鐘源(Main oscillator); 4、中斷控制器(AIC)的設置; 5、C 變量的初始化; 6、跳到主函數。 完成以上步驟后,我們可以認為BOOT過程結束,接下來的就是LOADER的過程,或者也可以認為是裝載二級BOOTLOER。AT91RM9200按照DATAFLASH、EEPROM、連接在外部總線上的8位并行FLASH的順序依次來找合法的BOOT程序。所謂合法的指的是在這些存儲設備的開始地址處連續的存放的32個字節,也就是8條指令必須是跳轉指令或者裝載PC的指令,其實這樣規定就是把這8條指令當作是異常向量表來處理。必須注意的是第6條指令要包含將要裝載的映像的大小。關于如何計算和寫這條指令可以參考用戶手冊。一旦合法的映像找到之后,則BOOT程序會把找到的映像搬到SRAM中去,所以映像的大小是非常有限的,不能超過16K-3K的大小。當BOOT程序完成了把合法的映像搬到SRAM的任務以后,接下來就進行存儲器的remap,經過remap之后,SRAM從映設前的0X200000地址處被映設到了0X0地址并且程序從0X0處開始執行。而ROM這時只能在0X100000這個地址處看到了。至此9200就算完成了一種形式的啟動過程。如果BOOT程序在以上所列的幾種存儲設備中找到合法的映像,則自動初始化DEBUG USART口和USB DEVICE口以準備從外部載入映像。對DEBUG口的初始化包括設置參數115200 8 N 1以及運行XMODEM協議。對USB DEVICE進行初始化以及運行DFU協議。現在用戶可以從外部(假定為PC平臺)載入你的映像了。在PC平臺下,以WIN2000為例,你可以用超級終端來完成這個功能,但是還是要注意你的映像的大小不能超過13K。一旦正確從外部裝載了映像,接下來的過程就是和前面一樣重映設然后執行映像了。我們上面講了BMS為高電平,AT91RM9200選擇從片內的ROM啟動的一個過程。如果BMS為低電平,則AT91RM9200會從片外的FLASH啟動,這時片外的FLASH的起始地址就是0X0了,接下來的過程和片內啟動的過程是一樣的,只不過這時就需要自己寫啟動代碼了,至于怎么寫,大致的內容和ROM的BOOT差不多,不同的硬件設計可能有不一樣的地方,但基本的都是一樣的。由于片外FLASH可以設計的大,所以這里編寫的BOOTLOADER可以一步到位,也就是說不用像片內啟動可能需要BOOT好幾級了,目前AT91RM9200上使用較多的bootloer是u-boot,這是一個開放源代碼的軟件,用戶可以自由下載并根據自己的應用配置。總的說來,筆者以為AT91RM9200的啟動過程比較簡單,ATMEL的服務也不錯,不但提供了片內啟動的功能,還提供了UBOOT可供下載。筆者寫了一個BOOTLODER從片外的FLASHA啟動,效果還可以。 uboot結構與使用uboot是一個龐大的公開源碼的軟件。他支持一些系列的arm體系,包含常見的外設的驅動,是一個功能強大的板極支持包。其代碼可以 http://sourceforge.net/projects/u-boot下載 在9200上,為了啟動uboot,還有兩個boot軟件包,分別是loader和boot。分別完成從sram和flash中的一級boot。其源碼可以從atmel的官方網站下載。 我們知道,當9200系統上電后,如果bms為高電平,則系統從片內rom啟動,這時rom中固化的boot程序初始化了debug口并向其發送'c',這時我們打開超級終端會看到ccccc...。這說明系統已經啟動,同時xmodem協議已經啟動,用戶可以通過超級終端下載用戶的bootloader。作為第一步,我們下載loader.bin.loader.bin將被下載到片內的sram中。這個loder完成的功能主要是初始化時鐘,sdram和xmodem協議,為下載和啟動uboot做準備。當下載了loader.bin后,超級終端會繼續打印:ccccc....。這時我們就可以下在uboot了。uboot將被下載到sdram中的一個地址后并把pc指針調到此處開始執行uboot。接著我們就可以在終端上看到uboot的shell啟動了,提示符uboot>,用戶可以uboot>help 看到命令列表和大概的功能。uboot的命令包含了對內存、flash、網絡、系統啟動等一些命令。 如果系統上電時bms為低電平,則系統從片外的flash啟動。為了從片外的flash啟動uboot,我們必須把boot.bin放到0x0地址出,使得從flash啟動后首先執行boot.bin,而要少些boot.bin,就要先完成上面我們講的那些步驟,首先開始從片內rom啟動uboot。然后再利用uboot的功能完成把boot.bin和uboot.gz燒寫到flash中的目的,假如我們已經啟動了uboot,可以這樣操作: uboot>protect off all uboot>erase all uboot>loadb 20000000 uboot>cp.b 20000000 10000000 5fff uboot>loadb 21000000 uboot>cp.b 210000000 10010000 ffff 然后系統復位,就可以看到系統先啟動boot,然后解壓縮uboot.gz,然后啟動uboot。注意,這里uboot必須壓縮成.gz文件,否則會出錯。 怎么編譯這三個源碼包呢,首先要建立一個arm的交叉編譯環境,關于如何建立,此處不予說明。建立好了以后,分別解壓源碼包,然后修改Makefile中的編譯器項目,正確填寫你的編譯器的所在路徑。 對loader和boot,直接make。對uboot,第一步:make_at91rm9200dk,第二步:make。這樣就會在當前目錄下分別生成*.bin文件,對于uboot.bin,我們還要壓縮成.gz文件。 也許有的人對loader和boot搞不清楚為什么要兩個,有什么區別嗎?首先有區別,boot主要完成從flash中啟動uboot的功能,他要對uboot的壓縮文件進行解壓,除此之外,他和loader并無大的區別,你可以把boot理解為在loader的基礎上加入了解壓縮.gz的功能而已。所以這兩個并無多大的本質不同,只是他們的使命不同而已。 特別說名的是這三個軟件包都是開放源碼的,所以用戶可以根據自己的系統的情況修改和配置以及裁減,打造屬于自己系統的bootloder。

    標簽: 9200 at 91 rm

    上傳時間: 2013-10-27

    上傳用戶:wsf950131

  • 使用jtag接口通過網口燒寫程序

    什么是JTAG 到底什么是JTAG呢? JTAG(Joint Test Action Group)聯合測試行動小組)是一種國際標準測試協議(IEEE 1149.1兼容),主要用于芯片內部測試。現在多數的高級器件都支持JTAG協議,如DSP、FPGA器件等。標準的JTAG接口是4線:TMS、 TCK、TDI、TDO,分別為模式選擇、時鐘、數據輸入和數據輸出線。 JTAG最初是用來對芯片進行測試的,基本原理是在器件內部定義一個TAP(Test Access Port�測試訪問口)通過專用的JTAG測試工具對進行內部節點進行測試。JTAG測試允許多個器件通過JTAG接口串聯在一起,形成一個JTAG鏈,能實現對各個器件分別測試。現在,JTAG接口還常用于實現ISP(In-System rogrammable�在線編程),對FLASH等器件進行編程。 JTAG編程方式是在線編程,傳統生產流程中先對芯片進行預編程現再裝到板上因此而改變,簡化的流程為先固定器件到電路板上,再用JTAG編程,從而大大加快工程進度。JTAG接口可對PSD芯片內部的所有部件進行編程 JTAG的一些說明 通常所說的JTAG大致分兩類,一類用于測試芯片的電氣特性,檢測芯片是否有問題;一類用于Debug;一般支持JTAG的CPU內都包含了這兩個模塊。 一個含有JTAG Debug接口模塊的CPU,只要時鐘正常,就可以通過JTAG接口訪問CPU的內部寄存器和掛在CPU總線上的設備,如FLASH,RAM,SOC(比如4510B,44Box,AT91M系列)內置模塊的寄存器,象UART,Timers,GPIO等等的寄存器。 上面說的只是JTAG接口所具備的能力,要使用這些功能,還需要軟件的配合,具體實現的功能則由具體的軟件決定。 例如下載程序到RAM功能。了解SOC的都知道,要使用外接的RAM,需要參照SOC DataSheet的寄存器說明,設置RAM的基地址,總線寬度,訪問速度等等。有的SOC則還需要remap,才能正常工作。運行Firmware時,這些設置由Firmware的初始化程序完成。但如果使用JTAG接口,相關的寄存器可能還處在上電值,甚至時錯誤值,RAM不能正常工作,所以下載必然要失敗。要正常使用,先要想辦法設置RAM。在ADW中,可以在Console窗口通過Let 命令設置,在AXD中可以在Console窗口通過Set命令設置。

    標簽: jtag 接口 燒寫程序

    上傳時間: 2013-10-23

    上傳用戶:aeiouetla

主站蜘蛛池模板: 海南省| 海城市| 元朗区| 堆龙德庆县| 鄂州市| 涞水县| 麻江县| 炉霍县| 阿克| 印江| 甘孜县| 米易县| 澄江县| 洛浦县| 淮安市| 正蓝旗| 舟曲县| 黄骅市| 凤台县| 西丰县| 商南县| 工布江达县| 无棣县| 贵溪市| 长垣县| 乐清市| 敦化市| 凯里市| 蒲江县| 新宁县| 九江市| 曲周县| 庆城县| 昭苏县| 敦化市| 甘肃省| 时尚| 江都市| 东乌珠穆沁旗| 长岭县| 内乡县|