创龙科技
直播中

Tronlong创龙科技

3年用户 721经验值
擅长:嵌入式技术 存储技术 处理器/DSP EDA/IC设计 MEMS/传感技术
私信 关注

3568F-Linux系统启动卡制作及系统固化

本帖最后由 Tronlong创龙科技 于 2024-8-6 14:56 编辑

评测试板卡介绍

创龙科技TL3568F-EVM是一款基于瑞芯微RK3568J/RK3568B2四核ARM Cortex-A55处理器 + 紫光同创Logos-2 PG2L50H/PG2L100H FPGA设计的异构多核国产工业评估板由核心板和评估底板组成,ARM Cortex-A55处理单元主频高达1.8GHz/2.0GHz核心板ARMFPGAROMRAM电源、晶振、连接器等所有元器件均采用国产工业级方案,国产化率100%。同时,评估底板大部分元器件亦采用国产工业级方案,国产化率约为99%(按元器件数量占比,数据仅供参考)

核心板内部RK3568J/RK3568B2Logos-2通过PCIe 2.0FSPII2CGPIO连接,经过专业的PCB Layout和高低温测试验证,质量稳定可靠,可满足各种工业应用环境要求。

评估板接口资源丰富,引出3Ethernet3USB3CANRS422/RS4852SFPFMC通信接口,同时MIPI LCDLVDS LCDTFT LCDHDMI OUT视频接口,支持多屏异显,板载WIFIBluetooth模块,支持选配4G/5G模块、SATA固态硬盘,方便用户快速进行产品方案评估与技术预研。


1 评估板正面图


2 评估板背面图


3 评估板斜视图

4 评估板侧视图1


5 评估板侧视图2

6 评估板侧视图3


7 评估板侧视图4
                          





























