當前位置:首頁 » 存儲配置 » 存儲器啟動配置

存儲器啟動配置

發布時間: 2024-10-22 22:05:18

❶ 華碩筆記本如何在BIOS里把U盤設為第一啟動項

尊敬的華碩用戶,您好!

開機F2載入BIOS界面—【Boot】選項卡--【Boot Option Priorities】選項—選中【Boot Option #1】按Enter確認,在Boot option#1的選項列表中選擇USB設備。

❷ 根據計算機存儲器記錄信息原理的不同可分為哪三類

存儲器不僅可以分為三類。因為按照不同的劃分方法,存儲器可分為不同種類。常見的分類方法如下。

一、按存儲介質劃分

1、半導體存儲器:用半導體器件組成的存儲器。

2、磁表面存儲器:用磁性材料做成的存儲器。

二、按存儲方式劃分

1、隨機存儲器:任何存儲單元的內容都能被隨機存取,且存取時間和存儲單元的物理位置無關。

2、順序存儲器:只能按某種順序來存取,存取時間和存儲單元的物理位置有關。

三、按讀寫功能劃分

1、只讀存儲器(ROM):存儲的內容是固定不變的,只能讀出而不能寫入的半導體存儲器。

2、隨機讀寫存儲器(RAM):既能讀出又能寫入的存儲器。

四、按資料保存師

1、非永久存儲器:斷電時信息消失的存儲器。

2、永久存儲器:斷電後仍能保存信巧團息的存儲器。

五、按用途分類

1、主存:主存用於存儲計算機運行過程中大量的程序和數據,存取速度快,存儲容量小。

2、外部存儲:外部存儲系統程序和大數據文件及資料庫存儲容量,單位成本低。

3、高速緩存存儲器:高速緩存存儲器訪問指令和數據速度快,但存儲容量小。

(2)存儲器啟動配置擴展閱讀:

1、內部存儲和外部存儲

一般來說,內部存儲是最經濟但最不靈活的,因此用戶必須確定未來對存儲的需求是否會增長,以及是否有某種方法可以升級到具有更多代碼空間的微控制器。用戶通常根據搏猛成本選擇能滿足應用要求的內存容量最小的單片機。

2、啟動存儲

在較大的微控制器或基於處理器的系統中,用戶可以用引導代碼進行初始化。應用程序本身通常決定是否需要引導代碼,以及是否需要專用的引導存儲。

3、配置存儲

對於現場可編程門陣列(fpga)或片上系統(SoC),存儲器可以用來存儲配置信息。這種存儲器必須是非易失的EPROM、EEPROM或快閃記憶體。在大多數情況下,FPGA使用SPI介面,但一些較老的設備仍然使用FPGA串列介面。

4、程序存儲

所有有處理器的系統都使用程序內存,但是用戶必須決定內存是在處理器內部還是外部。做出此決定後,用戶可以進一步確定存儲的容量和類型。

5、數據存儲

類似於程序存儲器,數據存儲器可以位於一個微控制器或一個孝銀橘外部設備,但有一些不同的兩種情況。有時微控制器內部包含SRAM(易失性)和EEPROM(非易失性)數據存儲器,但有時它不包含內部EEPROM,在這種情況下,當需要存儲大量數據時,用戶可以選擇外部串列EEPROM或串列快閃記憶體設備。

6、易失性和非易失性存儲器

內存可以分為易失性內存(在斷電後丟失數據)和非易失性內存(在斷電後保留數據)。用戶有時會將易失性內存與備用電池一起使用,以實現類似於非易失性設備的功能,但這可能比簡單地使用非易失性內存更昂貴。

7、串列存儲器和並行存儲器

對於較大的應用程序,微控制器通常沒有足夠大的內存。必須使用外部存儲器,因為外部定址匯流排通常是並行的,外部程序存儲器和數據存儲器也將是並行的。

8、EEPROM和快閃記憶體

內存技術的成熟已經模糊了RAM和ROM之間的區別,現在有一些類型的內存(如EEPROM和快閃記憶體)結合了兩者的特點。這些設備像RAM一樣讀寫,在斷電時像ROM一樣保存數據。它們都是電可擦可編程的,但各有優缺點。

