全志D1s开发板裸机开发之坏境搭建

环境搭建

开发板介绍

张天飞老师编写的《RISC-V体系结构编程与实践》,里面的源码是基于 QEMU 模拟器的,可以认为它是一款虚拟的开发板。如果需要在真实开发板上学习,可以使用百问网的 DongshanPI-D1S 开发板。

DongshanPI-D1S 是百问网推出的一款基于 RISC-V 架构的学习裸机、 RTOS 的最小开发板。集成 CKLink 调试器,支持 OTG 烧录、 GDB 调试、串口打印,并将主芯片所有的信号全部引出,其中左右两侧兼容了树莓派的电源信号定义,可以很方便扩展模块。

D1S 是针对智能解码市场推出的高性价比 AIoT 芯片,它使用阿里平头哥的 64bit RISC-V 架构的 C906 处理器,内置了 64M DDR2 ,支持 FreeRTOS、RT-Thread 等 RTOS ,也支持 Linux 系统。同时集成了大量自研的音视频编解码相关 IP ,可以支持 H.265、H.264、MPEG-1/2/4、JPEG 等全格式视频解码,支持 ADC、DAC、12S、PCM、DMIC、OWA 等多种音频接口,可以广泛应用于智能家居面板、智能商显、工业控制、车载等产品。

在这里插入图片描述

下载资料

资料分两部分:开发板通用资料、《RISC-V体系结构编程与实践》的 D1S 源码。前者比较庞大,放在百度网盘;后者放在书籍配套的 GITEE 网站。

《RISC-V体系结构编程与实践》的 D1S 源码:

打开https://gitee.com/weidongshan/riscv_programming_practice,登录后按如下界面操作:

在这里插入图片描述

点击“克隆/下载”按钮之后,如下点击 下载ZIP 即可:

在这里插入图片描述

如果你没有点击 下载ZIP,而是使用 GIT 命令来下载,那么下载成功后还需要执行如下命令:

git checkout DongShanPI_D1

安装软件

需要安装如下5个软件,它们都位于网盘资料 开发板通用资料\05_开发配套工具\ 目录下:

Git\Git-2.39.1-64-bit.exe:我们把它当做命令行,不能使用 Windows 自带的 DOS 命令行、Powershell(在里面无法执行 make 命令)

make\make-3.81.exe:make 工具

toolchain\Xuantie-900-gcc-elf-newlib-mingw-V2.6.1-gdbtui-20230210.tar.gz:这是 Windows 版本的交叉编译工具,并且支持 TUI

CKLinkServer\T-Head-DebugServer-windows-V5.16.6-20221102-1510.zip:这是调试服务软件

xfe\xfe.exe:烧写工具

Git Bash

双击 开发板通用资料\05_开发配套工具\Git\Git-2.39.1-64-bit.exe 即可安装。

启动 Git Bash 有两种方法:

① 点击 开始->Git->Git Bash

② 在文件浏览器进入某个目录后,在空白处点击右键弹出菜单后选择 Git Bash Here

在 Git Bash 中各种命令的用法跟 Linux 完全一样,比如也有cdlsrm 等命令。在 Git Bash 中,对路径的表示方法也跟 Linux 一样,比如 D 盘下的 abc 子目录使用 /d/abc 表示,而不是 D:\abc

在 Git Bash 中使用命令简单示范如下:

在这里插入图片描述

make

双击 开发板通用资料\05_开发配套工具\make\make-3.81.exe 即可安装。安装时,要记住安装的路径,需要把安装路径下的 bin 目录放入环境变量 Path 里。

在这里插入图片描述

如下图把 C:\Program Files (x86)\GnuWin32\bin 添加进环境变量 Path :

在这里插入图片描述
在这里插入图片描述

验证:启动 Git Bash 后执行 make -v 命令,如下图所示。

在这里插入图片描述

交叉工具链

开发板通用资料\05_开发配套工具\toolchain\Xuantie-900-gcc-elf-newlib-mingw-V2.6.1-gdbtui-20230210.tar.gz 解压即可,注意路径名不要有中文。

解压后要确认如下目录里的文件不是 0 字节:

在这里插入图片描述

使用有些解压工具比如 banzip 可能会得到 0 字节的文件,建议使用 7-Zip 解压。

解压成功后,可以看到 riscv64-unknown-elf-gcc.exe 文件,如下图所示:

在这里插入图片描述

需要把 riscv64-unknown-elf-gcc.exe 文件所在目录放入 Path 环境变量里,具体方法可以参考 《1.3.2 make》。结果如下图所示:

在这里插入图片描述

验证:启动 Git Bash 后执行 riscv64-unknown-elf-gcc -v 命令,如下图所示( Git Bash 支持命令补全功能,输入 risc 后按 TAB 键会自动补全命令)。

在这里插入图片描述

调试服务软件

先解压文件: 开发板通用资料\05_开发配套工具\CKLinkServer\T-Head-DebugServer-windows-V5.16.6-20221102-1510.zip

再双击里面的 setup.exe 即可安装。

烧写工具

开发板通用资料\05_开发配套工具\xfel 目录复制到其他非中文路径即可。

还需要把 xfel.exe 文件所在目录放入 Path 环境变量里,具体方法可以参考 《1.3.2 make》 。结果如下图所示:

在这里插入图片描述

验证:启动 Git Bash 后执行 xfel --help 命令,如下图所示。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/273017.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【MySQL | 第四篇】区分SQL语句的书写和执行顺序

文章目录 4.区分SQL语句的书写和执行顺序4.1书写顺序4.2执行顺序4.3总结4.4扩充&#xff1a;辨别having与where的异同&#xff1f;4.5聚合查询 4.区分SQL语句的书写和执行顺序 注意&#xff1a;SQL 语句的书写顺序与执行顺序不是一致的 4.1书写顺序 SELECT <字段名> …

【脚本玩漆黑的魅影】寂雨镇全自动练级

文章目录 原理全部代码 原理 老样子。 治疗路径&#xff0c;练级路径。 def zhi_liao(): # 去治疗walk(RIGHT)walk(RIGHT)press(UP, 0.4)for i in [1, 2, 3, 4]:press(A)for i in [1, 2, 3, 4]:press(B)press(DOWN, 0.4)press(LEFT) def chu_qu(): # 右逛c.press(B)press(…

分类算法(Classification algorithms)