1SD启动卡制作
1.1 SD启动卡制作
将产品资料4-软件资料ToolsWndows”目录下的瑞芯微创建升级磁盘工具SDDis
kTool_v1.69.2ip解压至Windows非中文工作目录下
右键SD_Firmware_Toolexe,然后点击“以管理员身份运行(A)”打开工具。
Micro SD卡通过读卡器插至PCUSB接口,在“第一步:选择可移动设备”中 选择可移动磁盘设备,然后点击“恢复磁盘”进行格式化,如下图所示
请确认所选的可移动磁盘设备无误,在弹出窗口中点击“是(Y”进行格式化。
等待格式化完成后,在弹出窗口中点击“确定”。
将产品资料4-软件资料LinuxMakesdboot版本号”目录下的Linux系统镜像拷贝 至非中文路径的目录。在瑞芯微创建升级磁盘工具窗口中勾选“SD启动”选项,点击“选 择固件”选择目标Linux系统镜像文件,点击“开始创建”,在弹出窗口中点击“是(Y), 制作SD启动卡。
请耐心等待5min左右,在弹出的窗口中点击“确定”,此时SD启动卡制作完成。
1.2sD启动卡启动系统
评估板断电,将S0启动卡插至评估板Micro SD卡槽。使用Type-C线连接评估板的 USBTO UART2调试串口到PC机,然后将评估板上电。系统将从SD启动卡启动后自动登 录root用户,调试串口终端会打印如下类似启动信息。
备注:系统上电后,由ARM内部BootRom的引导代码依次从SPINORFLASH(FSPI)eMMC FLASH(eMMC)SD(SDMMCO)USB3.00TG接口检测SPL启动程序,从第一个包含SPL 启动程序的设备开始启动。SPL启动后,将优先从SD系统卡(非常规SD)引导U-BootLinux内核镜像,若未插入Linux系统启动卡,将从原启动设备进行引导
详情请查阅6-开发参考资料Rockchip官方参考文档CommonMMC”目录下的官 方参考文档《Rockchip_Developer_Guide_SD_Bot_CN》。
系统启动后自动登录root用户,调试串口终端会打印如下类似启动信息,"Bootdev(a tags):mme 1"表示从Linux系统启动卡启动。
2固化Linux系统至eMMC
2.1通过so升级卡固化系统至eMMC
Micro SD卡通过读卡器插至PCUSB接口,打开瑞芯微创建升级磁盘工具,在
“第一步:选择可移动设备”中选择可移动磁盘设备,然后点击“恢复磁盘”进行格式 化,如下图所示。
在弹出窗口中点击“是M),等待格式化完成后,在弹出窗口中点击“确定”。
将产品资料4-软件资料UinuaMakesdboot版本号”目录下的Linux系统镜像拷贝 至非中文路径的目录下。在瑞芯微创建升级磁盘工具的“第二步:选择功能模式”勾选 “固件升级”,点击“选择固件”选择目标镜像文件,点击“开始创建”,在弹出的窗口 中点击“是(M),制作SD升级卡
请耐心等待5min左右,在弹出的窗口中点击“确定”,SD升级卡制作完成。
评估板断电,将SD升级卡插至评估板Micro SD卡槽,评估板上电后系统将会自动 固化Linux系统至eMMC。当系统固化完成后,调试串口终端会打印如下信息
评估板无需断电,取出SD升级卡,评估板将自动从eMMC启动系统。系统启动后自 动登录root用户,调试串口终端会打印如下类似启动信息,"Bootdev(atags):mme 0"表 示从eMMC启动。
2.2通过USB固化系统至eMMC
将产品资料4-软件资料ToolsWndows”日录下的瑞芯微驱动助手DriverAssitant_
v5.12.2ip解压至Windows非中文工作目录下,双击运行Driverln stall.exe
请先点击“驱动卸载”选项,在弹出的窗口点击“确定”。
备注:使用瑞芯微开发工具RKDevTool固化Lnux系统镜像至eMMC时,需安装Rockusb 驱动,PC机才能正常识别设备,因此需先卸载驱动,再重新安装
然后点击“驱动安装”选项,在弹出的窗口点击“确定”完成驱动安装。
将产品资料4-软件资料ToolsWhdows”目录下的瑞芯微开发工具RKDevTool-v1.
1.2ip解压至Windows工作目录下,该工具可将Linux系统镜像通过USB3.0 OTG接口固 化至eMMC。进入"RKDevToolv1.1RKDevToolRKDevTool_Release"目录,双击运行RKDe VTool.exe.
请从Micro SD卡槽取出SD卡,使用Type-C线将评估板USB3.0 OTG接口与PCU SB接口连接
请在瑞芯微开发工具界面点击“升级固件”,然后点击“固件”,选择需要固化至e MMCLinux系统镜像。
将评估板断电,长按USERO(KEY3)按键,再将评估板重新上电,当检测到USERO(KEY3) 按键为低电平时,ARM将进入Loader模式,即可通过USB3.00TG接口进行固件升级。
此时瑞芯微开发工具界面将会出现提示信息“发现一个MASKROM设备”或“发现 一个LOADER设备”,然后松开按键。
备注:
(1)eMMC未固化系统镜像,提示“发现一个MASKROM设备”
(2)eMMC已固化系统镜像,提示“发现一个LOADER设备”
点击“升级”,工具将自动固化Linux系统镜像至eMMC
直至出现如下界面,提示“下载固件成功”的信息,表示系统固化成功。此时评估板 将自动重启,启动完成后,瑞芯微开发工具界面提示“发现一个MSC设备”。
同时,系统启动后自动登录root用户,调试串口终端会打印如下类似启动信息,"B ootdev(atags):mme 0"表示从eMMC启动。
3 Linux系统启动卡和eMMC分区说明
3.1系统分区说明
评估板启动,进入评估板系统后执行如下命令,查看Unux系统启动卡和eMMC在文 件系统的挂载信息,其中mmcblkOpX表示eMMC设备的分区,mmcblk1pX表示Linux系 统启动卡的分区。
Target#
fdisk-I
为了保证文件系统健壮性,一般不推荐使用rootfs分区做频繁的数据读写,推荐使用 userdata分区作为日常数据存储。
Linux系统启动卡启动系统,进入评估板文件系统,执行如下命令可查看相关分区 大小,其中可看到rootfs分区剩余大小约为5.5GByte,userdata分区剩余大小约为25GByte. 备注:从Linux系统启动卡启动系统后,userdata分区会自动挂载,格式为ext2
Target#
df -TH
3.2分区配置说明
我司提供的LinuSDK开发包己包含系统分区配置文件parameter-buildroot-fit.txt,位 于LinuxSDK开发包"device/rockchip/rk356x/“目录下。
parameter-buildroot-fit.bxt文件分区配置信息如下图所示。
当前系统会根据系统分区配置文件parameter-buildroot-fit.tbct划分每个分区的大小, 因此可通过修改parameter-buldrootfit.tbt文件来改变分区大小。本次以修改userdata分 区与roots分区为例,演示减少rootfs分区512MByte容量,并扩大userdata分区512MByte 容量。
LinuxSDK源码目录下,执行如下命令,修改"device/rockchip/rk356/parameter-
buildroot-fit.tot"文件。
Host#vim device/rockchip/k356x/parameter-buldroot-fit.tbct
parameter-buildroot-fit.txt文件修改内容如下:
CMDLNE:mtdpartsark29xnand0x00002000@0.00004000(uboot).000002000@0×00006000(misc),0 0002000@000008000(boot),0x00020000@000028000(ecoverl,0x00010000@000048000|backu p),0-00b00000@0x00058000(rots),0×0004000@000658000|oem),0x00010000@0×00b9800|am p.-@0x00ba8000|userdatagow)

