st7100 st7101 st7109 memory map

題記:

整理電腦的時候,無意中發現了自己以前項目中寫下的文檔,也備份一下,畢竟每過一年,就老一年,記性也壞一年,呵呵!

ST710X MEMORY MAPV1.3


修訂記錄

l         2008/11/09     V1.0              XXX

初稿

l         2008/12/05    V1.1               XXX

增加cisco項目配置情況

l         2008/12/08    V1.2               XXX

修正上個版本問題

l         2008/12/11     V1.3              XXX

修正上個版本問題

 


一 注意事項

 

1          ST7101平臺的MEM MAP大體相同,但根據具體應用,每個項目會有所改動。

 

2          ST7101使用2片內存

其中一片的起始地址爲0X8400 0000,大小爲128M。存我們的微碼,主程序,AV MEM1

另外一片的起始地址爲0XB000 0000,大小爲64M。存AV MEM2, 爲VIDEO使用。

 

3          當微碼或AV MEM1的尺寸發生改變後,一定需要同時修改配置文件hmp_7109_board.mem (定義123塊內存邊界)和hmp_7109.h(定義第2塊內存內部詳細分配情況)

 

4          當主程序,Sysmem Nocache的尺寸發生改變,但第2塊內存總大小保持不變,只需要修改配置文件hmp_7109.h

 

5          我們目前對內存的修改基本上都是基於內存0X8400 0000。到目前爲止,我們沒有更改過內存0XB000 0000
            
   DVT6010內存配置

 

參考版本:test7

 

內存0XB000 0000

起始地址

0xb0000000 - 0xb4000000

名稱

          AV MEM2(VIDEO)

尺寸

              64M

 

內存0X8400 0000

1   系統的配置概況:(注:修改hmp_7109_board.mem)

起始

地址

0x84000000-

0x84500000

0x8450 0000 – 0x88f0 0000

0x88F0 0000-

0X8C00 0000

名稱

微碼

Elf文件的各個分段 + heap + Stack

AV MEM1

尺寸

  5M

           74M

     49M

 

2   系統的詳細配置:(注:太小的section沒有列出來)

開始地址     結束地址

   尺度大小

       用途名稱

0x8400 0000 -  0x8450 0000

 

     5   M

 

音視頻微碼,ST默認爲6M,爲省空間,我們修改其爲5M

0x8450 0000 – 0x84E1 34A0

     9.1 M

.text  

(可執行程序的代碼段)

0x84E1 34A0 – 0x8569 DD00

     8.5 M

.rodata

(程序中的只讀數據)

0x8569 DD00 – 0x85A2 0000

     3.5 M

.data  

(已初始化的靜態和全局數據)

0x85A2 0000 – 0x885B 8DA0

     43.6M

.bss   

(未初始化的靜態和全局數據)

0x885B 8DA0 – 0x88F0 0000

 

     9.3 M

.heap + .stack

(系統的堆和棧,堆向上增,棧向下減)

0x88F0 0000 – 0x8C00 0000

49  M

AV MEM1

 

     128 M

 

 

   

 

1   第三方已經使用的內存分析:

(1) .bss中,ST開闢了一個30M的數組。其中3M作爲NoCacheMemory5MST驅動使用。

2   可供Digivision使用的內存分析:

(1) .bss,共有43.5-30=13.5M爲我們使用;(全局或者靜態數據)

(2) .bss,還有30-3-5 =22 M 爲我們malloc使用;(注意:需要調用我們RTOS_Malloc分配函數)

(3) .heap.stack,共享9M。建議留2Mstack使用,所以我們最多可以malloc 7M。(直接通過malloc函數分配)


  DVT6020內存配置

參考版本:test36

內存0XB000 0000

起始地址

0xb0000000 - 0xb4000000

名稱

          AV MEM2(VIDEO)

尺寸

              64M

 

內存0X8400 0000

1   系統的配置概況:(注:修改hmp_7109_board.mem)

起始

地址

0x84000000-

0x84500000

0x8450 0000 –

0x88d0 0000

0x88d0 0000-

0X88f0 0000

0x88f0 0000-

0X8c00 0000

 

名稱

 

微碼

Elf文件的各個分段

+ heap + Stack

 

NDS 專用

 

AV MEM1

尺寸

