1. 镜像文件准备
*编译时,为了方便追溯底软版本,可以指定版本信息,只需要在配置文件中对相关环境变量赋值即可,如在j6_myproject_defconfig中赋值:
export TAG_NAME=Myproject
在板端使用如下命令查看:
1.1 编译环境选择
*如果未将配置好的.config文件拷贝到platform_sdk/device/horizon/j6/defconfig下,
1.2 编译全部分区
执行编译动作:
生成的镜像文件位于目录 platform_sdk/out/release-gcc_11.4-64/target/product/img_packages/ 下。

其中,flash_all.sh脚本使用fastboot方式用于刷写所有分区。
1.3 编译单分区:
j6 build 系统支持单编各个module来缩小编译时间
基本逻辑:先编译模块(bdm xxx),再打包镜像(bd img xxx)
1.4 *build命令支持:
编译所有模块并生成disk镜像
编译所有模块,对编译生成的文件打包并生成各个分区镜像,同时生成flash_disk、emmc_disk以及ufs_disk等整包镜像。
单独编译kernel:
需先完成对kernel的编译,编译方法:
单独编译某个独立模块以及依赖:
“独立模块” 指的是kernel以及hobot-drivers外通过Kconfig接入到build中的模块,如hbre下的otaupdate。
清理
2. 镜像烧录准备
2.1 硬件环境准备:


电脑通过USB接板子uart口:

SW2拨至off:

2.2 串口通讯准备:
当使用windows通过串口连接J6X Matrix板时,需安装对应驱动,驱动下载链接:http://www.ftdichip.cn/Drivers/VCP.htm
下载位置:

解压后:

直接安装即可:

驱动安装后识别出的四个COM口,选择顺序从一开始,第三个COM口是acore,第四个COM口是mcu。
*本文档acore为COM6。

与开发板连接的PC,需要配备有可以通过USB与开发板串口通讯,或通过网口以ssh协议与开发板通讯的软件。
*本文档使用MobaXterm,用户可根据个人习惯自行选择:
MobaXterm下载地址:https://mobaxterm.mobatek.net/download.html
创建新session

选择Serial,选择COM6,波特率为921600


2.3 进入U-Boot

3. 烧录方式:
3.1 fastboot(USB)刷写
3.1.1 设置fastboot USB模式
进入U-Boot后,输入

进入fastboot模式(USB),通过USB对开发板进行刷写。
3.1.2 连接设备
开发板USB口正确连接到ubuntu:


在刷写分区前Ubunut需要安装fastboot,并通过fastboot devices获取设备:

3.1.3 脚本更新分区
成功获取设备后进入到build生成的目录:platform_sdk/out/release-gcc_11.4-64/target/product/img_packages/
执行下属脚本即可对开发板所有镜像进行刷写:
单分区刷写:*详细使用请查看flash_all.sh脚本

7.1后版本:flash_all支持烧写disk
7.1前版本:
可以尝试先更新一下 nor-flash 分区表:
分区表写不进去的话:
如果还是失败:使用dfu更新 flash:
3.2 fastboot(UDP)刷写:
3.2.1 设置本机ip:
打开本地以太网

右键-属性-双击Internet协议版本4

配置好本机ip:

在命令终端中通过ipconfig查看是否修改成功。
3.2.2 设置开发板uboot ip:
配置单板ip:*请确保配置的ip跟本机设置的ip在同一个子网中。

3.2.3更新分区:
4. 使用DFU进入U-Boot(变砖恢复):
在单板无法正常启动时(无法正常进入U-Boot),可以使用DFU启动到U-Boot下Fastboot模式,再使用Fastboot烧录所需镜像。*能正常进入U-Boot可以暂时跳过此小节。
4.1 Windows下DFU
使用DFU启动前请确认板上拨码开关所对应的启动方式。*SW2[2]->on

通过USB连接到电脑:

将下载后文件解压的目录路径放入到系统路径中:

*log与用户选择的版本相对应,下述log仅供参考。
此时单板进入到U-boot, fastboot(USB)模式。
4.2 Ubuntu下DFU
使用DFU启动前请确认板上拨码开关所对应的启动方式。*SW2[2]->on

通过USB口连接到Ubuntu中:

设置虚拟机连接所有USB设备:

在终端中输入:

表示成功连接DFU设备。
/xmodem_tools下提供了Linux下载的参考脚本。终端进入/xmodem_tools执行:
*请选择对应版本的xmodem_tools
*自动脚本执行中断或出错可以手动执行后续命令:
7.1前版本:

自动脚本终止在ddrc时可再次执行脚本。

自动脚本执行至spl时终止后,参考usb_serial_download.sh脚本使用手动输入完成后续刷写:
*找不到dfu设备请尝试重新拔插usb


完成刷写,此时单板进入到fastboot(USB)模式。*找不到dfu设备请尝试重新拔插usb
7.1后版本:

中断在spl,再执行一次脚本:

自动脚本执行至MCU时终止后,参考usb_serial_download.sh脚本使用手动输入完成后续刷写:
*找不到dfu设备请尝试重新拔插usb


完成刷写,此时单板进入到fastboot(USB)模式。请回到3.1.2进行烧录。
5. *flash_all.sh
6. *单板设置ip地址
即可通过ifconfig查看ip添加成功。

