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

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

SRAM

靜態隨機存取存儲器(StaticRandom-AccessMemory,SRAM)是隨機存取存儲器的一種。所謂的“靜態”,是指這種存儲器只要保持通電,里面儲存的數據就可以恒常保持。相對之下,動態隨機存取存儲器(DRAM)里面所儲存的數據就需要周期性地更新。然而,當電力供應停止時,SRAM儲存的數據還是會消失(被稱為volatilememory),這與在斷電后還能儲存資料的ROM或閃存是不同的。
  • 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

  • AVR單片機與GCC編程

    AVR 單片機與GCC編程 目錄第一章 AVR 單片機開發概述1.1 一個簡簡單的例子1.2 用MAKEFILE 管理項目1.3 開發環境的配置第二章 存儲器操作2.1 AVR 單片機存儲器組織結構2.2 I/O 寄存器操作2.3 SRAM 內變量的使用2.4 在程序中訪問FLASH 程序存儲器2.5 EEPROM 數據存儲器操作2.6 avr-gcc 段結構與再定位第三章 功能模塊編程示例3.1 中斷服務程序3.2 定時器/計數器應用3.3 看門狗應用3.4 UART 應用3.5 PWM 功能編程3.6 模擬比較器3.7 A/D 轉換模塊編程第四章 使用C 語言標準I/O 流調試程序4.1 avr-libc 標準I/O 流描述4.2 利用標準I/0 流調試程序第五章 AT89S52 下載編程器的制作5.1 LuckyProg S52 概述5.2 AT89S52 ISP 功能簡介5.3 程序設計第六章 硬件TWI 端口編程6.1 TWI 模塊概述6.2 主控模式操作實時時鐘DS13076.3 兩個Mega8 間的TWI 通信第七章 BootLoader 功能應用7.1 BootLoader 功能介紹7.2 avr-libc 對BootLoader 的支持7.3 BootLoader 應用實例 第八章 匯編語言支持8.1 C 代碼中內聯匯編程序8.2 獨立的匯編語言支持8.3 C 與匯編混合編程第九章 C++語言支持結束語附錄 1 avr-gcc 選項附錄 2 ihex 格式描述

    標簽: AVR GCC 單片機 編程

    上傳時間: 2013-10-26

    上傳用戶:wangyi39

  • 一種基于8051核SoC引導程序的設計與實現

    引導程序的開發是系統芯片設計的重要組成部分。針對基于8051核的某控制系統芯片的具體要求,提出了一種系統芯片引導程序的設計策略。該策略思路是:當系統上電復位后,開始執行固化在系統芯片中的引導程序,并加載存儲于片外串行接口Flash的用戶程序到片內SRAM中;加載完成后,程序無條件跳到SRAM中執行用戶程序。在分析該系統芯片組成的基礎上,重點闡述了引導程序開發面臨的問題、解決的思路、引導程序的具體實現及開發編譯環境的配置。該方案對其它系統芯片引導程序的設計具有一定的參考價值。

    標簽: 8051 SoC 引導程序

    上傳時間: 2013-11-23

    上傳用戶:zhtzht

  • 基于CPLD與單片機的高速數據采集系統

    本文針對新型匝間耐壓測試儀中需要高速采集數據的問題提出了一種結合CPLD 與單片機的高速數據采集系統設計方案。CPLD 產生A/D 芯片的控制時序以及SRAM 的讀寫控制時序,單片機輸出給CPLD控制A/D 轉換的啟動信號,并通過CPLD 讀取SRAM 中的采樣數據。該系統具有較好的可移植性。

    標簽: CPLD 單片機 高速數據 采集系統

    上傳時間: 2013-11-15

    上傳用戶:狗日的日子

  • 帶24位AD轉換的51單片機MSC1210及其應用

    無論是功能,還是性能,德州儀器(TI)的MSC1210單片機都達到了混合信號處理的顛峰,它集成了一個增強型8051內核,有8路24位低功耗(4roW)A. A/D轉換器;21個中斷源;16位PWM;全雙工UART(并兼容有SPI功能);停止方式電流小于1 A;比標準8051內核執行速度快3倍且全兼容;片內集成32K字節FLASH,而且FLASH可定義為程序分區與數據存儲分區,給設計帶來非常大的靈活性;片內SRAM也多達1.2K字節;采用TQFP64小型封裝。由于具有如此高的模擬和數字集成度,對各種要求小體積、高集成度和精確測量而言,MCS1210實為理想的整合選擇。表1列出MSC1210的主要特性。

    標簽: 1210 MSC 24位 AD轉換

    上傳時間: 2013-10-11

    上傳用戶:yangzhiwei

  • LPC3220與LPC3250在引腳上的區別

    通過查看LPC3220和LPC3250相關的用戶手冊,發現LPC3250在功能上向下兼容LPC3220,其中LPC3220相對于LPC3250缺少了LCD控制器和以太網控制器,并且LPC3220的內部SRAM是LPC3250的一

    標簽: LPC 3220 3250 引腳

    上傳時間: 2013-12-30

    上傳用戶:zczc

  • MCS-51單片機數據存儲器的擴展

    MCS-51單片機數據存儲器的擴展:3 數據存儲器的擴展MCS-51單片機內部有128或256個字節的數據存儲器,這些存儲器通常被用作工作寄存器、堆棧、臨時變量等等,一般已經夠用,但是如果系統要存儲大量的數據,比如數據采集系統,那么片內的數據存儲器就不夠用了,需要進行擴展。3.1 常用的數據存儲器單片機中常用的數據存儲器是靜態RAM存儲器(SRAM),圖7是幾種常用的數據存儲器的引腳圖,以62256為例介紹,其中:A0~A14:地址輸入線;D0~D7:數據線; CE:選片信號輸入線,低電平有效; OE:讀選通信號輸入線,低電平有效; WE:寫選通信號輸入線,低電平有效;CE2:6264芯片的高有效選通端;VCC:工作電源,一般接+5V;GND:工作地.

    標簽: MCS 51 單片機 數據存儲器

    上傳時間: 2013-10-28

    上傳用戶:jkhjkh1982

  • SPCE061A單片機硬件結構

    SPCE061A單片機硬件結構 從第一章中SPCE061A的結構圖可以看出SPCE061A的結構比較簡單,在芯片內部集成了ICE仿真電路接口、FLASH程序存儲器、SRAM數據存儲器、通用IO端口、定時器計數器、中斷控制、CPU時鐘、模-數轉換器AD、DAC輸出、通用異步串行輸入輸出接口、串行輸入輸出接口、低電壓監測低電壓復位等若干部分。各個部分之間存在著直接或間接的聯系,在本章中我們將詳細的介紹每個部分結構及應用。2.1 μ’nSP™的內核結構μ’nSP™的內核如0所示其結構。它由總線、算術邏輯運算單元、寄存器組、中斷系統及堆棧等部分組成,右邊文字為各部分簡要說明。算術邏輯運算單元ALUμ’nSP™的ALU在運算能力上很有特色,它不僅能做16位基本的算術邏輯運算,也能做帶移位操作的16位算術邏輯運算,同時還能做用于數字信號處理的16位×16位的乘法運算和內積運算。1. 16位算術邏輯運算不失一般性,μ’nSP™與大多數CPU類似,提供了基本的算術運算與邏輯操作指令,加、減、比較、取補、異或、或、與、測試、寫入、讀出等16位算術邏輯運算及數據傳送操作。2. 帶移位操作的16位算邏運算對圖2.1稍加留意,就會發現μ’nSP™的ALU前面串接有一個移位器SHIFTER,也就是說,操作數在經過ALU的算邏操作前可先進行移位處理,然后再經ALU完成算邏運算操作。移位包括:算術右移、邏輯左移、邏輯右移、循環左移以及循環右移。所以,μ’nSP™的指令系統里專有一組復合式的‘移位算邏操作’指令;此一條指令完成移位和算術邏輯操作兩項功能。程序設計者可利用這些復合式的指令,撰寫更精簡的程序代碼,進而增加程序代碼密集度 (Code Density)。在微控制器應用中,如何增加程序代碼密集度是非常重要的議題;提高程序代碼密集度意味著:減少程序代碼的大小,進而減少ROM或FLASH的需求,以此降低系統成本與增加執行效能。

    標簽: SPCE 061A 061 單片機

    上傳時間: 2013-10-10

    上傳用戶:星仔

  • 基于單片機的現場可編程門陣列的配置

    本文介紹了基于SRAM 查找表的現場可重配置FPGA 的結構和原理,及其配置方法,通過對多種配置方法的比較,提出了由單片機和EPROM 存儲器組成的串行配置方式。這種方式結構簡單,設計保密性好,易于升級,降低設計成本。在大規模可編程邏輯器件出現以前,把器件焊接在電路板上是設計數字系統的最后一步。當設計存在問題并解決后,設計者往往不得不重新設計印制電路板。設計周期長,設計效率低。CPLD 、FPGA 出現后,利用其在系統可編程或可重配置功能,設計者可以在進行邏輯設計而未進行電路設計時就把CPLD、FPGA 焊接在電路板上,然后在設計調試時可一次次隨心所欲的改變電路的硬件邏輯關系,而不用改變電路板的結構。

    標簽: 單片機 現場可編程門陣列

    上傳時間: 2013-10-29

    上傳用戶:born2007

  • AVR單片機GCC程序設計

    AVR單片機GCC程序設計:第一章 概述1.1 AVR 單片機GCC 開發概述1.2 一個簡單的例子1.3 用MAKEFILE 管理項目1.4 開發環境的配置1.5 實驗板CA-M8第二章 存儲器操作編程2.1 AVR 單片機存儲器組織結構2.2 I/O 寄存器操作2.3 SRAM 內變量的使用2.4 在程序中訪問FLASH 程序存儲器2.5 EEPROM 數據存儲器操作2.6 avr-gcc 段結構與再定位2.7 外部RAM 存儲器操作2.8 堆應用第三章 GCC C 編譯器的使用3.1 編譯基礎3.2 生成靜態連接庫第四章 AVR 功能模塊應用實驗4.1 中斷服務程序4.2 定時器/計數器應用4.3 看門狗應用4.4 UART 應用4.5 PWM 功能編程4.6 模擬比較器4.7 A/D 轉換模塊編程4.8 數碼管顯示程序設計4.9 鍵盤程序設計4.10 蜂鳴器控制第五章 使用C 語言標準I/O 流調試程序5.1 avr-libc 標準I/O 流描述5.2 利用標準I/0 流調試程序5.3 最小化的格式化的打印函數第六章 CA-M8 上實現AT89S52 編程器的實現6.1 編程原理6.2 LuckyProg2004 概述6.3 AT989S52 isp 功能簡介6.4 下位機程序設計第七章 硬件TWI 端口編程7.1 TWI 模塊概述7.2 主控模式操作實時時鐘DS13077.3 兩個Mega8 間的TWI 通信第八章 BootLoader 功能應用8.1 BootLoader 功能介紹8.2 avr-libc 對BootLoader 的支持8.3 BootLoader 應用實例8.4 基于LuckyProg2004 的BootLoader 程序第九章 匯編語言支持9.1 C 代碼中內聯匯編程序9.2 獨立的匯編語言支持9.3 C 與匯編混合編程第十章 C++語言支持附錄 1 avr-gcc 選項附錄 2 Intel HEX 文件格式描述

    標簽: AVR GCC 單片機

    上傳時間: 2014-04-03

    上傳用戶:ligi201200

主站蜘蛛池模板: 沈丘县| 郎溪县| 黄山市| 女性| 烟台市| 阿拉尔市| 明星| 邳州市| 方城县| 虎林市| 上杭县| 龙岩市| 湘乡市| 威远县| 合江县| 长葛市| 彩票| 吉木乃县| 青神县| 黑河市| 新余市| 灵丘县| 邓州市| 吉林省| 同德县| 贡山| 江北区| 泾阳县| 靖宇县| 义马市| 青冈县| 清镇市| 连云港市| 太康县| 房产| 惠水县| 伊川县| 郸城县| 化德县| 保定市| 阿尔山市|