❸ 怎麼配置RAID0

1、Intel晶元組和AMD晶元組都可以基本支持各種磁碟陣列模式的構建,因此設置RAID0磁碟陣列非常簡單。首先准備兩個硬碟驅動器,同時,首先將硬碟驅動器與主板上的操作系統拔下,以免替換設置,可惜破壞了以前的硬碟驅動器數據。

❹ 如何燒寫u-boot到SD卡

長話短說開始搞SD卡燒寫UBOOT,從SD啟動UBOOT。
從s5pv210_irom_applicationnote_preliminary_20091126.pdf知道,s5pv210啟動分BL0、BL1、BL2階段。BL0是s5pv210內部IROM固化的代碼,這段代碼根據OM引腳配置狀態來選擇從哪個外部存儲設備載入BL1段代碼(實際上BL1代碼就是我們編寫的UBOOT的前8K代碼,這段代碼要包含完整的將後半部UBOOT代碼復制和清bss段的功能,當然我們要從SD卡啟動燒寫在上面的UBOOT,OM引腳就必須配置為從SD卡啟動配置)。

圖1
從上圖可知,從sd啟動的時候BL0載入的代碼是從第512個位元組處開始載入代碼,為什麼要這樣做呢?由於以後功能擴展的需要三星的軟體工程師寫的固化到IROM中的BL0代碼是從SD卡的512位元組處載入BL1的,他就是這樣寫的,我們對應UBOOT放置在SD卡中的位置就要往後移動512位元組,後面有介紹怎麼指定把uboot寫到sd卡指定的位置的命令。
還有一定要注意如下所示的地方:

圖2
在BL1之前要加16個位元組的頭部信息。也就是在真正的UBOOT第一條指令之前要加16個位元組的頭部信息,於是就有我們所看到的uboot代碼如下的用宏定義的一段:

[cpp] view plain
#if defined(CONFIG_EVT1) && !defined(CONFIG_FUSED)
.word 0x2000
.word 0x0
.word 0x0
.word 0x0
#endif

.globl _start
_start: b reset
ldr pc, _undefined_instruction
ldr pc, _software_interrupt
ldr pc, _prefetch_abort

其中的
.word 0x2000 代表BL1size(8K長度),.word 0x0 為保留位元組 .word 0x0為checksum(後續會通過一個mkbl1工具來計算bl1的checksum並填寫這個位置),最後一個.word 0x0也為保留位元組。

再來看看uboot的下面的部分,如果bl0正常讀取了bl1,代碼就會到如下段:

[cpp] view plain
/* Read booting information */
ldr r0, =PRO_ID_BASE
ldr r1, [r0,#OMR_OFFSET] //讀OM引腳的配置狀態
bic r2, r1, #0xffffffc1

#ifdef CONFIG_VOGUES
/* PS_HOLD(GPH0_0) set to output high */
ldr r0, =ELFIN_GPIO_BASE
ldr r1, =0x00000001
str r1, [r0, #GPH0CON_OFFSET]

ldr r1, =0x5500
str r1, [r0, #GPH0PUD_OFFSET]

ldr r1, =0x01
str r1, [r0, #GPH0DAT_OFFSET]
#endif

/* NAND BOOT */
cmp r2, #0x0 @ 512B 4-cycle
moveq r3, #BOOT_NAND //根據OM引腳配置狀態來給R3寄存器賦予代表系統是從何沖外部存儲器啟動的配置值。

cmp r2, #0x2 @ 2KB 5-cycle
moveq r3, #BOOT_NAND

cmp r2, #0x4 @ 4KB 5-cycle 8-bit ECC
moveq r3, #BOOT_NAND

cmp r2, #0x6 @ 4KB 5-cycle 16-bit ECC
moveq r3, #BOOT_NAND

cmp r2, #0x8 @ OneNAND Mux
moveq r3, #BOOT_ONENAND

/* SD/MMC BOOT */
cmp r2, #0xc<pre name="code" class="cpp"> ldr sp, _TEXT_PHY_BASE /* setup temp stack pointer */
sub sp, sp, #12
mov fp, #0 /* no previous frame, so fp=0 */

/* when we already run in ram, we don't need to relocate U-Boot.
* and actually, memory controller must be configured before U-Boot
* is running in ram.
*/
ldr r0, =0xff000fff
bic r1, pc, r0 /* r0 <- current base addr of code */
ldr r2, _TEXT_BASE /* r1 <- original base addr in ram */
bic r2, r2, r0 /* r0 <- current base addr of code */
cmp r1, r2 /* compare r0, r1 */
beq after_ /* r0 == r1 then skip flash */</pre><br>
moveq r3, #BOOT_MMCSD/* NOR BOOT */cmp r2, #0x14moveq r3, #BOOT_NOR#if 0 /* Android C110 BSP uses OneNAND booting! *//* For second device booting *//* OneNAND BOOTONG failed */cmp r2, #0x8moveq r3, #BOOT_SEC_DEV#endif/* Uart BOOTONG failed */cmp r2, #(0x1<<4)moveq
r3, #BOOT_SEC_DEVldr r0, =INF_REG_BASEstr r3, [r0, #INF_REG3_OFFSET] //將配置值存入到用戶使用的寄存器中,方便以後使用的時候讀取此寄存器來了解此次啟動時從何種外部存儲設備啟動
<pre></pre>
<p></p>
<pre></pre>
<pre name="code" class="cpp"> //ldr sp, =0xd0036000 /* end of sram dedicated to u-boot */
ldr sp, =0xd0035400 //BL1段的函數進行操作的堆棧位置,這里我修改了堆棧到了0xd0035400是由於圖2中所示BL0代碼進行了它自己代碼堆棧的初始化,而RW/ZI region Heap的最低部就位於0xd0035400,為了不修改BL0堆棧和BL0代碼已經寫好的一些函數功能(會在下面用到),我將堆棧修改到了0xd0035400
sub sp, sp, #12 /* set stack */
mov fp, #0

bl lowlevel_init /* go setup pll,mux,memory */ //這里會進行始終,內存,串口初始化</pre>
<p>之後運行到</p>
<p></p>
<pre name="code" class="cpp"> ldr sp, _TEXT_PHY_BASE /* setup temp stack pointer */ //由於上面一步已經初始化了DRAM,所以在這里將以後的堆棧設置到了DRAM中的位置(以後BL2代碼中函數都是基於此堆棧)
sub sp, sp, #12
mov fp, #0 /* no previous frame, so fp=0 */

/* when we already run in ram, we don't need to relocate U-Boot.
* and actually, memory controller must be configured before U-Boot
* is running in ram.
*/
ldr r0, =0xff000fff
bic r1, pc, r0 /* r0 <- current base addr of code */
ldr r2, _TEXT_BASE /* r1 <- original base addr in ram */ //載入程序要運行的編譯地址,同現在程序運行的地址比較
bic r2, r2, r0 /* r0 <- current base addr of code */
cmp r1, r2 /* compare r0, r1 */
beq after_ /* r0 == r1 then skip flash */ //如果兩地址相等,代碼程序已經再DRAM中運行不必再拷貝,不相等代表程序沒有在編譯地址運行,還要拷貝代碼到編譯地址去,最後跳到對應編譯地址內運行代碼。</pre><pre name="code" class="cpp"> ldr r0, =INF_REG_BASE
ldr r1, [r0, #INF_REG3_OFFSET]
cmp r1, #BOOT_NAND /* 0x0 => boot device is nand */
beq nand_boot
cmp r1, #BOOT_ONENAND /* 0x1 => boot device is onenand */
beq onenand_boot
cmp r1, #BOOT_MMCSD
beq mmcsd_boot
cmp r1, #BOOT_NOR
beq nor_boot
cmp r1, #BOOT_SEC_DEV
beq mmcsd_boot //代碼判斷要拷貝後,讀取之前存入到用戶使用寄存器中的值來判斷此次啟動從何種外部存儲設備啟動,這里為sd卡啟動
~~~~~省略若干代碼~~~~~~~~
mmcsd_boot:
#if DELETE
ldr sp, _TEXT_PHY_BASE
sub sp, sp, #12
mov fp, #0
#endif
bl movi_bl2_ //最後BL1代碼來到此處從sd卡拷貝剩餘的代碼
b after_</pre><br>
<pre></pre>
<pre name="code" class="cpp"></pre>

❺ 思科路由器的flash和NVram有何區別

思科路由器的啟動過程簡單來說分為三個部分
1.硬體檢查
2.運行IOS
3.導入配置文件。
要了解思科路由器的啟動過程首先要來了解一下思科路由器的主要存儲硬體和它們的作用。
ROM只讀存儲器是一個用於維護路由器的硬體它存儲著POST程序bootstrap程序以及Mini IOS。Flash它是用來存儲路由器完整IOS鏡像的硬體。IOS就相當於思科路由器的操作系統沒有IOS或者IOS鏡像損壞的路由器是無法工作的。
NVRAM是用於存放路由器的啟動配置文件Startup-config的硬體。路由器啟動前最後一次保存的配置都儲存在這里。
RAM存儲路由器啟動時由啟動配置文件拷貝而來的運行配置文件Running-config解壓後的IOS以及學習到的路由表Routing-table和包隊列。
接下來詳細了解一下思科路由器的啟動過程
一、路由器加電後首先運行ROM中的POST程序Power On Self Test對路由器的硬體進行檢測俗稱加電自檢。
二、檢測通過後緊接著執行ROM中的引導程序bootstrap並根據寄存器值register來決定啟動方式。寄存器值的格式為0x21YZ Y列的狀態
0x210Z從nvram載入配置文件
0x214Z不從nvram載入配置文件
Z列的狀態0x21Y0從rommon啟動提示符為路由器啟動時按CtrlBreak0x21Y1從mini ios啟動提示符為Routerboot0x21Y,從flash啟動提示符為Router我們經常使用的兩個寄存器值0x2102正常0x2142不讀取保存的配置。
三、如果正常啟動則按引導程序到Flash中查找IOS鏡像。如果找到IOS鏡像則讀取後正常啟動。如果沒有找到IOS鏡像則進入boot模式即Mini IOS啟動。boot模式下可使用TFTP上的IOS或使用TFTP/X-modem為路由器重新灌一個IOS。如果Mini IOS也啟動失敗則進入rom monitor模式。四、讀取IOS並初始化成功後引導程序將更具寄存器值決定載入或者不載入啟動配置文件。如果選擇載入則到NVRAM中找到啟動配置文件並載入到RAM中成為運行配置文件。如果選擇不載入或者根本沒有啟動配置文件則路由器會進入詢問配置模式以問答的方式對路由器進行基本配置。五、進入用戶模式啟動過程完畢。Cisco Router啟動過程簡介路由器是特殊用途的計算機。因為它是計算機所以也有一個啟動過程。在啟動時路由器會產生一些信息並從控制台埠送出。如果已經將PC連接到控制台埠上那麼在超級終端窗口將會顯示所有的啟動信息。信息包括1所載入的IOS版本IOStm1721 softwareXXX-X-XVersionXXXXX XX2介面數量2 Ethernet/IEEE 802.3 interfaces等3介面類型4NVRAM的大小125K bytes of non-volatile configuration memory5快閃記憶體的大小。32768K bytes of processor board system flash通過路由器背板上的LED燈也可獲得一些指示。

注IOS存放在快閃記憶體中引導程序存放在ROM中啟動配置文件存放在NVRAM中。

熱點內容
androidsdk22下載 發布:2024-10-23 01:58:22 瀏覽:181
蘋果單職業超變傳奇安卓版叫什麼 發布:2024-10-23 01:54:33 瀏覽:92
我要養雞源碼 發布:2024-10-23 01:54:22 瀏覽:501
android接收消息 發布:2024-10-23 01:52:58 瀏覽:923
飢荒搭建伺服器有寶箱嗎 發布:2024-10-23 01:42:08 瀏覽:589
五指速演算法 發布:2024-10-23 01:41:58 瀏覽:116
360修復藍屏上傳失敗 發布:2024-10-23 01:33:01 瀏覽:921
c語言二級程序設計題 發布:2024-10-23 01:17:52 瀏覽:497
哪個安卓瀏覽器能搜到更多影視 發布:2024-10-23 01:10:16 瀏覽:895
oppor9怎麼升級安卓70 發布:2024-10-23 01:09:26 瀏覽:515