Firefly-RK3399/AIO-3399J Android8.1 固件&源码开源(2018/09/10)

本帖最后由 wico 于 2018-12-29 18:01 编辑

Android8.1主要更新:
1.支持Firefly-RK3399/AIO-3399J 各个功能模块(除了4G Dongle和GPS以及PCIE)
2.修复原始版本内核不稳定bug
3.添加系统各种功能,状态栏虚拟按键,转屏,隐藏,截图等。
4.设置中添加adb连接功能,网络ADB,root功能,音频设置等。
5.支持各种接口显示屏调试,如7.85EDP, 7.85MIPI, 10.1LVDS等,设置中添加显示屏高级设置,调整亮度对比度等。
6.支持NN加速

SDK还在完善当中,部分系统功能还在debug测试阶段。

编译方法:Firefly-RK3399

  • 单独编译kernel:

cd ~/proj/firefly-rk3399/./FFTools/make.sh -k -j8

  • 单独编译uboot:

cd ~/proj/firefly-rk3399/
./FFTools/make.sh -u -j8

  • 单独编译android上层:

cd ~/proj/firefly-rk3399/
./FFTools/make.sh -a -j8

  • 同时编译ubooot、kernel、android:

cd ~/proj/firefly-rk3399/
./FFTools/make.sh -j8

  • 默认编译HDMI+DP

./FFTools/make.sh -j8
./FFTools/mkupdate/mkupdate.sh

  • EDP7.85编译

./FFTools/make.sh -j8 -d rk3399-firefly-edp -l rk3399_firefly_edp_mid-userdebug
./FFTools/mkupdate/mkupdate.sh -l rk3399_firefly_edp_mid-userdebug

  • MIPI7.85编译

./FFTools/make.sh -j8 -d rk3399-firefly-mipi -l rk3399_firefly_mipi_mid-userdebug
./FFTools/mkupdate/mkupdate.sh -l rk3399_firefly_mipi_mid-userdebug

AIO-3399J

  • 编译kernel:

cd ~/proj/firefly-rk3399/kernel/
make ARCH=arm64 firefly_defconfig
make -j8 ARCH=arm64 rk3399-firefly-aio.img

  • 编译uboot:

cd ~/proj/firefly-rk3399/u-boot/
make rk3399_defconfig
make ARCHV=aarch64 -j8

  • 编译android:

cd ~/proj/firefly-rk3399/
source FFTools/build.sh
lunch rk3399_firefly_aio_mid-userdebugmake -j8
./mkimage.sh

脚本编译:
HDMI显示编译
./FFTools/make.sh -d rk3399-firefly-aio -j8 -l rk3399_firefly_aio_mid-userdebug
./FFTools/mkupdate/mkupdate.sh -l rk3399_firefly_aio_mid-userdebug

HDMI+lvds编译

  • 双LVDS

./FFTools/make.sh -d rk3399-firefly-aio-lvds -j8 -l rk3399_firefly_aio_lvds_mid-userdebug
./FFTools/mkupdate/mkupdate.sh -l rk3399_firefly_aio_lvds_mid-userdebug

  • 单LVDS

./FFTools/make.sh -d rk3399-firefly-aio-lvds-HSX101H40C -j8 -l rk3399_firefly_aio_lvds_mid-userdebug
./FFTools/mkupdate/mkupdate.sh -l rk3399_firefly_aio_lvds_mid-userdebug

源码下载地址:
百度云
在线浏览源码:
Gitlab
代码分支: firefly-rk3399

固件下载:
Firefly-RK3399
AIO-3399J

注意
:Android8.1必须使用AndroidTools2.54版本以上或者更新版本后的upgrade_tool进行升级,否则无法启动。http://www.t-firefly.com/doc/download/3.html 附上工具链接,在固件下载工具百度云上可以找到。
ADB连接: AIO-3399J需要打开connect to PC , 根据adb提示打开root access , system setting - enable in settings → development options → root access
adb root
adb disable-verity
adb reboot 使其生效。

===== 分割线 =======
神经网络硬件加速APP更新:
修复NN加速异常问题
APP下载地址 ----基于最新Android8.1固件
https://pan.baidu.com/s/1ujvLUCdMYmXCI2iggZp-rQ

