news 2026/5/23 21:23:07

基于 RV1126B 评估板的 Linux 系统开发详解(二)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
基于 RV1126B 评估板的 Linux 系统开发详解(二)

2 U-Boot开发

2.1 U-Boot源码说明

进入U-Boot源码目录,执行如下命令,查看U-Boot源码目录。

Host#ls -l

2.2配置U-Boot

U-Boot可使用menuconfig进行配置,请参考“配置内核选项”章节,配置menuconfconfig所需依赖环境。

在LinuxSDK源码目录下,执行如下命令先编译一次U-Boot,脚本会在U-Boot目录下执行"make rv1126b_defconfig"生成".config"文件。

Host#./build.sh uboot

在LinuxSDK源码目录下,执行如下命令,进入"u-boot"目录,通过menuconfig配置U-Boot。

Host#cd u-boot/

Host#make menuconfig //通过menuconfig进行U-Boot配置

在U-Boot目录下执行如下命令,更新defconfig文件。

Host#make savedefconfig //在U-Boot目录下生成新的defconfig文件

Host#mv defconfig configs/rv1126b_defconfig //更新U-Boot的defconfig配置文件

2.3编译U-Boot

在LinuxSDK源码目录下执行如下命令,配置编译选项,并单独编译U-Boot镜像。

Host#./build.sh uboot //执行build.sh脚本编译U-Boot

备注:U-Boot编译会将"rkbin/bin/rk35/"目录下的bl31固件一起编译。编译后在LinuxSDK源码"u-boot"目录下生成U-Boot SPL镜像rv1126b_spl_loader_v1.09.105.bin、和U-Boot镜像uboot.img。

2.4替换U-Boot

我司已提供U-Boot镜像uboot.img文件,位于产品资料“4-软件资料\Linux\U-Boot\image\u-boot-2017.09-[版本号]-[Git系列号]\”目录下。

其中uboot.img文件可通过评估板文件系统固化至系统启动卡或eMMC。亦可通过瑞芯微开发工具RKDevTool固化至eMMC。

备注:通过瑞芯微开发工具RKDevTool替换方式不支持固化U-Boot镜像至系统启动卡。

(1)通过命令行替换

请从系统启动卡或eMMC启动系统,请将U-Boot镜像uboot.img文件拷贝至评估板root目录下,执行如下命令将其固化至系统启动卡或eMMC。

备注:如需固化至系统启动卡,请将设备节点修改为"/dev/mmcblk1p1"。

Target#dd if=uboot.img of=/dev/mmcblk0p1 conv=fsync //替换U-Boot镜像到对应存储分区

Target#reboot

(2)通过瑞芯微开发工具替换

请确保评估板Micro SD卡槽未插入Micro SD卡,并使用Type-C线将评估板USB 3.0 DRD接口连接至PC机USB接口。

备注:在进行本次操作前,需确保eMMC已固化完整系统镜像。

请参考《Linux系统固化手册》文档安装瑞芯微开发工具RKDevTool。将U-Boot镜像uboot.img文件拷贝至Windows非中文工作目录下。

a)打开瑞芯微开发工具,点击选择待替换的U-Boot镜像uboot.img,并勾选对应选项。

b)长按评估板的USER1(KEY3)按键,将评估板上电启动,等待瑞芯微开发工具提示“发现一个LOADER设备”后松开USER1(KEY3)按键。

c)点击“设备分区表”,在弹出的询问窗口中点击“是(Y)”。

d)点击“确定”完成分区表更新。

e)点击“执行”按钮,固化镜像,固化完成后,瑞芯微开发工具提示“下载完成”,评估板会自动重启,等待评估板重启进入系统后,即可生效。

2.5 U-Boot使用说明

2.5.1 U-Boot命令进入方式

评估板上电启动后,在U-Boot倒计时结束之前按下"Ctrl + C"进入U-Boot命令行模式。

U-Boot#help

2.5.2环境变量说明

(1)环境变量存储

执行命令"setenv"或"env default -f -a"修改的是运行空间中的环境变量值,须使用saveenv命令将修改后的环境变量保存起来。否则U-Boot重启后,将会使用修改前的环境变量值。环境变量修改完成后,执行reset命令,即可使用修改后的U-Boot环境变量启动。

U-Boot#env default -f -a

U-Boot#saveenv

U-Boot#reset

(2)默认配置信息

在U-Boot命令行执行printenv命令可查看环境变量,如下提供主要U-Boot环境变量的解析说明。不同版本的U-Boot,环境变量可能会有所不同,内容仅供参考。

