RDC 2022纪念版开发板-D1S在RT-Smart运行

news2025/1/18 16:57:47

开发环境

软件

  • ubuntu20.04
  • VMware Workstation

硬件

  • RDC2022纪念版开发板
  • 全志D1s芯片

材料下载

首先打开虚拟机,创建一个目录存放本次测试的代码,然后克隆RT-Smart用户态代码。

git clone https://github.com/RT-Thread/userapps.git

image-20230119110742488

userapps目录下克隆RT-Thread仓库代码

git clone https://github.com/RT-Thread/rt-thread.git

image-20230119110934253

Riscv工具链配置

进入userapps/tools,运行 get_toolchain.py 的脚本,会下载对应的工具链并展开到 userapps\tools\gun_gcc 目录。

python3 get_toolchain.py riscv64

image-20230119111856993

返回上一级,刷新工具链环境,同时记住这里的EXEC_PATH工具链路径,后面需要修改为此路径

cd ..
source smart-env.sh riscv64

image-20230119111552268

内核环境编译

scons安装

环境编译会用到scons,所以我们先下载scons

sudo apt install scons

查看scons版本信息可判断是否安装成功

image-20230119112101897

env工具安装

依次执行以下程序:

scons --menuconfig
source ~/.env/env.sh
pkgs --update

内核编译

使用 scons 命令进行编译,编译成功后会在 userapps/rt-thread/bsp/allwinner/d1s 目录下生成 sd.bin,这个文件就是我们需要烧录到开发板中的文件,它包括了 uboot.dtb,opensbi,rtthread.bin

scons

此时直接编译会报错,因为工具链路径还没有修改

image-20230119112916923

我们复制上面的工具链路径,vi命令修改rtconfig.py,这里的路径依据你自己的工具链路径

image-20230119113207832

再次执行scons命令编译

image-20230119113353060

程序烧录

我这里采用的是从TF卡作为启动方式。

1、首先准备一张容量在128G的空白TF卡

2、格式化TF卡,并使用ubuntu的gparted工具重新分区

如果没有下载该工具可使用下面的命令进行下载:

sudo apt install gparted

启动该工具

sudo gparted

这里我使用的是一张64G的TF卡,扇区大小为512字节,同时我们需要预留8M的前空间,并且分区的文件系统格式为fat32

image-20230119114019113

3、接下来进行程序的烧录

首先进入userapps/rt-thread/bsp/allwinner/d1s/tools,执行命令:

sudo dd if=boot0_sdcard_sun20iw1p1_d1s.bin of=/dev/sdb bs=1024 seek=8

image-20230119114457823

返回上一级,再次执行命令:

sudo dd if=sd.bin of=/dev/sdb bs=1024 seek=56

image-20230119114605503

到此烧录工作已完成。

启动RT-Smart

我们将刚刚烧录好程序的TF卡直接插入到开发板卡槽,并连接开发板UART端口进行串口查看验证。

此处注意串口波特率为500000

image-20230119115334091

简单测试下MSH命令:

image-20230119115950076

