当前位置: 首页 > news >正文

RV1126B 评估板 Linux 应用开发与调试指南

前 言本文为Linux应用开发的指引文档提供Linux应用开发环境、开发流程等说明以及对平台关键技术及其支持情况进行简要介绍。同时本文将对部分通用开发技术进行说明其它应用开发内容请按文中说明选择对应参考文档进行阅读。当前应用开发支持情况如下表所示。在完成开发环境搭建后可参考本文的“Linux常用开发案例”章节熟悉基本的应用开发流程再参考其他用户手册文档进行产品应用开发。开发环境Windows开发环境Windows10 64bitLinux开发环境VMware16.2.5、Ubuntu22.04 64bitLinuxSDK开发包LinuxSDK-[版本号]基于rv1126b_linux6.1_release_v1.2.0评估板系统版本U-Boot 2017.09、Linux-6.1.141、Buildroot-2024.02交叉编译工具链应用开发aarch64-buildroot-linux-gnu-gcc版本为13.4.0通过LinuxSDK编译生成U-Boot、内核开发gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu备注本文基于16GByte eMMC、2GByte LPDDR4X配置核心板进行演示。1开发环境搭建说明1.1 LinuxSDK使用说明由我司提供的LinuxSDK-[版本号]开发包位于产品资料“4-软件资料\Linux\LinuxSDK”目录下基于瑞芯微的rv1126b_linux6.1_release_v1.2.0进行开发。请参考《开发环境搭建》的“LinuxSDK安装”章节正确解压LinuxSDK并安装相关依赖软件然后参考《Linux系统开发手册》的“LinuxSDK配置与编译”章节正确编译LinuxSDK生成支持应用开发的交叉编译工具链和sysroot。编译完LinuxSDK后请执行如下命令完成Linux应用开发的环境变量配置即可进行Linux应用开发。Host#source /home/tronlong/RV1126B/rv1126b_linux6.1_release/buildroot/output/tl1126_evm/rockchip_rv1126b/host/environment-setup1.2 sysroot使用说明我我司提供的sysroot压缩包主要包含应用开发时所需的库常用开发库、Qt库等适用于Linux系统应用开发。请将产品资料“4-软件资料\Linux\LinuxSDK\”目录下的sysroot压缩包拷贝至上位机Ubuntu系统/home/tronlong/RV1126B/目录。执行如下命令将其解压解压完成后会在当前目录下生成一个aarch64-buildroot-linux-gnu_sdk-buildroot目录该目录包含应用开发的交叉编译工具链。备注sysroot压缩包版本以实际情况为准。Host#tar -zxf rv1126-buildroot-2024.02-sysroot-v1.0.tar.gz执行如下命令查看应用开发的交叉编译工具链。Host#ls aarch64-buildroot-linux-gnu_sdk-buildroot/执行以下命令运行relocate-sdk.sh脚本完成LinuxSDK路径重定位若未执行该操作将导致sysroot无法正常使用。Host#./relocate-sdk.sh执行如下命令加载Linux应用开发环境。Host#source environment-setup1.3工具链使用说明通过source命令完成环境变量配置后请执行如下命令查看编译工具链版本。Host#aarch64-buildroot-linux-gnu-gcc -v2 GDB调试说明GDB为GNU推出的经典命令行调试工具在Linux系统下广泛使用。它功能强大能让开发者单步执行程序、逐过程或逐语句调试自由跳入或跳出函数还能按条件设置断点实时查看变量值精准定位程序问题。GDB支持多种语言包括汇编、C/C、D、Fortran、GO、Objective-C、OpenCL等。此外它有远程调试模式在嵌入式系统调试中优势明显。借助TCP/IP协议及专有通信协议可让调试程序的主机与运行程序的目标机跨设备协作高效完成调试任务。2.1调试环境搭建请先参考产品资料用户手册目录下的《开发环境搭建》和《Linux系统开发手册》安装、编译LinuxSDK。GDB调试工具压缩包gdb-[版本号].tar.xz位于LinuxSDK源码buildroot/dl/gdb/目录下。在RV1126工作目录下执行如下命令创建gdb-tool目录用于存放GDB调试工具压缩包将GDB调试工具包拷贝至该目录下并解压。Host#mkdir gdb-toolHost#cd gdb-tool/Host#cp /home/tronlong/RV1126B/rv1126b_linux6.1_release/buildroot/dl/gdb/gdb-15.2.tar.xz ./Host#tar -xvf gdb-15.2.tar.xz执行如下命令配置交叉编译工具链环境变量并新建install目录用于存放编译生成的GDB调试工具。Host#export PATH$PATH:/home/tronlong/RV1126B/aarch64-buildroot-linux-gnu_sdk-buildroot/binHost#mkdir install备注若当前终端已执行过交叉编译工具链的source操作请勿直接在该终端内进行环境变量export配置应重新打开新终端后再执行配置操作否则会造成GDB编译失败。执行如下命令进入GDB调试工具包目录配置GDB调试工具。Host#cd gdb-15.2Host#./configure --targetaarch64-buildroot-linux-gnu --prefix/home/tronlong/RV1126B/gdb-tool/install备注--target表示GDB调试工具名称前缀选择--targetaarch64-buildroot-linux-gnu--prefix表示存放目录选择新建的install目录。执行如下命令进行编译。Host#make执行如下命令安装GDB调试工具将会在install目录下生成GDB调试工具。Host#make install2.2演示程序创建与编译在gdb-tool目录下执行如下命令新建一个GDB调试演示程序。Host#vi test.cHost#cat test.c演示程序代码如下#includevoid show() {printf(show\n);}int main(int argc, char *argv[]){int arr[4] {1, 2, 3, 4};int i 0;for (i 0; i 4; i) {printf(arr[%d]: %d\n, i, arr[i]);}show();return 0;}执行如下命令进行程序编译编译完成将会生成test可执行程序。备注编译时需添加-g参数生成的可执行文件才带有调试信息。Host#aarch64-buildroot-linux-gnu-gcc -g test.c -o test评估板与PC机连接至同一个路由器后进行上电将编译生成的可执行文件test拷贝至评估板文件系统的任意目录执行以下命令修改文件权限。Target#ls testTarget#chmod x test2.3调试程序运行执行如下命令查看虚拟机的IP地址。Host#ifconfig在评估板文件系统test文件所在路径下执行如下命令运行gdbserver程序开启监听。备注192.168.12.3为虚拟机的IP地址1234为连接的端口号自行设置test为将要进行调试的程序。Target#gdbserver 192.168.12.3:1234 test在虚拟机test文件所在路径下执行如下命令使用GDB调试工具进行程序调试。Host#./install/bin/aarch64-buildroot-linux-gnu-gdb test执行如下命令连接评估板。192.168.12.18为评估板的IP地址请以实际情况为准。(gdb)target remote 192.168.12.18:1234同时串口调试终端显示连接成功的相关信息。2.4程序调试本章节主要演示GDB调试的几个常用命令的使用方法。2.4.1 list命令用于列出源码简写l。2.4.2 break命令用于设置断点简写b。分别在main函数和第10行设置断点。2.4.3 info breakpoints命令用于显示断点的状态简写info b。由于篇幅过长等原因部分内容均不逐一展示如需获取完整版详细资料请关注Tronlong创龙科技微信公众号或官网或者评论区留言感谢您的支持
http://www.zskr.cn/news/1386533.html

