MTK 驱动(71)---DDR进行bitflip压力测试

 DDR进行bitflip压力测试

 

 1 DDR 压力测试

时常有ddr的bitflip问题,需要一些方法对ddr进行压测
 
  2. 方法 
 
 1. 使用MTK flashtool的memorytest功能,目前只支持6755(含)之后的平台,如果不支持的话,flashtool会自动隐藏test选项。
     使用说明:

    默认是Auto, 可以手动选择到Manual.

        参数范围:  

             Address:                                 test起始地址,[ 0 – dram.size )

             Length:                                    test 长度,          [ 0 – dram.size ],   // length =0时,test “address  -- dram. end”;  length!=0时, test “address -- address + length”;如用户只知道测试的起始地址,直到dram尾部都要测,这样填0就可以了,不用再去计算length.

 

             Stress Test Count:              压力测试次数,32位无符号整数的有效范围

            限制条件:                          Address + Length 不能超过DRAM size大小。

 

               测试步长是flashtool UI控制的,根据输入Length大小分阶梯控制步长,主要影响UI显示时候反馈内容的数量。

        步长的设计如下:       

Length 测试长度

Test_step 测试步长

>2MB

= 2MB

1KB – 2MB

1KB

<1KB

1Byte

 2. 在preloader或者lk中进行测试  (preloader 只能定址32bit, 超过3GB需要在有mmu的lk作 ,因physical addr :0x40000000~0xFFFFFFFF 为3GB大小)
     preloader:
MTK 驱动(71)---DDR进行bitflip压力测试_第1张图片

 

      lk: complex_mem_test_lk的内容和preloader原生的内容一致;
      如果要通过code实现,建议在lk实现,可以进行大于4G ddr测试。
  MTK 驱动(71)---DDR进行bitflip压力测试_第2张图片
MTK 驱动(71)---DDR进行bitflip压力测试_第3张图片
 
注意事项:
 
测试地址需避开其他模块reserved的memory , 否则可能每次会在固定地址范围测试fail (如下图)
  MTK 驱动(71)---DDR进行bitflip压力测试_第4张图片
reserved的memory 可以从下方法查到
方法1:
搜寻mblock_reserve_ext   API  所reserved 的地址空间
MTK 驱动(71)---DDR进行bitflip压力测试_第5张图片
方法2:(推荐)
 
adb shell 命令


显示reserved memory list如下
MTK 驱动(71)---DDR进行bitflip压力测试_第6张图片

你可能感兴趣的:(MTK,驱动)