Android SDK入门指南

GTI2801_ADK.tar.gz仅支持USB Dongle,SSD SDK与GTISDK_android_v1.2_firefly_1.0.tar.gz支持USB Dongle和AIO-3399C AI板。本指南以GTI2801_ADK.tar.gz为例,其它SDK与此类似。

准备工作

本文需要使用以下设备:

  • Firefly开发板 (推荐ROC-RK3399-PC)。
  • TF卡(如果板子未带有emmc)
    • 建议使用8GB及以上的容量
  • 显示器(接口具体看开发板)
  • 键盘和鼠标
  • 电源
  • 神经网络计算卡
  • 可上网的电脑
    • 可为Windows或Linux系统,配置有Android Studio 3.x开发环境。

烧写Android系统

神经网络计算卡Android SDK(仅USB Dongle)支持任意Firefly发布的Android版本,请根据使用的开发板烧写Android系统。烧写教程请从wiki网站进入具体的开发板wiki查看。ROC-RK3399-PC固件烧写教程点击此进入

Android环境设置

解压SDK

从AI资料U盘中复制并解压SDK GTI2801_ADK.tar.gz。如在Linux下将SDK复制到用户主目录下,然后执行以下操作解压文件到用户主目录:

ubunut16.04:~$ tar zxvf ~/GTI2801_ADK.tar.gz -C GTI2801_ADK

必需文件安装

  • 查看SDK目录下V1.2/Data/Models/gti2801/gnet1/cnn/userinput.txt和V1.2/Data/Models/gti2801/gnet18/cnn/userinput.txt中的USB device node是否为/dev/sg0,如果不是请修改为/dev/sg0(一般情况下USB Dongle设备节点为/dev/sg0,如果不是则需按实际情况修改)。

  • 通过如下命令安装demo需要的文件和模型。

    • 分步骤如下:

      adb push ./Data/Image_demo /sdcard/gti/Image_mp4
      

      GNet1模型:

      adb push ./Data/Models/gti2801/gnet1 /sdcard/gti/Models/gti2801/gnet1
      

      GNet18模型:

      adb push ./Data/Models/gti2801/gnet18 /sdcard/gti/Models/gti2801/gnet18
      
    • 也可以通过如下命令统一安装:

      adb push ./Data /sdcard/gti
      
    • 也可通过MTP直接复制Data目录到开发板然后更名为gti。

设备节点设置

插入USB Dongle到开发板,建议使用USB 3.0接口。

  • 修改USB Dongle节点权限。使用adb连接到Android shell,然后执行以下操作:

    ROC_RK3399_PC:/ $ su
    ROC_RK3399_PC:/ # chmod 777 /dev/sg*
    
  • 修改max_sectors属性。在上一步骤的基础上执行以下操作:

    ROC_RK3399_PC:/ # find /sys/devices/ -name max_sectors -exec sh -c 'echo 2048 > "$1"' _ {} \;
    

    设置max_sectors值为2048。

  • 注意:以上两个步骤每次重启设备或者拔插USB Dongle都需要从新执行。

编译测试demo

在电脑端使用Android Studio打开V1.2/Samples/Android/gtiVideoDemo_gnet1/或V1.2/Samples/Android/gtiVideoDemo_gnet18/。待依赖安装完成,点击Android Studio运行按钮即可运行demo。APP启动后会看到两张图片,点击直升飞机即可运行视频分类demo。