/*系统启动时,记录启动次数,默认不开启这个功能,需设置boottest环境变量为1才会开启*/

boottestcount=if test $boottest = 1;then setexpr bootcount ${bootcount} + 1;saveenv;echo boottest=1 bootcount: ${bootcount};fi

/*根据环境变量devtype、devnum,从eMMC或Micro SD读取内核镜像以及设备树镜像,然后启动Linux*/

bootcmd=boot_fit;boot_android ${devtype} ${devnum};

/*评估板名字为evb_rv1126b*/

board_name=evb_rv1126b

/*启动延时为0秒*/

bootdelay=0

/*读取设备树文件至DDR地址0x48300000*/

fdt_addr_r=0x48300000

/*读取内核镜像至DDR地址0x45480000*/

kernel_addr_r=0x45480000

/*mmc启动命令。配置mmc启动参数*/

mmc_boot=if mmc dev ${devnum}; then setenv devtype mmc; run scan_dev_for_boot_part; fi

/*USB启动命令。配置USB启动参数*/

usb_boot=usb start; if usb dev ${devnum}; then setenv devtype usb; run scan_dev_for_boot_part; fi

(3)环境变量修改

本次修改以修改启动延时为1秒为例。

U-Boot#setenv bootdelay 1

2.5.3Kernel参数传递

通过U-Boot命令行使用printenv命令看到Kernel参数。

亦可观察内核启动阶段的Kernel参数。

(1)root参数

指定根文件系统位置,如"root=/dev/mmcblk0p6"表示根文件系统位于eMMC中的第6分区。

(2)console参数

指定内核启动时的控制台设备,如"console=ttyFIQ0"表示使用串口FIQ0作为控制台。

由于篇幅过长等原因,部分内容均不逐一展示,如需获取完整版详细资料,请关注Tronlong创龙科技微信公众号或官网,或者评论区留言,感谢您的支持!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/23 21:15:33

别错过机会!2026亲测好用的AI论文软件|避坑版

2026 年学术写作工具已高度分化,千笔AI与ThouPen为全流程首选,豆包、DeepSeek 为专项强手;避坑关键:拒绝假文献、严控 AIGC 率、优先国内适配、免费试用先行。一、TOP3 全流程首选(亲测不踩雷) 1. 千笔AI&a…

作者头像 李华
网站建设 2026/5/23 21:11:55

【夏日焕肤三件套|补水+修护+净透,解锁水光肌密码】

「夏敏救星补水面膜」‌‌核心成分‌:透明质酸��‌深层渗透‌:0.1mm超薄膜布贴合面部,瞬间注入24h持续保湿力,缓解干燥紧绷感。‌植萃力量‌:多种植物萃取精华成分(仙人掌提取物、燕…

作者头像 李华
网站建设 2026/5/23 21:11:18

ngx_http_find_virtual_server

1 定义 ngx_http_find_virtual_server 函数 定义在 ./nginx-1.24.0/src/http/ngx_http_request.cstatic ngx_int_t ngx_http_find_virtual_server(ngx_connection_t *c,ngx_http_virtual_names_t *virtual_names, ngx_str_t *host,ngx_http_request_t *r, ngx_http_core_srv_co…

作者头像 李华
网站建设 2026/5/23 21:11:04

如何高效管理阅读APP书源:3个关键步骤构建稳定阅读体验

如何高效管理阅读APP书源:3个关键步骤构建稳定阅读体验 【免费下载链接】Yuedu 📚「阅读」自用书源分享 项目地址: https://gitcode.com/gh_mirrors/yu/Yuedu 在数字阅读日益普及的今天,阅读APP已成为许多人的日常选择。然而&#xff…

作者头像 李华
网站建设 2026/5/23 21:10:06

分享一个Python爬虫的小技巧

最近在写爬虫的时候发现一个好用的方法,分享给大家。场景:需要爬取一个动态加载的网页,数据是通过AJAX请求获取的。传统做法是用Selenium模拟浏览器,但速度慢且不稳定。其实可以直接分析网络请求,找到API接口&#xff…

作者头像 李华
网站建设 2026/5/23 21:08:16

HsMod深度解析:基于BepInEx的炉石传说全方位模改进阶指南

HsMod深度解析:基于BepInEx的炉石传说全方位模改进阶指南 【免费下载链接】HsMod Hearthstone Modification Based on BepInEx 项目地址: https://gitcode.com/GitHub_Trending/hs/HsMod 你是否厌倦了炉石传说中繁琐的动画等待?是否渴望更高效的游…

作者头像 李华