st7100 st7101 st7109 memory map

    技术2022-05-20  35

    题记:

    整理电脑的时候,无意中发现了自己以前项目中写下的文档,也备份一下,毕竟每过一年,就老一年,记性也坏一年,呵呵!

    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函数分配)


    最新回复(0)