rk356x–Linux刷机
瑞芯微芯片刷机流程,进入预刷机状态、加载刷机固件、刷机。首次刷机时请注意是否安装驱动,如未安装请先安装驱动 参照1.1。驱动正常安装后则可以正常识别到设备,一般在刷机软件下方提示“发现一个ADB设备”或者“发现一个MSC设备”。然后是进入预刷机状态请参照 1.3或者1.4。然后是加载刷机固件根据情况选择刷整包(参照2.1)还是分区镜像(参照3),刷机完成可正常启动,如还是loader 模式则需要咨询相关工程师。
文章目录
1. 设备模式
1.1 驱动安装
解包DriverAssitant_v4.5.zip
选择"DriverInstall.exe" 安装驱动
1.2 ADB 模式
提示:发现一个ADB设备,设备已进入adb 模式
1.3 Loader 模式
成功进入loader模式 如图1-2,进入几种方式:
a) Adb shell执行 adb reboot loader
b) 点击开发者工具中的 切换
c) 上电前 按下主板 vol+键(进入loader模式快捷入口),或者按下主板 vol+键
再按一次reset键
图 1-2
1.4 Maskroom 模式
成功进入maskroom模式 如图1-3,进入几种方式:
a) 按maskroom键
b) 进入 loader模式,点击"高级功能" “进入Maskroom”
图1-3
2 整包固件升级
2.1 Linux 同版本升级固件
升级固件 --> 固件 --> 找到生成固件或解压缩后的update.img 等待校验固件完成(界面为灰色)
–> 点击"执行"(升级系统固件)
图2-1
2.2 Linux 变更版本升级固件
升级固件 固件 找到生成固件或解压缩后的 update.img
等待校验固件完成(界面为灰色) 擦除Flash 点击"执行"(升级系统固件)
图2-2
3 分区镜像刷机
刷机步骤:进入loader, 下载镜像勾选需要刷机选项
勾选镜像路径选择(点击勾选项右侧空格 对应所选项刷机文件) 执行(开始刷机)
等待刷机完成(刷机完成右侧提示框会提示刷机完成) 等待重启。
注:为maskroom 模式须刷 uboot后才能开机;对应所选项刷机文件
为源码中生成单独镜像,名字与所选项相同,loader对应镜像为
MiniLoaderALl.bin。
刷机前须加载分区镜像内容,以 loader 为例:右击loader 列表最右端的空白区,打开需要下载的分区镜像,无错误提示分区镜像加载完成。
3.1 仅刷uboot
勾选 loader Parameter uboot trust 四个选项即可,如图3-1,然后执行刷机。
图3-1
3.2 仅刷kernel
勾选 Dtbo vbmeta boot
三个选项即可如图3-2,然后执行刷机
图3-2
3.3 仅刷recovery
勾选misc recovery两个选项即可,如图3-3,然后执行刷机
刷机完成机器重启 进入recovery模式,对系统进程三清还原
然后正常开机,这个过程时间较长
图3-3
3.4 仅刷 rootfs
勾选 oem rootfs userdata
三个选项即可,如图3-4。然后执行刷机,刷机完成机器重启,进入正常开机。此刷机仅对刷机分区文件进行覆盖更新。
图3-4
3.5 分区镜像全刷
勾选每个分区镜像然后执行刷机操作即可。
4 Linux 编译
4.1 配置环境变量
进入 Linux 源码根目录,执行显示如下,再输入 66
source build/envsetup.sh
...
63. rockchip_rk3399_recovery
64. rockchip_rk3566
65. rockchip_rk3566_32
66. rockchip_rk3568
67. rockchip_rk3568_32
...
Which would you like? [0]: 66
===========================================
#TARGET_BOARD=rk3568
#OUTPUT_DIR=output/rockchip_rk3568
#CONFIG=rockchip_rk3568_defconfig
===========================================
make: 进入目录“/build/356x-linux/buildroot”
GEN /build/356x-linux/buildroot/output/rockchip_rk3568/Makefile
/build/356x-linux/buildroot/build/defconfig_hook.py -m /build/356x-linux/buildroot/configs/rockchip_rk3568_defconfig /build/356x-linux/buildroot/output/rockchip_rk3568/.rockchipconfig
BR2_DEFCONFIG='' KCONFIG_AUTOCONFIG=/build/356x-linux/buildroot/output/rockchip_rk3568/build/buildroot-config/auto.conf KCONFIG_AUTOHEADER=/build/356x-linux/buildroot/output/rockchip_rk3568/build/buildroot-config/autoconf.h KCONFIG_TRISTATE=/build/356x-linux/buildroot/output/rockchip_rk3568/build/buildroot-config/tristate.config BR2_CONFIG=/build/356x-linux/buildroot/output/rockchip_rk3568/.config HOST_GCC_VERSION="9" BUILD_DIR=/build/356x-linux/buildroot/output/rockchip_rk3568/build SKIP_LEGACY= BR2_DEFCONFIG=/build/356x-linux/buildroot/configs/rockchip_rk3568_defconfig /build/356x-linux/buildroot/output/rockchip_rk3568/build/buildroot-config/conf --defconfig=/build/356x-linux/buildroot/output/rockchip_rk3568/.rockchipconfig Config.in
/build/356x-linux/buildroot/output/rockchip_rk3568/.rockchipconfig:198:warning: override: reassigning to symbol BR2_PACKAGE_ROCKCHIP
/build/356x-linux/buildroot/output/rockchip_rk3568/.rockchipconfig:199:warning: override: reassigning to symbol BR2_PACKAGE_RK356X
/build/356x-linux/buildroot/output/rockchip_rk3568/.rockchipconfig:199:warning: override: BR2_PACKAGE_RK356X changes choice state
/build/356x-linux/buildroot/output/rockchip_rk3568/.rockchipconfig:214:warning: override: reassigning to symbol BR2_PACKAGE_ROCKCHIP_TEST
#
# configuration written to /build/356x-linux/buildroot/output/rockchip_rk3568/.config
#
make: 离开目录“/build/356x-linux/buildroot”
# 配置工程
./build.sh lunch
processing option: lunch
You're building on Linux
Lunch menu...pick a combo:
0. default BoardConfig.mk
1. BoardConfig-rk3566-evb2-lp4x-v10-32bit.mk
2. BoardConfig-rk3566-evb2-lp4x-v10.mk
3. BoardConfig-rk3568-evb1-ddr4-v10-32bit.mk
4. BoardConfig-rk3568-evb1-ddr4-v10-spi-nor-64M.mk
5. BoardConfig-rk3568-evb1-ddr4-v10.mk
6. BoardConfig-rk3568-nvr-spi-nand.mk
7. BoardConfig-rk3568-nvr.mk
8. BoardConfig-rk3568-uvc-evb1-ddr4-v10.mk
9. BoardConfig.mk
Which would you like? [0]:9
switching to board: /build/356x-linux/device/rockchip/rk356x/BoardConfig-rk3568-evb1-ddr4-v10.mk
# 至此环境变量配置完成
4.2 编译uboot
./build.sh uboot
4.3 编译 kernel
./build.sh kernel
4.4 编译 recovery
./build.sh recovery
4.5 打包固件
./build.sh firmware
4.6 生成升级包
./build.sh updateimg
4.7 自动编译全部
./build.sh all
总结
工若善其事,必先利其器。