全志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 命令,如下图所示。

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

六、矩阵问题

73、矩阵置零(中等) 题目描述 给定一个 m x n 的矩阵,如果一个元素为 0 ,则将其所在行和列的所有元素都设为 0 。请使用 原地 算法。 示例 1: 输入:matrix [[1,1,1],[1,0,1],[1,1,1]] 输出&#xff1a…

探索AI视频创新:Sora的奇迹

探索AI视频创新:Sora的奇迹 随着科技的不断演进,AI视频模型已经成为人工智能领域的一颗新星。在这场技术的风暴中,OpenAI的Sora模型以其杰出的性能和前瞻性的技术脱颖而出,正引领着AI视频领域的全新创新浪潮。 Sora的技术之光 …

Net8集成AutoMap

一、概述 使用Net8 搭建WebApi,需要集成AutoMap,方便开发。 二、实现 2.1 安装 AutoMapper 2.2 创建AutoProfile配置类继承Profile namespace AnNeng.Cad.WebApi.Config {using AnNeng.Service.Application.CadAndOss.Dto;using AnNeng.Service.Appl…

BUUCTF---[极客大挑战 2019]BabySQL1

1.这道题和之前做的几道题是相似的,这道题考的知识点更多。难度也比之前的大一些 2.尝试万能密码 or 1#发现过滤了or,使用1和1,发现他对单引号也进行了过滤。于是我尝试进行双写绕过,发现可以通过了。 3.由之前的做题经验可知,这道题会涉及到…

电动车着火事故,敲响梯控安全警钟

文章来源:电动车着火事故,敲响梯控安全警钟_专栏_易百纳技术社区 方案背景: 近年来,电动车起火事故屡有发生。如南京雨花台“223”火灾事故,造成了重大的人员伤亡。还有北京在 2023 年 12 月 28 日发生了一起村民自建…

工业以太网交换机助力电力综合自动化系统卓越运行

随着电力行业不断迈向数字化和自动化时代,电力综合自动化系统逐渐成为实现电网智能化管理的核心。在这一复杂而庞大的系统中,工业以太网交换机扮演着至关重要的角色,连接着各种智能设备,实现数据的快速传输和高效管理,…

共用体union

一、共用体的特性 共用体又叫做联合体,共用体的特性如下: 1.共用体的所有成员共用一段内存空间,且所有成员的起始位置是一致的 2.共用体的值由最后赋值的成员决定 3.共用体的内存大小 共用体的内存必须大于或等于其他成员变量中最大数据类型…

NineData与OceanBase完成产品兼容认证,共筑企业级数据库新生态

近日,云原生智能数据管理平台 NineData 和北京奥星贝斯科技有限公司的 OceanBase 数据库完成产品兼容互认证。经过严格的联合测试,双方软件完全相互兼容、功能完善、整体运行稳定且性能表现优异。 此次 NineData 与 OceanBase 完成产品兼容认证&#xf…

泰迪·上海杉达学院大数据与智能技术工作室挂牌签约仪式圆满结束

2024年3月5日,上海杉达学院邀请广东泰迪智能科技股份有限公司上海分公司总经理彭艳昆一行出席“泰迪上海杉达学院大数据与智能技术工作室”签约挂牌仪式。上海杉达学院副校长兼信息科学与技术学院院长陈瑛、信息科学与技术学院副院长于晓东、信息科学与技术学院党总…

Diffusion Models for Implicit Image Segmentation Ensembles

隐式图像分割集成的扩散模型 摘要 扩散模型在图像生成建模方面表现出令人印象深刻的性能。本文提出了一种新的基于扩散模型的语义分割方法。通过改进训练和采样方案,我们证明了扩散模型可以对医学图像进行病灶分割。为了生成特定于图像的分割,我们在地…

SpringCloud(20)之Skywalking Agent原理剖析

一、Agent原理剖析 使用Skywalking的时候,并没有修改程序中任何一行 Java 代码,这里便使用到了 Java Agent 技术,我 们接下来展开对Java Agent 技术的学习。 1.1 Java Agent Java Agent 是从 JDK1.5 开始引入的,算是一个比较老的…

直播预告|小白开箱: 云数据库在五朵云上的评测

3 月 7 日,周四晚上 19:00-20:30 由明说三人行组织,邀请了 NineData 国际总经理(GM) Ni Demai、云猿生数据 CTO & 联合创始人子嘉,和《明说三人行》创始人 &主持人明叔,共同围绕《小白开箱: 云数据库在五朵云上的评…

红帆ioffice-udfGetDocStep.asmx存在SQL注入漏洞

产品简介 红帆iOffice.net从最早满足医院行政办公需求(传统OA),到目前融合了卫生主管部门的管理规范和众多行业特色应用,是目前唯一定位于解决医院综合业务管理的软件,是最符合医院行业特点的医院综合业务管理平台&am…

Qt插件之输入法插件的构建和使用(一)

文章目录 输入法概述输入法插件实现及调用输入键盘搭建定义样式自定义按钮实现自定义可拖动标签数字符号键盘候选显示控件滑动控件手绘输入控件输入法概述 常见的输入法有三种形式: 1.系统级输入法 2.普通程序输入法 3.程序自带的输入法 系统级输入法就是咱们通常意义上的输入…

SpringBoot3整合Mybatis-plus报错IllegalArgumentException

错误信息 使用的SpringBoot3版本&#xff1a;3.2.3 java.lang.IllegalArgumentException: Invalid value type for attribute factoryBeanObjectType: java.lang.String 第一想法就是感觉是版本太低导致和SpringBoot3不兼容。 查询mybatis-plus最高的版本 <!-- https://m…

“安康杯”安全知识竞赛活动方案

“安康杯”知识竞赛&#xff0c;顾名思义也就是把竞争机制、奖励机制、激励机制应用于安全生产活动中的群众性“安全”与“健康”竞赛。本次竞赛包括 4 个竞赛环节&#xff0c;分别是胜券在握&#xff08;必答题&#xff09;、 刻不容缓&#xff08;抢答题&#xff09;、披荆斩…

volatile关键字的作用 以及 单例模式(饿汉模式与懒汉模式的区别及改进)

文章目录 &#x1f4a1;volatile保证内存可见性&#x1f4a1;单例模式&#x1f4a1;饿汉模式&#x1f4a1;懒汉模式&#x1f4a1;懒汉模式多线程版&#x1f4a1;volatile防止指令重排序 &#x1f4a1;volatile保证内存可见性 Volatile 修饰的变量能够保证“内存可见性”以及防…

数据库(mysql)-新手笔记(主外键,视图)

主外键 主键(唯一性,非空性) 主键是数据库表中的一个或多个字段&#xff0c;其值唯一标识表中的每一行/记录。 唯一性: 主键字段中的每个值都必须是唯一的&#xff0c;不能有两个或更多的记录具有相同的主键值 非空性&#xff1a;主键字段不能包含NULL值。 外键(引用完整 …

AXI4总线解析

一、读地址 AWVALID和AWREADY同时为高时&#xff0c;在这个上升沿&#xff0c;图中黄线&#xff0c;将接下来的数据写入地址40000000中。 在

递增三元组(第九届蓝桥杯)

文章目录 题目原题链接思路分析二分做法1二分做法2双指针做法前缀和解法 题目 原题链接 递增三元组 思路分析 由时间复杂度可知需要至少优化到 O ( n l o g n ) O(nlogn) O(nlogn)才行 而纯暴力枚举三个数组的话&#xff1a; O ( n 3 ) O(n^3) O(n3) 可以考虑将b[]作为标志&…