技术案例Firefly Android8.1 神经网络硬件加速

{:4_103:} 强烈支持

哇,还是热乎乎的呢

支持Ubuntu版本的SDK有么?

感谢分享~~!!!

代码拉下来,
git branch 在这个分支编译报错:gitlab/firefly-rk3399
git branch 在这个分支编译正常:firefly-rk3399
这是为啥呢?

loading 发表于 2018-9-15 12:42
代码拉下来,
git branch 在这个分支编译报错:gitlab/firefly-rk3399
git branch 在这个分支编译正常:f …

我看不懂,有2个分支?

太棒了,一直没看这个版本。

代码拉下来,用HDMI显示编译,下载img之后发现HDMI输出断断续续的,时而黑屏,是什么问题?

编辑环境,需要多大的空间,我用了170G都不够。还有编译到92%的时候报错了,信息如下:

[ 92% 22606/24412] target SharedLib: libpac_32 (out/target/product/rk3…ds_mid/obj_arm/SHARED_LIBRARIES/libpac_intermediates/LINKED/libpac.so)
ninja: build stopped: subcommand failed.
20:13:11 ninja failed with: exit status 1
20:13:12 Unable to parse ninja entry “\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0023255\t23293\t1537252178\tout/target/product/rk3399_firefly_aio_lvds_mid/system/bin/art\t100766ec76b32f9f”: strconv.Atoi: parsing “\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0023255”: invalid syntax

leung先森 发表于 2018-9-15 17:54
我看不懂,有2个分支?

对,两个分支
git reset --hard 后执行
git pull gitlab https://gitlab.com/TeeFirefly/FireNow-Oreo-rk3399.git

ganxiefenxiang

AIO-3399J,编译android时,其中第三条命令“lunch rk3399_firefly_aio_mid-userdebugmake -j8"报错。
build/core/envsetup.mk:206: bad TARGET_BUILD_VARIANT: userdebugmake
build/core/envsetup.mk:207: *** must be empty or one of: eng user userdebug. Stop.
chenjf@ubuntu:~/proj/firefly-rk3399$ lunch rk3399_firefly_aio_mid-userdebugmake -j8
build/core/envsetup.mk:206: bad TARGET_BUILD_VARIANT: userdebugmake
build/core/envsetup.mk:207: *** must be empty or one of: eng user userdebug. Stop.

lunary 发表于 2018-9-19 16:59
AIO-3399J,编译android时,其中第三条命令“lunch rk3399_firefly_aio_mid-userdebugmake -j8"报错。
bu …

lunch rk3399_firefly_aio_mid-userdebug
make -j8

从Gitlab上把代码拉下来后,编译失败
FAILED: out/soong/build.ninja
o
ninja: build stopped: subcommand failed.
09:51:01 soong failed with: exit status 1

FAILED: out/soong/build.ninja
out/soong/.bootstrap/bin/soong_build -t -b out/soong -d out/soong/build.ninja.d -o out/soong/build.ninja Android.bp
error: external/e2fsprogs/lib/ss/Android.bp:3:1: module “libext2_ss” variant “linux_x86_64_static”: source path external/e2fsprogs/lib/ss/ss_err.c does not exist
error: external/e2fsprogs/lib/ss/Android.bp:3:1: module “libext2_ss” variant “linux_x86_64_static”: source path external/e2fsprogs/lib/ss/std_rqs.c does not exist
[54/54] soong_build docs out/soong/.bootstrap/docs/soong_build.html
ninja: build stopped: subcommand failed.
09:39:01 soong failed with: exit status 1

#### failed to build some targets (14 seconds) ####

代码从Gitlab拉下来后,编译有错误

谢谢分享

谢谢分享

你们的APP是如何实现硬件加速的啊?我尝试使用tensorflow lite的benchmark跑MobilenetSSD确被提示需要NNAPI 1.1,无法使用硬件加速

TfLiteSSDDemo没有用到tfLite的java接口啊,只是用了tflite模型,都是在so里实现的。
大神们,这样的话我们只能用你们的板子配demo了,做不了实际应用啊。求开源啊