5M

72M

    2M

    49M

2   系統的詳細配置:(注:太小的section沒有列出來)

開始地址    結束地址

   尺度大小

       用途名稱

0x8400 0000 -  0x8450 0000

 

     5   M

 

音視頻微碼,ST默認爲6M,爲省空間,我們修改其爲5M

0x8450 0000 – 0x84EA B500

     9.6 M

.text

0x84EA B500 – 0x856B 7FA0

     8   M

.rodata

0x856B 7FA0 – 0x85A1 F18C

     3.4 M

.data

0x85A1 F18C – 0x86D7 ECD8

     19.5M

.bss

0x86D7 ECD8 – 0x88CF FFFC

 

     31.5M

.heap + .stack

0x88CF FFFC – 0x88F0 0000

     2   M

NDS專用的一段固定地址空間

0x88F0 0000 – 0x8C00 0000

     49  M

AV MEM1

 

 

     128 M

 內存大體上分3部分來管理

1   第三方已經使用的內存分析:

(1) AV MEM1中,NDS分配了2M,並且此內存空間地址固定。

(2) .bss中,NDS申請了一個6.5M的未初始化的數組。SecMemory[1024*1025*5.5]SecNCacheMemory[1024*1024], 並分別用指針*sec_partition_stfae, *sec_ncache_partition_stfae指向。

(3) .heap中,ST malloc28M內存(*system_partition_stfae指向),ST malloc3M內存(* ncache_partition_stfae指向)。其中根據ST統計:在system_partition_stfae中有5M ST驅動已經使用。

2   可供Digivision使用的內存分析:

(1) .bss, 現在大小爲19.5M,但其中NDS申請了兩個數組,共計6.5M.(注意:.bss段的大小不需要我們人爲指定,它是根據程序實際使用的數組大小而計算出來的)

(2) .heap.stack,現在共享31.5M內存,其中已經申請了28M,故剩餘的 3.5M爲我們malloc.stack共同享有。(注意:直接通過malloc函數分配)

(3) RTOS_Malloc使用的內存都是從system_partition_stfae 28M中分配出來。


二   8488內存配置

 

參考版本:test0

 

內存0XB000 0000

起始地址

0xb0000000 - 0xb4000000

名稱

          AV MEM2(VIDEO)

尺寸

              64M

 

內存0X8400 0000

1   系統的配置概況:(注:修改hmp_7109_board.mem)

起始

地址

0x84000000-

0x84600000

0x8460 0000 – 0x88f0 0000

0x88F0 0000-

0X8C00 0000

名稱

微碼+ CISCO

Elf文件的各個分段 + heap + Stack

AV MEM1

尺寸

 5M + 1M

           73M

     49M

 

2   系統的詳細配置:(注:太小的section沒有列出來)

開始地址     結束地址

   尺度大小

       用途名稱

0x8400 0000 -  0x8460 0000

 

     6 M

 

音視頻微碼,ST默認爲6M,爲省空間,我們修改其爲5M + 1M

0x8450 0000 – 0x84E1 34A0

     9   M

.text  

(可執行程序的代碼段)

0x84E1 34A0 – 0x8569 DD00

     8   M

.rodata

(程序中的只讀數據)

0x8569 DD00 – 0x85A2 0000

     6.0 M

.data  

(已初始化的靜態和全局數據)

0x85A2 0000 – 0x885B 8DA0

     42  M

.bss   

(未初始化的靜態和全局數據)

0x885B 8DA0 – 0x88F0 0000

 

     8  M

.heap + .stack

(系統的堆和棧,堆向上增,棧向下減)

0x88F0 0000 – 0x8C00 0000

49  M

AV MEM1

 

     128 M

 

 

   

 

1   第三方已經使用的內存分析:

(1) .bss中,ST開闢了一個30M的數組。其中3M作爲NoCacheMemory5MST驅動使用。

2   可供Digivision使用的內存分析:

(1) .bss,共有43.5-30=13.5M爲我們使用;(全局或者靜態數據)

(2) .bss,共有30-3-5 =22 M 爲我們使用;(注意:需要調用我們RTOS_Malloc分配)

(3) .heap.stack,共享8M。建議留2Mstack使用,所以我們最多可以malloc 6M。(通過malloc函數分配)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章