RK3399学习 |
您所在的位置:网站首页 › android81升级包 › RK3399学习 |
RK3399学习
韦东山rk3399:http://dev.t-firefly.com/forum-460-1.html firefly官网教程:http://wiki.t-firefly.com/zh_CN/Firefly-RK3399/started.html firefly官网3399资料:http://dev.t-firefly.com/forum-263-1.html 100ask 3399-pc教程:http://wiki.100ask.org/100ask_roc-rk3399-pc 韦东山全部资料网盘:http://download.100ask.org/?title=Download 如何编译安卓7.1固件:http://wiki.100ask.net/Roc-rk3399-pc_build_Android-7.1 工程建立 编译 Android7.1 industry 固件 编译准备: 下载 Android SDKAndroid SDK 源码包比较大,可以去下载页面来获取Android7.1源码包: 下载链接 下载完成后先验证一下 MD5 码: $ md5sum /path/to/rk3399-firefly-industry-71-20190926.7z.001 afb279a7d2966908bcf53ce2c2c05edc rk3399-firefly-industry-71-20190926.7z.001 $md5sum /path/to/rk3399-firefly-industry-71-20190926.7z.002 2bc5a41fd1056f1d1ab1f7e84f666bee rk3399-firefly-industry-71-20190926.7z.002确认无误后,就可以解压: mkdir -p ~/proj/firefly-rk3399-Industry cd ~/proj/firefly-rk3399-Industry 7z x /path/to/rk3399-firefly-industry-71-20190926.7z.001 -r -o. git reset --hard注意:解压后务必要先更新下远程仓库。 以下为从 gitlab 处更新的方法: 1. 进入SDK根目录 cd ~/proj/firefly-rk3399-Industry 2. 下载远程bundle仓库 git clone https://gitlab.com/TeeFirefly/rk3399-industry-nougat-bundle.git .bundle 3. 若下载仓库失败,目前bundle仓库大约1.4G左右,所以同步的时候可能会出现卡住或失败的问题,可以从下方百度云链接下载并解压到SDK根目录,解压指令如下: 7z x rk3399-industry-nougat-bundle.7z -r -o. && mv rk3399-industry-nougat-bundle/ .bundle/ 4. 更新SDK,并且后续更新不需要再次拉取远程仓库,直接执行以下命令即可 .bundle/update 5. 按照提示已经更新内容到 FETCH_HEAD,同步FETCH_HEAD到firefly分支 git rebase FETCH_HEAD Filefly rk3399 安卓 7.1 编译(踩坑)记录:第一步是进入root模式 1. sudo apt-get install openjdk-8-jre 2. sudo apt-get install openjdk-8-jdk 3. export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 4. export PATH=$JAVA_HOME/bin:$PATH 5. export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar 6. sudo apt install g++-multilib 7. sudo apt install gperf 8. sudo apt install libxml2-utils 9. sudo apt install curl 10. sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386 11. sudo apt-get install m4 工程目录下 12. vim build/envsetup.sh 脚本最后添加一句话 export LC_ALL=C 13. . build/envsetup.sh 重新执行一下脚本 路径 /home/book/proj/firefly-rk3399-Industry/prebuilts/sdk/tools 14. vim jack-admin 修改变量JACK_SERVER_VM_ARGUMENTS,添加参数 -Xmx4096M 如下: JACK_SERVER_VM_ARGUMENTS="${JACK_SERVER_VM_ARGUMENTS:=-Dfile.encoding=UTF-8 -XX:+TieredCompilation -Xmx4096M}" 修改JACK_SERVER_COMMAND,在-cp前面添加 -Xmx4096M 如下: JACK_SERVER_COMMAND="java -Djava.io.tmpdir=$TMPDIR $JACK_SERVER_VM_ARGUMENTS -Xmx4096M -cp $LAUNCHER_JAR $LAUNCHER_NAME" 15. ./jack-admin start-server 16. ./jack-admin kill-server 17. ./jack-admin list-server 18. ./jack-admin uninstall-server 19. mm -j32 showcommands &> mm.out 20. ./jack-admin install-server jack-launcher.jar jack-server-4.8.ALPHA.jar 21. ./jack-admin dump-report 22. ./jack-admin dump-re 23. ./jack-admin dump-re ##### 编译jack有问题时,做一下修改 /****************************************************** 24. 修改配置文件 vim ~/.jack-settings SERVER_PORT_SERVICE=8386 SERVER_PORT_ADMIN=8387 25. 修改配置文件 vim ~/.jack-server/config.properties 编译的时候才会生成这个配置文件 jack.server.service.port=8386 jack.server.admin.port=8387 26. chmod 600 ~/.jack-settings chmod 600 ~/.jack-server/config.properties 27. jack-admin kill-server 28. px -xf | grep jack ,查看是否存在jack进程,若存在则 kill -9 进程号 *******************************************************/ 以上操作全部执行完毕后,才可以开始编译 编译步骤参考官方:http://wiki.t-firefly.com/zh_CN/Firefly-RK3399/compile_android7.1_industry_firmware.html 烧录固件官网步骤:http://wiki.t-firefly.com/zh_CN/Firefly-RK3399/03-upgrade_firmware.html 1.拷贝编译好的.img文件到烧录工具(AndroidTool_Release_v2.65)目录将rockdev/Image-rk3399_firefly/文件下的.img文件拷贝到安卓烧录工具AndroidTool_Release_v2.65 , AndroidTool_Release_v2.65\rockdev\Image目录中,之后参照升级文档烧写分区映像即可,这样的好处是 使用默认配置即可,不用修改文件的路径。 update.img 方便固件的发布,供终端用户升级系统使用。一般开发时使用分区映像比较方便。 2.下载安卓RK USB驱动下载 Release_DriverAssistant.zip ,解压,然后运行里面的 DriverInstall.exe 。为了所有设备都使用更新的驱动,请先选择驱动卸载,然后再选择驱动安装。 3.链接设备设备进入升级模式的方式如下: 一种方法是设备先断开电源适配器和 Type-C 数据线的连接: USB 一端连接主机,Type-C 一端连接开发板 Type-C 母口按住设备上的 RECOVERY (恢复)键并保持接上电源大约两秒钟后,松开 RECOVERY 键 另一种方法,无需断开电源适配器和 Type-C 数据线的连接: USB 一端连接主机,Type-C 一端连接开发板 Type-C 母口按住设备上的 RECOVERY (恢复)键并保持短按一下 RESET(复位)键大约两秒钟后,松开 RECOVERY 键主机应该会提示发现新硬件并配置驱动。打开设备管理器,会见到新设备 Rockusb Device 出现,如下图。如果没有,则需要返回上一步重新安装驱动。 4.烧写固件以管理员的身份运行AndroidTool_Release_v2.65 下载 AndroidTool(若系统是 Android8.1 则需要 2.54 以上版本),解压,运行 AndroidTool_Release_v2.38 目录里面的 AndroidTool.exe(注意,如果是 Windows 7/8,需要按鼠标右键,选择以管理员身份运行),如下图: 烧写统一固件 update.img 的步骤如下: 切换至升级固件页。按固件按钮,打开要升级的固件文件。升级工具会显示详细的固件信息。按升级按钮开始升级。如果升级失败,可以尝试先按擦除 Flash按钮来擦除 Flash,然后再升级。一定要根据《使用USB线烧写须知(重要)》进行擦除烧写注意:如果你烧写的固件 laoder 版本与原来的机器的不一致,请在升级固件前先执行擦除 Flash。 每个固件的分区可能不相同,请注意以下两点: 使用 Androidtool_2.38 烧写 ubuntu(MBR) 和 Android7.1 固件时使用默认配置即可; 使用 Androidtool_2.58 烧写 ubuntu(GPT) 使用默认配置即可,烧写 Android8.1 固件请先执行以下操作: 切换至下载镜像页面; 右键点击表格,选择导入配置; 选择rk3399-Android81.cfg 烧写分区映像的步骤如下: 切换至下载镜像页。勾选需要烧录的分区,可以多选。确保映像文件的路径正确,需要的话,点路径右边的空白表格单元格来重新选择。点击执行按钮开始升级,升级结束后设备会自动重启。参考另一篇文章:https://blog.csdn.net/weixin_43209963/article/details/107995234 1.安装samba 服务器:https://www.linuxidc.com/Linux/2018-11/155466.htm 2.设置ubuntu为静态ip(https://www.cnblogs.com/cnbai/p/12827905.html) 编辑:vi /etc/netplan/50-cloud-init.yaml network: ethernets: 网卡名 ens33: # DHCP:自动分配 IP地址,租期到了会自动续约,IP会变 dhcp4: no #dhcp4关闭 dhcp6: no #dhcp6关闭 # 24 代表子网掩码 255.255.255.0 ,32 个二进制数前 24 位为 1 addresses: [192.168.242.128/24] #设置本机IP及掩码,前三组数字要与网关一致 gateway4: 192.168.242.2 #设置网关 nameservers: addresses: [114.114.114.114, 8.8.8.8] #设置DNS version: 2保存,输入指令:netplan apply 驱动开发 1.驱动设计思想参考伟东山《嵌入式Linux应用开发完全手册》第5篇8.9章,了解清楚驱动框架,设备树应用。
一张图可以表达清楚 第一步: 第二步: 修改plarform_driverde 源码 第三步: 在设备树中指定GPIO 引脚,具体看下一节内容《GPIO和Pinctrl子系统的使用》 GPIO和Pinctrl子系统的使用 Pinctrl:(选择io功能) 概念:
|
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |