应用实战精解系列(二十一):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的详细教程。欢迎大家持续关注应用实战系列内容。

相关文章
|
1月前
|
缓存 Linux 开发者
Linux内核中的并发控制机制:深入理解与应用####
【10月更文挑战第21天】 本文旨在为读者提供一个全面的指南,探讨Linux操作系统中用于实现多线程和进程间同步的关键技术——并发控制机制。通过剖析互斥锁、自旋锁、读写锁等核心概念及其在实际场景中的应用,本文将帮助开发者更好地理解和运用这些工具来构建高效且稳定的应用程序。 ####
46 5
|
1月前
|
存储 安全 关系型数据库
Linux系统在服务器领域的应用与优势###
本文深入探讨了Linux操作系统在服务器领域的广泛应用及其显著优势。通过分析其开源性、安全性、稳定性和高效性,揭示了为何Linux成为众多企业和开发者的首选服务器操作系统。文章还列举了Linux在服务器管理、性能优化和社区支持等方面的具体优势,为读者提供了全面而深入的理解。 ###
|
3月前
|
监控 Linux Shell
30 个实用的 Linux 命令贴与技巧,提升你的效率(附实战案例)
本文介绍了30个实用的Linux命令及其应用场景,帮助你提升命令行操作效率。涵盖返回目录、重新执行命令、查看磁盘使用情况、查找文件、进程管理、网络状态监控、定时任务设置等功能,适合各水平的Linux用户学习和参考。
|
4月前
|
Unix Linux Ruby
在windows和linux上高效快捷地发布Dash应用
在windows和linux上高效快捷地发布Dash应用
|
4月前
|
Linux iOS开发 开发者
跨平台开发不再难:.NET Core如何让你的应用在Windows、Linux、macOS上自如游走?
【8月更文挑战第28天】本文提供了一份详尽的.NET跨平台开发指南,涵盖.NET Core简介、环境配置、项目结构、代码编写、依赖管理、构建与测试、部署及容器化等多个方面,帮助开发者掌握关键技术与最佳实践,充分利用.NET Core实现高效、便捷的跨平台应用开发与部署。
410 3
|
4月前
|
存储 Linux 开发工具
【Azure App Service】本地Git部署Python Flask应用上云(Azure App Service For Linux)关键错误
【Azure App Service】本地Git部署Python Flask应用上云(Azure App Service For Linux)关键错误
|
4月前
|
存储 Linux 网络安全
【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)
|
4月前
|
JavaScript Linux
【Azure App Service for Linux】NodeJS镜像应用启动失败,遇见 RangeError: Incorrect locale information provided
【Azure App Service for Linux】NodeJS镜像应用启动失败,遇见 RangeError: Incorrect locale information provided
|
4月前
|
JavaScript Linux API
【Azure 应用服务】NodeJS Express + MSAL 应用实现AAD集成登录并部署在App Service Linux环境中的实现步骤
【Azure 应用服务】NodeJS Express + MSAL 应用实现AAD集成登录并部署在App Service Linux环境中的实现步骤
|
4月前
|
前端开发 JavaScript Linux
【Azure 应用服务】在Azure App Service for Linux环境中,部署的Django应用,出现加载css、js等静态资源文件失败
【Azure 应用服务】在Azure App Service for Linux环境中,部署的Django应用,出现加载css、js等静态资源文件失败