应用实战精解系列(二十一):Linux下搭建RVB2601开发环境

简介: 应用实战精解系列(二十一):Linux下搭建RVB2601开发环境


在嵌入式开发中,许多工程师已经习惯在Linux下进行开发。为了让这部分开发者能更快上手RVB2601开发板,本期内容我们将分享如何快速在Linux中搭建RVB2601开发环境。同时,本文还记录了作者iysheng在环境搭建过程中遇到的问题及解决方法,希望可以为大家提供经验借鉴。


01 前言

RVB2601是一款基于E906的RISC-V生态芯片,最高主频220MHz,RV32IMACX指令集。


参考资料




02 搭建流程

最开始按照【RVB2601资源下载】下载的 sdk,根据 sdk 中的readme,执行发现编译的时候出现各种错误:

  • 宏未定义
  • 数据类型未定义
  • 缺少头文件等


通过提交工单,了解到了正确的编译方法:

image.gif图片.png


可能初次安装的时候会碰到product命令找不到的现象,根据《yoctools安装后无法找到product工具》https://yoc.docs.t-head.cn/yocbook/FAQ.html,可以这样做:


sudo pip install --no-binary=yoctools yoctools


然后编译就正常了。


Build Solution by  
scons: Reading SConscript files ...
[[1;33mWARNING[0m] /home/red/Projects/lite_led_controler/offical_helloworld/components/lvgl/src/lv_objx is not exists or not directory.
scons: done reading SConscript files.
scons: Building targets ...
scons: `yoc_sdk/lib/libsdk_chip_ch2601.a' is up to date.
scons: `yoc_sdk/lib/libcsi.a' is up to date.
scons: `yoc_sdk/lib/librhino.a' is up to date.
scons: `yoc_sdk/lib/librhino_arch.a' is up to date.
scons: `yoc_sdk/lib/librhino_pwrmgmt.a' is up to date.
scons: `yoc_sdk/lib/libhal_csi.a' is up to date.
scons: `yoc_sdk/lib/libaos_hal.a' is up to date.
scons: `yoc_sdk/lib/libchip_ch2601.a' is up to date.
scons: `yoc_sdk/lib/libcli.a' is up to date.
scons: `yoc_sdk/lib/libch2601_evb.a' is up to date.
scons: `yoc_sdk/lib/libkv.a' is up to date.
scons: `yoc_sdk/lib/libpartition.a' is up to date.
scons: `yoc_sdk/lib/libsec_crypto.a' is up to date.
scons: `yoc_sdk/lib/libaos.a' is up to date.
scons: `yoc_sdk/lib/libnewlib.a' is up to date.
scons: `yoc_sdk/lib/libdrivers.a' is up to date.
scons: `yoc_sdk/lib/libuservice.a' is up to date.
scons: `yoc_sdk/lib/libdrv_snd_ch2601.a' is up to date.
scons: `yoc_sdk/lib/libulog.a' is up to date.
scons: `yoc_sdk/lib/libminialsa.a' is up to date.
scons: `yoc_sdk/lib/liblvgl.a' is up to date.
scons: `yoc_sdk/lib/libsal.a' is up to date.
scons: `yoc_sdk/lib/libnetmgr.a' is up to date.
scons: `yoc_sdk/lib/libat.a' is up to date.
scons: `yoc_sdk/lib/libdrv_wifi_at_w800.a' is up to date.
scons: `yoc_sdk/lib/libch2601_helloworld.a' is up to date.
scons: `out/ch2601_helloworld/yoc.elf' is up to date.
scons: `yoc.elf' is up to date.
scons: `generated/data/prim' is up to date.
scons: done building targets.
YoC SDK Done
[INFO] Create bin files
[2022-05-10 09:09:45] [40;32mStart to sign images with key:def_otp[0m
----------------------------------------------------------------
                boot, 0, 0, 0x18000000, 0x00010000, 0x18010000, boot
                imtb, 0, 0, 0x18010000, 0x00002000, 0x18012000, imtb
                bmtb, 0, 0, 0x18012000, 0x00001000, 0x18013000, bmtb
                  kv, 0, 0, 0x18013000, 0x00004000, 0x18017000
                prim, 1, 0, 0x18017000, 0x00040000, 0x18057000, prim
                misc, 0, 0, 0x18057000, 0x00029000, 0x18080000
    boot,    48512 bytes
    prim,    72496 bytes
    imtb,     8192 bytes
    bmtb,      192 bytes
----------------------------------------------------------------


03 程序烧录

通过工单解决了这个问题,可以通过make flash可以完成程序下载。


工单网址:https://occ.t-head.cn/people/workorder-submit


程序烧录,需要使用Linux 版本的T-Head-DebugServer,目前最新版本的Linux 端的T-Head-DebugServer是T-Head-DebugServer-linux-x86_64-V5.14.2-20220415.sh.tar.gz,下载执行该脚本的安装,就会在 Linux 端安装上DebugServerConsole


上述工具的安装方法:


▸ sudo ./T-Head-DebugServer-linux-x86_64-V5.14.2-20220415.sh -iDo you agree to install the DebugServer? [yes/no]:yesSet full installing path:This software will be installed to the path: (/usr/bin)? [yes/no/cancel]:yesInstalling ...Done!You can use command "DebugServerConsole" to start DebugServerConsole!(NOTE: The full path of 'DebugServerConsole.elf' is: /usr/bin/T-HEAD_DebugServer)


接下来准备烧录程序:

  • 首先运行DebugServerConsole
  • 在工程目录即solutions/ch2601_helloworld下执行make flash或者make flashall烧录部分镜像或者全部镜像

图片.png


但是开始发现程序没有正常运行,通过不断麻烦平头哥小二咨询,最后发现是跳帽管脚跳的不对导致的。


具体体现在:

图片.png


我拿到板子的时候,debug口连接的是w800,导致下载程序观察串口打印没有发生变化,通过修改debug链接到RVB2601就可以正常看到打印信息了。

图片.png


至此,Linux端对RVB2601开发和烧录的环境就搭建好了。

04 下期预告

关于Linux下RVB2601开发环境的搭建就先介绍到这里,下期我们将分享上传RVB2601数据到飞燕平台以及下载飞燕平台数据到RVB2601的详细教程。欢迎大家持续关注应用实战系列内容。

目录
打赏
0
0
0
0
1041
分享
相关文章
Termux安卓终端美化与开发实战:从下载到插件优化,小白也能玩转Linux
Termux是一款安卓平台上的开源终端模拟器,支持apt包管理、SSH连接及Python/Node.js/C++开发环境搭建,被誉为“手机上的Linux系统”。其特点包括零ROOT权限、跨平台开发和强大扩展性。本文详细介绍其安装准备、基础与高级环境配置、必备插件推荐、常见问题解决方法以及延伸学习资源,帮助用户充分利用Termux进行开发与学习。适用于Android 7+设备,原创内容转载请注明来源。
720 76
Linux 手动安装快速部署 LNMP 环境实战
本文详细记录了在阿里云ECS上手动搭建LNMP环境的过程,系统选用Ubuntu 24.04。主要内容包括:1) 使用`apt`安装Nginx和MySQL,并更新软件源;2) 编译安装PHP 8.4.5,配置PHP-FPM及环境路径;3) 配置MySQL root用户密码;4) 调整Nginx支持PHP解析并测试整体环境。通过此过程,重现手动配置服务器的细节,帮助熟悉各组件的安装与协同工作。
210 23
Linux 主要应用领域的归纳
服务器领域 Linux在服务器领域的应用是其最为广泛和成熟的领域之一。由于其开源、稳定、高效和安全的特性,Linux成为许多企业服务器的首选操作系统。 Web服务器:Linux是Web服务器的理想选择,因为它支持Apache、Nginx等流行的Web服务器软件,这些软件在Linux上运行稳定且性能卓越。Linux服务器可以高效地处理大量并发请求,提供快速、可靠的Web服务。 数据库服务器:Linux也广泛用于数据库服务器,如MySQL、PostgreSQL和Oracle等数据库管理系统在Linux上运行良好。Linux的稳定性和安全性使得它成为存储和管理敏感数据的理想平台。 邮件服务器:Lin
222 5
Linux内核中的并发控制机制:深入理解与应用####
【10月更文挑战第21天】 本文旨在为读者提供一个全面的指南,探讨Linux操作系统中用于实现多线程和进程间同步的关键技术——并发控制机制。通过剖析互斥锁、自旋锁、读写锁等核心概念及其在实际场景中的应用,本文将帮助开发者更好地理解和运用这些工具来构建高效且稳定的应用程序。 ####
125 5
Linux系统在服务器领域的应用与优势###
本文深入探讨了Linux操作系统在服务器领域的广泛应用及其显著优势。通过分析其开源性、安全性、稳定性和高效性,揭示了为何Linux成为众多企业和开发者的首选服务器操作系统。文章还列举了Linux在服务器管理、性能优化和社区支持等方面的具体优势,为读者提供了全面而深入的理解。 ###
30 个实用的 Linux 命令贴与技巧,提升你的效率(附实战案例)
本文介绍了30个实用的Linux命令及其应用场景,帮助你提升命令行操作效率。涵盖返回目录、重新执行命令、查看磁盘使用情况、查找文件、进程管理、网络状态监控、定时任务设置等功能,适合各水平的Linux用户学习和参考。
|
11月前
|
在windows和linux上高效快捷地发布Dash应用
在windows和linux上高效快捷地发布Dash应用
463 4
跨平台开发不再难:.NET Core如何让你的应用在Windows、Linux、macOS上自如游走?
【8月更文挑战第28天】本文提供了一份详尽的.NET跨平台开发指南,涵盖.NET Core简介、环境配置、项目结构、代码编写、依赖管理、构建与测试、部署及容器化等多个方面,帮助开发者掌握关键技术与最佳实践,充分利用.NET Core实现高效、便捷的跨平台应用开发与部署。
1115 3
【Azure App Service】.NET代码实验App Service应用中获取TLS/SSL 证书 (App Service Linux/Linux Container)
【Azure App Service】.NET代码实验App Service应用中获取TLS/SSL 证书 (App Service Linux/Linux Container)
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问