一、什么是memtester,有什么用?
1、memtester是一款开源的内存测试工具,一般用来Linux下测试内存的稳定性,捕获内存错误和坏位,测试内容包括:随机值,异或比较,减法,乘法,除法,与或运算等等。
2、其下载地址为:http://pyropus.ca/software/memtester/ 文件为 memtester-4.3.0.tar.gz
3、使用方法,在命令行界面输入 memtester [size: B/K/M/G] [counnts]
二、代码简单说明
其核心代码包括:memtester.c 和 tests.c 2个文件,memtester.c 主要内容为测试流程,tests.c 的主要内容为测试方法,下述为主要函数的图片:
三、Android的移植
1、在Android的源代码的system/core 目录新建文件夹 memtester,然后将所有的文件复制到此文件夹,并删除Makefile文件。
2、新建Android.mk 文件,输入如下内容:
- LOCAL_PATH := $(call my-dir)
- include $(CLEAR_VARS)
- LOCAL_SRC_FILES := \
- memtester.c \
- tests.c
- LOCAL_SHARED_LIBRARIES := libcutils
- LOCAL_MODULE := memtester.32bit
- LOCAL_C_INCLUDES := \
- memtester.h \
- tests.h \
- types.h
- #LOCAL_CFLAGS := -Werror
- include $(BUILD_EXECUTABLE)
3、编译 memtester,步骤如下:
先执行 source build/envsetup.sh ,然后 lunch 并选择正确的项目,输入
- mmm /system/core/memtester
就可以到out/target/product/xxx/system/bin 目录下找到编译好的memtester.32bit 文件,此编译好的二进制文件可以目前32bit的Android平台的机器进行内存测试。
四、应用
1、已移植了此代码的平台,直接输入 memtester.32bit 100M 10,即可进行内存[DDR]测试。
2、未安装可用adb 推送到系统中进行测试,按照如下顺序:
- adb root
- adb remount
- adb push memtester.32bit /system/bin/
- adb shell
- memtester.32bit 100M 10
版权所有丨如未注明,均为原创,转载请注明转自:https://whonee.net/memtester-in-android.html