逻辑回归(logical regression&#xff09;&#xff1a; 逻辑回归这个名字听上去好像应该是回归算法的&#xff0c;但其实这个名字只是在历史上取名有点区别&#xff0c;但实际上它是一个完全属于是分类算法的。 我们为什么要学习它呢&#xff1f;在用我们的线性回归时会遇到一…

ABA关键词选品,大卖成功打造亚马逊爆款的秘密武器

做亚马逊新手在产品方面容易出现的问题&#xff08;都说跨境7分靠选品&#xff0c;3分靠运营&#xff0c;如果品没选对&#xff0c;直接掉坑里&#xff09;&#xff1a; 比较盲目的上产品&#xff0c;没有进行详细的市场调研&#xff08;如目标市场&#xff0c;国情以及受众分析…

【黑马程序员】STL实战--演讲比赛管理系统

文章目录 演讲比赛管理系统需求说明比赛规则程序功能 创建管理类功能描述创建演讲比赛管理类 菜单功能添加菜单成员函数声明菜单成员函数实现菜单功能测试 退出功能添加退出功能声明退出成员函数实现退出功能测试 演讲比赛功能功能分析创建选手类比赛成员属性添加初始化属性创建…

spring boot 2.4.x 之前版本(对应spring-cloud-openfeign 3.0.0之前版本)feign请求异常逻辑

目录 feign SynchronousMethodHandler 第一部分 第二部分 第三部分 spring-cloud-openfeign LoadBalancerFeignClient ribbon AbstractLoadBalancerAwareClient 在之前写的文章配置基础上 https://blog.csdn.net/zlpzlpzyd/article/details/136060312 因为从 spring …

基于docker部署的Selenium Grid分布式自动化测试

01、什么是Selenium Grid Selenium Grid是Selenium套件的一部分&#xff0c;它专门用于并行运行多个测试用例在不同的浏览器、操作系统和机器上。 Selenium Grid有两个版本——老版本Grid 1和新版本Grid 2。我们只对新版本做介绍&#xff0c;因为Selenium团队已经逐渐遗弃老版…

【电路笔记】-PNP晶体管

PNP晶体管 文章目录 PNP晶体管1、概述2、PNP晶体管电路示例3、PNP晶体管识别1、概述 PNP 晶体管与我们在上一篇教程中看到的 NPN 晶体管器件完全相反。 在这种类型的 PNP 晶体管结构中,两个互连的二极管相对于之前的 NPN 晶体管是相反的。 这会产生正-负-正类型的配置,箭头…

Echarts 配置项 series 中的 data 是多维度

文章目录 需求分析 需求 如下图数据格式所示&#xff0c;现要求按照该格式进行绘制折线图 分析 在绘制折线图时&#xff0c;通常我们的 series 中的 data 数据是这样的格式 option {title: {text: Stacked Area Chart},tooltip: {trigger: axis,axisPointer: {type: cross…

车辆伤害VR安全教育培训复用性强

VR工地伤害虚拟体验是一种新兴的培训方式&#xff0c;它利用虚拟现实技术为参与者提供身临其境的体验。与传统的培训方式相比&#xff0c;VR工地伤害虚拟体验具有许多优势。 首先&#xff0c;VR工地伤害虚拟体验能够模拟真实的工作环境和事故场景&#xff0c;让参与者在安全的环…

论文阅读:Diffusion Model-Based Image Editing: A Survey

Diffusion Model-Based Image Editing: A Survey 论文链接 GitHub仓库 摘要 这篇文章是一篇基于扩散模型&#xff08;Diffusion Model&#xff09;的图片编辑&#xff08;image editing&#xff09;方法综述。作者从多个方面对当前的方法进行分类和分析&#xff0c;包括学习…

Python(38):Request的data需入参是json,用转换json.dumps(data)

Python接口自动化测试遇到问题:误传str类型给request 一&#xff1a;request接口请求数据用str传参报错&#xff0c;请求响应报错 排查原因&#xff1a;查看服务器报错是Json解析报错。 1.1、如果直接入参&#xff0c;进行request请求的数据&#xff1a; data请求值为&…

ElevenLabs用AI为Sora文生视频模型配音 ,景联文科技提供高质量真人音频数据集助力生成逼真音效

随着Open AI公司推出的Sora文生视频模型惊艳亮相互联网&#xff0c;AI语音克隆创企ElevenLabs又为Sora的演示视频生成了配音&#xff0c;所有的音效均由AI创造&#xff0c;与视频内容完美融合。 ElevenLabs的语音克隆技术能够从一分钟的音频样本中创建逼真的声音。为了实现这一…

2024蓝桥杯每日一题(双指针)

一、第一题&#xff1a;牛的学术圈 解题思路&#xff1a;双指针贪心 仔细思考可以知道&#xff0c;写一篇综述最多在原来的H指数的基础上1&#xff0c;所以基本方法可以是先求出原始的H指数&#xff0c;然后分类讨论怎么样提升H指数。 【Python程序代码】 n,l map(int,…

在win10中下载桌面版的docker并在docker中搭建运行基于linux的容器

在win10中下载桌面版的docker 1.背景 在很多时候需要linux系统部署项目&#xff0c;在win10中安装虚拟机并在虚拟机中安装linux系统比较繁琐&#xff0c;可以利用win10自带的hyper-v的虚拟机管理工具&#xff0c;打开该虚拟机管理工具&#xff0c;安装docker&#xff0c;并在…

[杂谈]QtCreator调试输出窗与chromium的调试输出窗

前言 在我接触最多的调试输出窗中&#xff0c;用得最多的就是QtCreator和chromium。发现一个有趣的现象记录一下。QtCreator在处理大量重复的输出的情况下&#xff0c;采用方式如下 QtCreator采用直接输出的方式&#xff0c;这样逻辑上很直观&#xff0c;但是当有大量的输出时…

<Linux> 初识线程

目录 前言&#xff1a; 一、什么是线程 &#xff08;一&#xff09;基本概念 &#xff08;二&#xff09;线程理解 &#xff08;三&#xff09;线程与进程的关系 &#xff08;四&#xff09;简单实用线程 &#xff08;五&#xff09;重谈虚拟地址空间 1. 页表的大小 2…

【UE5】游戏框架GamePlay

项目资源文末百度网盘自取 游戏框架 游戏 由 游戏模式(GameMode) 和 游戏状态(GameState) 所组成 加入游戏的 人类玩家 与 玩家控制器(PlayerController) 相关联 玩家控制器允许玩家在游戏中拥有 HUD&#xff0c;这样他们就能在关卡中拥有物理代表 玩家控制器还向玩家提供 …

深度学习-Softmax 回归 + 损失函数 + 图片分类数据集

Softmax 回归 损失函数 图片分类数据集 1 softmax2 损失函数1均方L1LossHuber Loss 3 图像分类数据集4 softmax回归的从零开始实现 1 softmax Softmax是一个常用于机器学习和深度学习中的激活函数。它通常用于多分类问题&#xff0c;将一个实数向量转换为概率分布。Softmax函…

docker安装和使用kafka

1. 启动zookeeper Kafka依赖zookeeper, 首先安装zookeeper -p&#xff1a;设置映射端口&#xff08;默认2181&#xff09; docker run --name zookeeper \--network app-tier \-e ALLOW_ANONYMOUS_LOGINyes \--restartalways \-d bitnami/zookeeper:latest2. 启动kafka docker…