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

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

sRAM

靜態(tài)隨機(jī)存取存儲器(StaticRandom-AccessMemory,sRAM)是隨機(jī)存取存儲器的一種。所謂的“靜態(tài)”,是指這種存儲器只要保持通電,里面儲存的數(shù)據(jù)就可以恒常保持。相對之下,動態(tài)隨機(jī)存取存儲器(DRAM)里面所儲存的數(shù)據(jù)就需要周期性地更新。然而,當(dāng)電力供應(yīng)停止時,sRAM儲存的數(shù)據(jù)還是會消失(被稱為volatilememory),這與在斷電后還能儲存資料的ROM或閃存是不同的。
  • at91rm9200啟動過程教程

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

    標(biāo)簽: 9200 at 91 rm

    上傳時間: 2013-10-27

    上傳用戶:wsf950131

  • AVR單片機(jī)與GCC編程

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

    標(biāo)簽: AVR GCC 單片機(jī) 編程

    上傳時間: 2013-10-26

    上傳用戶:wangyi39

  • 一種基于8051核SoC引導(dǎo)程序的設(shè)計與實現(xiàn)

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

    標(biāo)簽: 8051 SoC 引導(dǎo)程序

    上傳時間: 2013-11-23

    上傳用戶:zhtzht

  • 基于CPLD與單片機(jī)的高速數(shù)據(jù)采集系統(tǒng)

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

    標(biāo)簽: CPLD 單片機(jī) 高速數(shù)據(jù) 采集系統(tǒng)

    上傳時間: 2013-11-15

    上傳用戶:狗日的日子

  • 帶24位AD轉(zhuǎn)換的51單片機(jī)MSC1210及其應(yīng)用

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

    標(biāo)簽: 1210 MSC 24位 AD轉(zhuǎn)換

    上傳時間: 2013-10-11

    上傳用戶:yangzhiwei

  • LPC3220與LPC3250在引腳上的區(qū)別

    通過查看LPC3220和LPC3250相關(guān)的用戶手冊,發(fā)現(xiàn)LPC3250在功能上向下兼容LPC3220,其中LPC3220相對于LPC3250缺少了LCD控制器和以太網(wǎng)控制器,并且LPC3220的內(nèi)部sRAM是LPC3250的一

    標(biāo)簽: LPC 3220 3250 引腳

    上傳時間: 2013-12-30

    上傳用戶:zczc

  • MCS-51單片機(jī)數(shù)據(jù)存儲器的擴(kuò)展

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

    標(biāo)簽: MCS 51 單片機(jī) 數(shù)據(jù)存儲器

    上傳時間: 2013-10-28

    上傳用戶:jkhjkh1982

  • SPCE061A單片機(jī)硬件結(jié)構(gòu)

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

    標(biāo)簽: SPCE 061A 061 單片機(jī)

    上傳時間: 2013-10-10

    上傳用戶:星仔

  • 基于單片機(jī)的現(xiàn)場可編程門陣列的配置

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

    標(biāo)簽: 單片機(jī) 現(xiàn)場可編程門陣列

    上傳時間: 2013-10-29

    上傳用戶:born2007

  • AVR單片機(jī)GCC程序設(shè)計

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

    標(biāo)簽: AVR GCC 單片機(jī)

    上傳時間: 2014-04-03

    上傳用戶:ligi201200

主站蜘蛛池模板: 东乌珠穆沁旗| 巨野县| 库车县| 宜宾市| 长海县| 夹江县| 车险| 崇信县| 平谷区| 江口县| 鄱阳县| 石家庄市| 苗栗市| 西宁市| 扎囊县| 太湖县| 黔江区| 西城区| 和硕县| 海林市| 琼结县| 静宁县| 囊谦县| 溧水县| 全南县| 富阳市| 侯马市| 尚志市| 赤城县| 永昌县| 基隆市| 田林县| 锦屏县| 固原市| 乐山市| 乐东| 宁都县| 三台县| 阿荣旗| 扎兰屯市| 和静县|