到此就测试结束啦,欢迎大家讨论交流。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SMB2协议特性之oplock与lease(下

前期回顾上篇文章我们介绍了oplock/lease的相关概念及其基本工作原理,由于间隔时间较长,忘记的读者可以先去回顾一下。本篇文章带大家了解一下,在实际场景中,oplock/lease是如何工作的。实际场景分析在一些警匪影视剧中&#xff0…

PCI驱动程序框架

PCI驱动程序框架 文章目录PCI驱动程序框架参考资料:一、 PCI驱动框架二、 RK3399驱动致谢参考资料: 《PCI Express Technology 3.0》,Mike Jackson, Ravi Budruk; MindShare, Inc.《PCIe扫盲系列博文》,作者Felix,这是…

【NS2】打印c++函数名字/bash将echo赋值给变量

需求:将tcl在c调用的路由算法名字(函数名)输出,并作为变量赋值给文件名字,但就怎么将函数名字打印出来就思考了很久,并尝试了其他网站“在shell脚本使用tcl变量、如何在bash脚本打印tcl变量、NS2&#xff0…

【实际开发12】- 经验 experience

目录 1. 经验 experience 1. 无多大价值 , 停留数据展示层面 2. 保证数据一致性问题 3. 新增时 , 可先关注核心基础数据 ( 复杂数据以修改形式完善 ) 4. 新增 / 修改 ( 幂等性处理 ) 5. 增 / 删 / 改 添加日志 , 查询无需日志 6. 需要对接多模块的通用字段设计 : String…

什么是CRM系统 企业如何选择合适的CRM系统

在如今市场竞争激烈情况下,企业更加注重客户的数据和管理,因此逐渐形成了“以客户为核心”的理念。而借助CRM系统管理客户数据已然成为一种趋势。 选择一款适合企业的CRM系统可以帮助企业实现更多的价值。但一些企业在初期根本不了解什么是CRM系统&…

Hadoop安装(一) --- JDK安装

目录 1.安装虚拟机 2.关防火墙 3.修改网络配置文件 4.重启网络服务 5.连接shell 6.安装vim工具 7.免密登陆 8. 开启远程免密登录配置 9.远程登录 10.同步时间 10.1.安装ntpdate 10.2.定时更新时间 10.3.启动定时任务 10.4.查看状态 11.修改计算机名 12.配置ho…

数据仓库的架构以及传统数据库与数据仓库的区别

一、数据仓库的分层架构 数据仓库的数据来源于不同的源数据,并提供多样的数据应用,数据自下而上流入数据仓库后向上层开放应用,而数据仓库只是中间集成化数据管理的一个平台。 1,源数据层(ODS) 操作性数…

袁树雄和杨语莲究竟什么关系 ,《早安隆回》走红后又是《汉川》

自从《早安隆回》火爆全网后,歌迷们就有一种担心,不知道这首好听的歌曲,究竟还能再够火爆多久。歌迷们的担心也不无道理,毕竟花无百日红,人无千般好,《早安隆回》就是再好听,也不可能红一辈子吧…

windows搭建go语言开发环境

1.下载Go语言开发包可以在Go语言官网 ( https://golang.google.cn/dl/ )下载Windows 系统下的Go语言开发包,如下图所示。这里我下载的是 64位的开发包,如果读者的电脑是 32 位系统的话,则需要下载 32 位的开发包,在上图所示页面中…

Fiddler手机抓包

手机抓包软件Fiddler 下载地址以及下载流程 Fiddler 下载地址:https://www.telerik.com/download/fiddler 下载后直接一键安装即可 重要的注意项卸载最前面 pc和手机需要在同一个局域网,也就是同一个wifi 配置 Fiddler界面的简单介绍 pc端Fildde…

Windows Server 2022 Install Veeam ONE 12

借助有关 Veeam Backup & Replication™ 和 Veeam Agents 及 VMware vSphere、Microsoft Hyper-V 和 Nutanix AHV 的洞察,Veeam ONE™ 可通过交互式工具和智能学习提供深度智能监控、报告和自动化功能,帮助客户发现问题并前瞻性地解决问题。 Veeam O…

CUDA编程之CUDA流

文章目录前言CUDA流在默认流中重叠主机与设备用非默认CUDA流重叠多个核函数的执行重叠多个核函数的例子用非默认CUDA流重叠核函数的执行与数据传递不可分页主机内存与异步的数据传输函数总结参考前言 CUDA程序的并行层次主要有两个,一个是核函数内部的并行&#xff…

C++面向对象——C++ 重载运算符和重载函数

C面向对象——C 重载运算符和重载函数C 重载运算符和重载函数C 中的函数重载C 中的运算符重载运算符重载实例C 一元运算符重载C 二元运算符重载C 关系运算符重载C 和 -- 运算符重载C 赋值运算符重载C 函数调用运算符 () 重载C 下标运算符 [] 重载C 类成员访问运算符 -> 重载…

三、进程通信

一、基础知识数据传输一个进程将他的数据发送给另一个进程资源共享多个进程间共享同样的资源通知时间一个进程向另一个进程发送消息,通知他们发生了某种事情通信方式:管道和有名管道信号signal消息队列共享内存信号量套接字二、管道:无名管道…

c++11 标准模板(STL)(std::multiset)(六)

定义于头文件 <set> template< class Key, class Compare std::less<Key>, class Allocator std::allocator<Key> > class multiset;(1)namespace pmr { template <class Key, class Compare std::less<Key>> usi…

基于python Django 餐馆点菜管理系统

问题描述&#xff1a; 随着网络的迅速发展&#xff0c;越来越多的人开始接受甚至时依赖了网络营业的这种交易形式&#xff0c;传统的点菜模式不仅浪费时间&#xff0c;效率低下&#xff0c;而且特别耗费成本与人力&#xff0c;因此不少商家开始使用网上点菜系统。网上点菜系统是…

皮尔森相关系数(Pearson correlation coefficient)

最近在看脑机接口的网络&#xff0c;看到有使用通道的皮尔森相关系数作为特征的方法&#xff0c;这里记录一下皮尔森相关系数的学习内容&#xff0c;方便以后查阅。 皮尔森相关系数(Pearson correlation coefficient&#xff09;相关系数简单相关系数复相关系数典型相关系数参考…

【MySQL】MySQL中的数学函数有哪些?

数学函数MySQL函数简介数学函数1.绝对值函数ABS&#xff08;x&#xff09;和返回圆周率的函数PI&#xff08;&#xff09;2.平方根函数SQRT&#xff08;x&#xff09;和求余函数MOD&#xff08;x&#xff0c;y&#xff09;3.获取整数的函数CEIL&#xff08;x&#xff09;、CEIL…

关于Json Web Token(token)在前后端的实践思考

1、前言 啥也不说了&#xff0c;直接进入正题&#xff0c;来学习一下Token在前端和后端的简单应用分析 Token是在客户端频繁向服务端请求数据&#xff0c;服务端频繁的去数据库查询用户名和密码进行对比&#xff0c;判断用户名和密码是否正确&#xff0c;并作出相应提示&…

华为机试题:HJ37 统计每个月兔子的总数(python)

文章目录博主精品专栏导航知识点详解1、input()&#xff1a;获取控制台&#xff08;任意形式&#xff09;的输入。输出均为字符串类型。1.1、input()与list(input())的区别、及其相互转换方法2、print() &#xff1a;打印输出。3、整型int() &#xff1a;将字符串或数字转换为整…