备注:
(1)注意parameter-buldroot-ft.txt文件中一个扇区大小为512Byte
(2)各分区中,"@"符号前面的字符表示分区容量,"@"符号后面的字符表示分区起始 地址。以rootfs分区的“0×00b00000@0×00058000”为例,"0x00b00000"表示分区容量, "Ox00058000"表示分区起始地址。
(3)默认情况下,rootfs分区大小为6GByte,现将rootfs分区容量减少512MByte, userdata分区容量增大512MByte。因此,roots分区大小需将"0x00c00000"修改为 "Ox00b00000",起始地址不变
(4)由于修改了rootfs分区大小,因此需同步修改其余相关分区的起始地址。其中, oem分区大小不变,起始地址修改为"0x00b58000":amp分区大小不变,起始地址修 改为"0x00b98000":剩余空间容量用作userdata分区,userdata分区的起始地址修改 为"0×00ba8000"
修改完成并保存退出,请参考用户手册《Linux系统使用手册》“LUinux系统镜像编译、 生成”章节编译生成Linux系统镜像update.img。然后请参考本文档的SD启动卡制作和 固化Linux系统至eMMC章节,制作SD启动卡并固化Linux系统至eMMC
使用SD启动卡启动评估板,进入评估板文件系统后执行如下命令,查看Linux系统 启动卡和eMMC在文件系统的挂载信息,其中mmcblkOpX表示eMMC设备的分区, mmcblk1pX表示Linux系统启动卡的分区。对比“系统分区说明”小节的默认分区信息, 可看到rootfs分区(mmcblk1p6mmcblk0p6),userdata分区(mmcblk1p9mmcblkOp9)大 小按照修改的容量发生改变,如下所示。
Tar get#
fdisk -I
4Linux系统OTA升级说明
OTA(Over-the-AIr)即空间下载技术,它功能强大,可以无损失升级系统。本章节主 要介绍如何使用OTA升级,其中包括本地升级程序recovery执行升级的流程及技术细节。
备注:目前仅支持从eMMC启动系统进行OTA升级。 Linux系统升级流程具体如下图所示。
4.1升级固件准备
请先参考用户手册《Linux系统使用手册》正确安装、编译LinuSDK,生成U-BootKernelBuldrootRecovery等镜像。
OTA升级中使用的升级固件为update.img。用户亦可根据需要参考如下方法修改Lin uSDK源码目录"tools/linux/Lnux_Pack_Firmware/rockdev/package-file"文件,对升级固件 update.img局部分区进行升级。
备注:为减少升级固件update.img大小,推荐使用局部分区升级方式进行Linux系统升 级。
LinuxSDK源码"Tk356x_linux_release_y1.3.1_20221120/took/Iinux/Linux_Pack_Firmw are/rockdev/"目录下,执行如下命令,修改packagefile文件,将相关不需要升级的分区 进行注释。本次以局部升级update .img升级固件中的U-Boot与内核为例
Host#cd /home/tronlong/RK3568/rk356x_linux_release_y1.3.1_20221120/tools/linux/Lin ux_Pack_Firmware/rockdev/
Host#vi package-fle
package-file文件修改内容如下:
修改完成后请保存退出,执行如下命令,进入 UinuSDK源码目录,将package-file文 件指定的分区镜像打包生成 update.img 升级固件,其位于 rockdev目录下。 备注:package-file 文件配置不同,打印信息会有所不同。
Host# cd /home/tronlong/RK3568/rk356x_Jinux_release_v1.3.1_20221120/ Host# ./build.shupdateimg
4.2 Linux系统升级
请将update.img升级固件拷贝至评估板文件系统userdata目录下,执行如下命令, 进入recovery模式并进行Linux系统升级,打印信息如下。
备注:升级过程中,评估板将会重启两次,第一次重启是为了进入recovery模式进行系
统升级,第二次重启是系统升级完成后评估板进行重启。
Target#
updateota /user data/update.img
update.img升级固件中有对recovery分区进行升级,升级过程中系统会先更新re covery分区,然后再重启进入recovery模式进行系统升级,打印信息如下所示。
Linux系统升级完成,评估板重新启动后将自动登录评估板文件系统,打印信息如下。
注意:
(1)如需将多个分区升级时,update.img升级固件会较大,eMMC容量为8GByte配 置的核心板,其userdata分区容量可能无法满足升级固件的大小,导致update.img 升级固件无法完整拷贝至userdata目录下,从而导致OTA升级失败。因此,推荐对 升级固件分区进行裁剪(分多次升级),或参考“Linux系统启动卡和eMMC分区说 明”章节的“分区配置说明”小节,拓展userdata分区的容量
(2)打包update.img升级固件时,推荐将无需升级的分区注释,仅保留需要升级的分 区,可减少updateimg升级固件大小。
(3)如在package-fle文件中配置了recovery分区升级,则recoveryimg将不会在rec overy模式中升级,为了预防在升级recoveryimg过程中掉电导致后面其他分区无法 正常升级的问题,recovery分区在当前运行的默认系统下进行升级,即执行"update ota /userdata/update.img”命令后会先检测update.img升级固件中是否有打包recove ryimg,若有则先升级recovery分区,再进入recovery模式升级其他分区固件:若没 有则直接进入recovery模式进行固件升级
(4)misc分区不推荐打包至update.img升级固件中,在升级程序中该分区将被忽略,
即使升级misc分区,升级成功后recovery程序仍会清空misc分区中所有命令及参 数,从而导致无法达到预期结果。
(5)更多详情可参考产品资料“6-开发参考资料Rockchip官方参考文档UinuxRecove ry”目录下的《Rockchip_Develbper_Guide _Uinux_Recovery_CN》或《Rockchip_Devel oper_Guide_Linux_Recovery_EN》文档。



更多回帖

发帖
×
20
完善资料,
赚取积分