memtester android 移植及测试说明



一、什么是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

Android am start 启动应用记录


在Android中,除了从界面上启动程序之外,还可以从命令行启动程序,使用的是命令行工具am,启动的方法为:

adb shell am start -n {包(package)名}/{包名}.{活动(activity)名称}

1. adb 打开设置:

adb shell am start com.android.settings/com.android.settings.Settings // 主页面
adb shell am start com.android.settings/com.android.settings.SecuritySettings // 安全
adb shell am start com.android.settings/com.android.settings.RadioInfo // 手机无线信息
com.android.settings.AccessibilitySettings //辅助功能设置
com.android.settings.ActivityPicker //选择活动
com.android.settings.ApnSettings //APN设置
com.android.settings.ApplicationSettings //应用程序设置
com.android.settings.BandMode //设置GSM/UMTS波段
com.android.settings.BatteryInfo //电池信息
com.android.settings.DateTimeSettings //日期和坝上旅游网时间设置
com.android.settings.DateTimeSettingsSetupWizard //日期和时间设置
com.android.settings.DevelopmentSettings //开发者设置
com.android.settings.DeviceAdminSettings //设备管理器
com.android.settings.DeviceInfoSettings //关于手机
com.android.settings.Display //显示——设置显示字体大小及预览
com.android.settings.DisplaySettings //显示设置
com.android.settings.DockSettings //底座设置
com.android.settings.IccLockSettings //SIM卡锁定设置
com.android.settings.InstalledAppDetails //语言和键盘设置
com.android.settings.LanguageSettings //语言和键盘设置
com.android.settings.LocalePicker //选择手机语言
com.android.settings.LocalePickerInSetupWizard //选择手机语言
com.android.settings.ManageApplications //已下载(安装)软件列表
com.android.settings.MasterClear //恢复出厂设置
com.android.settings.MediaFormat //格式化手机闪存
com.android.settings.PhysicalKeyboardSettings //设置键盘
com.android.settings.PrivacySettings //隐私设置
com.android.settings.ProxySelector //代理设置
com.android.settings.RadioInfo //手机信息
com.android.settings.RunningServices //正在运行的程序(服务)
com.android.settings.SecuritySettings //位置和安全设置
com.android.settings.Settings //系统设置
com.android.settings.SettingsSafetyLegalActivity //安全信息
com.android.settings.SoundSettings //声音设置
com.android.settings.TestingSettings //测试——显示手机信息、电池信息、使用情况统计、Wifi information、服务信息
com.android.settings.TetherSettings //绑定与便携式热点
com.android.settings.TextToSpeechSettings //文字转语音设置
com.android.settings.UsageStats //使用情况统计
com.android.settings.UserDictionarySettings //用户词典
com.android.settings.VoiceInputOutputSettings //语音输入与输出设置
com.android.settings.WirelessSettings //无线和网络设置

继续阅读“Android am start 启动应用记录”

网络adb的使用


adb 调试很多时候不方便使用usb线进行连接,或者机器本身不具备 usb-device/usb-otg 功能的时候,需要用到网络ADB,下面介绍网络adb的使用方法:

前置条件:

1. 打开被调试的设备 adb 调试功能。

2. 连接有效的局域网或者可访问的广域网,调试设备(一般为PC)可直接连接被调试设备(一般为Android设备,手机/平板/电视等)。

3. 配置被调试的设备的网络adb 访问端口,方法如下:
继续阅读“网络adb的使用”

MTK 平台如何在 user 版本打开串口打印信息



串口打印作为常用的调试方法,在解决系统死机和各种设备问题时十分有效,通常是在eng版本的时候才有完整的打印信息,若是在量产阶段或者 user 版本时没有串口通常无法有效分析问题。
因此,在user版本中打开打印,作为分析问题的方法十分有效,下面记录一下 MTK 平台在 user 版本打开串口打印信息的2种方法:
继续阅读“MTK 平台如何在 user 版本打开串口打印信息”

如何修改 Linux / Android 系统的MAC地址


MAC 地址做为网络设备的唯一ID,需要到RA去购买,具体见另两篇博文:

移动设备常见串号简介:MAC地址
MAC地址简介及购买价格

但是在实际使用过程,我们需要去临时修改 MAC 地址,特别是在 Linux 和 Android系统中,我们要如何做呢?
继续阅读“如何修改 Linux / Android 系统的MAC地址”