相关文章:

  • MediaCreationTool.bat技术指南:如何构建企业级Windows部署自动化系统
  • 30岁裸辞后,我用两个月拿下AI应用认证,现在OFFER选择困难症犯了
  • Python开发者首次使用Taotoken接入大模型API的完整步骤指南
  • 2026年至今,探寻温州幼儿园专业机构的成长之路与优质选择 - 2026年企业推荐榜
  • 项目落地低效内卷?低代码打破开发成本与周期枷锁
  • 实测Taotoken聚合端点在高峰期的响应延迟与稳定性表现
  • 10G SFP+光模块兼容性解析:如何避免互联陷阱
  • 2026年Q2河北核心全塑型塑胶跑道品牌实测排行:河北田径场跑道、河北透气性塑胶跑道、河北预制型塑胶跑道、硅pu场地翻新选择指南 - 优质品牌商家
  • 2026年不锈钢水切割加工服务商实测评测:深圳水切割加工厂/瓷砖水切割加工/硅胶水切割加工/绝缘材料水切割加工/选择指南 - 优质品牌商家
  • 医药企业加速GSP合规管理的AI自动化路径有哪些?基于AI Agent的全链路自动化实战
  • 红外热成像导向的北方居住建筑外墙热阻辨识方法【附算法】
  • 车载以太网线缆诊断(RTCT)实战:手把手教你用RTL9010寄存器配置与代码调试
  • 如何突破Flash资源提取困境:JPEXS Free Flash Decompiler的5个实战重构策略
  • 别再手动点仿真了!用Simulink Test Manager实现模型自动化测试(附Excel数据驱动模板)
  • 使用Taotoken CLI工具一键配置开发环境,支持多种AI助手工具
  • C语言双端队列完整实现:一行代码吃透头尾操作,算法效率拉满
  • 深度解析NHSE:动物森友会存档逆向工程与高级编辑技术实战指南
  • HC8320晨芯阳高效率,40 V输入,1 A负载同步整流DC-DC降压转换IC
  • 在Ubuntu 18.04上搞定Anubis 2.3静态版:从下载、配置到跑通第一个GNSS数据质量分析
  • 淘金币自动化脚本:5分钟完成所有淘宝任务的终极指南
  • modelscope v1.37.1 修复 trust_remote_code 兼容性问题:一次看懂 2026-05-22 最新补丁版全部更新
  • 基于ATtiny85与JQ8900-16P的极简嵌入式音频播放系统设计与实现
  • 基于Arduino与ACS712的智能待机功耗控制方案设计与实现
  • Sora 2商用红线预警:版权溯源链构建指南(含AI生成视频DCI数字版权登记全流程)
  • 2026-05-26:移除前缀使数组严格递增。用go语言,给定整数数组 nums,你可以从数组开头“删掉一段连续的前缀”(前缀长度可以为 0)。要求删除后剩下的部分必须是严格递增的(即剩余数组中任意相
  • 2026现阶段温州实木全屋定制优质公司联系全攻略 - 2026年企业推荐榜
  • AI Agent Harness自动化压力测试
  • 【昇腾CANN】changelog自动化:用脚本省掉80%的版本记录工作
  • 基于ATtiny85的智能烙铁定时器:低成本安全卫士DIY指南
  • 2026柴油流量计技术解析与主流产品实测对比:沥青液位计/沥青液位计/液碱流量计/液碱流量计/液碱液位计/液碱液位计/选择指南 - 优质品牌商家