Kernel 自测指南

更新时间:2019-03-21 11:32:54

AliOS Things Kernel 测试是为了保证AliOS Things移植到不同硬件平台后保持良好的兼容性,AliOS Things提供Kernel 测试用例集,用户将用例集移植到硬件平台后,通过工具导出Kernel 测试报告。详细测试步骤见下文。

1. 下载测试用例集

AliOS Things Kernel 测试用例集随AliOS Things在GitHub开源,用户下载AliOS Things源码后,在{AliOS-Things-Root}/test/testcase/certificate_test目录下可以找到测试用例集源码,文件目录结构如下:

  .
  |___aos_test.c              # aos_* API测试用例集
  |___rhino_test.c            # krhino_* API测试用例集
  |___certificate_test.mk     # gcc编译使用的Makefile
  |___cutest                  # API测试框架
      |___cut.c
      |___cut.h

aos_test.crhino_test.c功能相同,rhino_test.c针对只移植了rhino微内核的MCU,通常二者选其一

>

Kernel 测试用例集下载地址:www.github.com/alibaba/AliOS-Things.git

2. 执行测试用例集

2.1 修改测试用例集源码(aos_test.c/rhino_test.c)

测试用例集中设置如下配置项,用户可以根据MCU RAM和移植情况修改配置项,各配置项说明如下:

配置项 配置说明 默认配置项
SYSINFO_MCU 待测MCU型号 空(必填)
SYSINFO_ARCH 待测MCU架构 空(必填)
SYSINFO_BORAD 待测开发板型号 空(必填)
TEST_CONFIG_MM_ENABLED 内存管理测试使能 1
TEST_CONFIG_MALLOC_MAX_SIZE 堆内存分配最大值(Byte) 1024
TEST_CONFIG_MALLOC_FREE_TIMES 反复分配/释放堆内存次数 100000
TEST_CONFIG_TASK_ENABLED 任务管理测试使能 1
TEST_CONFIG_STACK_SIZE 任务栈大小(Byte) 1024
TEST_CONFIG_MAX_TASK_COUNT 创建最大任务数 10
TEST_CONFIG_CREATE_TASK_TIMES 反复创建/销毁任务次数 10000
TEST_CONFIG_TASK_COMM_ENABLED 任务间通信测试使能 1
TEST_CONFIG_SYNC_TIMES 任务间同步次数 100000
TEST_CONFIG_TIMER_ENABLED 定时器测试使能 1
TEST_CONFIG_KV_ENABLED KV测试使能 1
TEST_CONFIG_KV_TIMES 反复读写KV次数 10000
TEST_CONFIG_YLOOP_ENABLED Yloop测试使能 1
TEST_CONFIG_YLOOP_EVENT_COUNT 注册Yloop事件数量 1000
TEST_CONFIG_YLOOP_LOOP_COUNT 最大创建Yloop数量 10

2.1.1 gcc编译

API测试用例集默认使用GCC编译,用户只需要执行以下简单命令就能生成测试固件,编译得到的固件在{AliOS-Things-Root}/out目录下

$ aos make yts@{board} test=certificate

针对只移植了rhino微内核的暂时无法使用gcc编译方式

2.1.2 Keil/IAR编译

API测试用例集默认使用GCC编译,但是可以移植到Keil/IAR工程中,测试用例集的函数调用入口如下:

/* 将aos_test.c和cutest 或者 rhino_test.c和cutest 移植到Keil/IAR工程中,并调用该接口 */
void certificate_test(void);

2.1.3 导出测试报告

测试固件在开发板上成功运行后,使用[IoT调试测试工具]将测试结果导出为PDF文档,该文档将作为AliOS Things Kernel 测试报告在认证申请阶段提交。

IoT调试测试工具下载地址:[http://iot-test.oss-cn-hangzhou.aliyuncs.com/iottest/aitc/tools/IoT%E8%B0%83%E8%AF%95%E6%B5%8B%E8%AF%95%E5%B7%A5%E5%85%B7.exe)

IoT调试测试工具使用如下:

  • 选择设备串口号、波特率、数据位、停止位、校验位

  • 打开设备,如果打开设备成功,打开设备按钮将变为关闭设备

  • 操作开发板将设备重启,如果连接正常,软件将显示如下图,确认MCU、ARCH、开发板、内核版本无误后等待测试结束

  • 测试过程中,显示测试进度、用例执行情况、测试用例集的配置信息等

  • 测试成功后,导出测试报告将使能,用户可导出PDF格式的测试报告,同时测试报告会上传到阿里云并返回链接地址,见下图

undefined

undefined

results matching ""

    No results matching ""