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

AndroidX 简介



AndroidX 是 Android 团队用于在 Jetpack 中开发、测试、打包和发布库以及对其进行版本控制的开源项目,主要想要用来替换原来的android.support库的。

一、Androidx 的特点

AndroidX 对原始 Android 支持库进行了重大改进。与支持库一样,AndroidX 与 Android 操作系统分开提供,并与各个 Android 版本向后兼容。AndroidX 完全取代了支持库,不仅提供同等的功能,而且提供了新的库。此外,AndroidX 还包括以下功能:

1. AndroidX 中的所有软件包都使用一致的命名空间,以字符串 androidx 开头。支持库软件包已映射到对应的 androidx.* 软件包。有关所有旧类到新类以及旧编译工件到新编译工件的完整映射,请参阅软件包重构页面。

2. 与支持库不同,AndroidX 软件包会单独维护和更新。从版本 1.0.0 开始,androidx 软件包使用严格的语义版本控制。您可以单独更新项目中的 AndroidX 库。

3. 所有新支持库的开发工作都将在 AndroidX 库中进行。这包括维护原始支持库工件和引入新的 Jetpack 组件。

二、使用 AndroidX

如果要在新项目中使用 AndroidX,则需要将编译 SDK 设置为 Android 9.0(API 级别 28)或更高版本,并在 gradle.properties 文件中将以下两个 Android Gradle 插件标记设置为 true:

1. android.useAndroidX:如果设置为 true,Android 插件会使用相应的 AndroidX 库,而非支持库。如果未指定,则该标记默认为 false。

2. android.enableJetifier:如果设置为 true,Android 插件会重写其二进制文件,自动迁移现有的第三方库以使用 AndroidX。如果未指定,则该标记默认为 false。

Android init.xx.rc中 /data 目录创建文件夹的方法


init.xx.rc中 /data 目录创建文件夹的方法

问题:

需要在 /data 目录创建文件夹

分析:

1、/data 是开机时创建的目录,需要在data创建完成之后再创建此目录下的文件夹。
2、google 修改了策略:想在/data/目录下创建文件夹的话,要在on post-fs-data的时候进行。
3、一般按照类似 mkdir /data/xx 0700 root root 的格式创建,需要有权限和用户[组]的信息

继续阅读“Android init.xx.rc中 /data 目录创建文件夹的方法”

MTK摄像头Android驱动新版本升级指南


MTK摄像头的驱动包含有kernel部分和hal层2个部分,在Android版本升级之后,内核版本也进行了升级,在旧版本往新版本移植的过程中,要注意以下几个部分:

继续阅读“MTK摄像头Android驱动新版本升级指南”