LPC2000系列學習筆記4 儲存器對映控制

2021-04-13 09:00:37 字數 2125 閱讀 6373

對於一般的處理器,系統啟動後是從0x00000000

位址開始讀取中斷向量表並引導程式的。但利用lpc2000

的儲存器重對映功能,我們可以將中斷向量表轉移至其它儲存器,而不一定要從0x00000000

這個位址讀取。

lpc2000

的這個功能是通過儲存器對映控制暫存器memmap

和boot

管腳來實現的。

4.1        暫存器memmap的取值

memmap 功能                        描述                        

00          boot裝載程式模式  中斷向量從boot block重新對映。一般情況下,即為位址0x7fffe000

01          使用者flash模式       中斷向量不重新對映,它位於flash中。一般情況下,即為位址0x00000000

10          使用者ram模式        中斷向量從靜態ram重新對映。一般情況下,即為位址0x40000000

11          使用者外部儲存器模式 中斷向量從外部儲存器重新對映。一般情況下,即為位址0x80000000

特別注意,不正確的設定會導致器件的錯誤操作。

例如,每當產生乙個軟體中斷請求,arm

核心就從0x0000 0008

處取出32

位資料。這就意味著當memmap[1:0]=10(

使用者ram

模式)時,

從0x0000 0008

的讀數/

取指是對0x4000 0008

單元進行操作;當memmap[1:0]=00(boot

裝載程式模式)

時,從0x0000 0008

的讀數/

取指是對0x7fff e008

單元的資料進行操作(boot block

從片內rom

儲存器重新對映)

;如果memmap[1:0]=11(

使用者外部儲存器模式)

,從位址為0x8000 0008

的片外儲存器中讀取資料。

4.2        boot管腳的功能

lpc22xx

系列具有外部儲存器介面,boot[1:0]

腳的狀態控制著引導方式,見下表。引腳懸空,內部上拉電阻保證其高電平狀態。

boot1   boot1  引導方式                                            備註

0            0          cs0控制的8位儲存器              memmap[1:0]應設定為11

0            1          cs0控制的16位儲存器            memmap[1:0]應設定為11

1            0          cs0控制的32位儲存器            memmap[1:0]應設定為11

1            1          內部flash儲存器                    memmap[1:0]應設定為01

注意:boot

管腳和memmap

暫存器的設定應該根據硬體電路的具體情況進行設定。若從32

位的外部儲存器引導,則memmap[1:0]

應設定為11

,boot

管腳設定為10

。對於lpc21xx

系列,沒有外部儲存器介面,只能設定memmap[1:0]

為01。

對於lpc2200

,無片內flash

,故不能設定memmap[1:0]

為01。

當然,也可以將p0.14

接地,強制晶元重啟後(/reset

為低)進入isp

狀態。4.3舉例:啟動**

#ifdef __debug   

memmap = 0x3;          

#endif              

#ifdef __out_chip     

memmap = 0x3;

#endif

#ifdef __in_chip   

memmap = 0x1;     

#endif

vue系列學習筆記

1.v if 在vue.js中,我們使用v if指令實現同樣的功能 利用v if控制該元素有還是沒有 template v if 因為v if是乙個指令,需要將它新增到乙個元素上,但如果想切換多個元素,可以把乙個元素當作包裝元素,並在上面使用v if,最終的渲染結果不會包含它 例如2.v show ...

YOLO系列學習筆記

此文參考 1 給乙個大小為448x448的輸入影象,首先將影象劃分成7 7的網格。2 對於每個網格,每個網格 2個bouding box 每個box包含5個 量 以及20個類別概率,總共輸出7 7 2 5 20 1470個tensor 3 根據上一步可以 出7 7 2 98個目標視窗,然後根據閾值去...

Redis系列學習筆記4 列表

以有序的方式儲存多個可重複的值 lpush key value value 將乙個或以上數量的值依次推入到列表的左端,命令返回新值被推入之後,列表目前包含的項數量。rpush key value value 將乙個或以上數量的值依次推入到列表的右端,命令返回新值被推入之後,列表目前包含的項數量。lp...