主机环境: ubuntu-20.04.3-desktop-amd64.iso
安装包 : sudo apt-get install net-tools openssh-server git vim make gcc gawk  bison flex  texinfo automake  libtool-bin cvs libncurses5-dev ninja-build libglib2.0-dev libpixman-1-dev help2man编译器 :sifive 提供的 riscv64-unknown-elf-gcc-8.3.0-2020.04.1-x86_64-linux-ubuntu14.tar.gz或riscv64-unknown-elf-toolchain-10.2.0-2020.12.8-x86_64-linux-ubuntu14.tar.gz
仿真器 :qemu-6.1.0 自己编译 出 qemu-system-riscv32
rt-thread代码:https://gitee.com/bigmagic/riscv32_rtt/

1. 编译器准备

在 https://github.com/sifive/freedom-tools/releases 下载
riscv64-unknown-elf-toolchain-10.2.0-2020.12.8-x86_64-linux-ubuntu14.tar.gz 或
riscv64-unknown-elf-gcc-8.3.0-2020.04.1-x86_64-linux-ubuntu14.tar.gz

2. 仿真器准备

// 配置
qemu-6.1.0$./configure --target-list=riscv32-softmmu,riscv64-softmmu --prefix=/home/pop/work/qemu/qemu-out   2>&1 | tee log_configure.txt
// 编译
make 2>&1 | tee log_build.txt
// 安装
make install 2>&1 | tee log_install.txt
// 测试pop@ubuntu:~$ qemu-system-riscv32 -machine help
Supported machines are:
none                 empty machine
opentitan            RISC-V Board compatible with OpenTitan
sifive_e             RISC-V Board compatible with SiFive E SDK
sifive_u             RISC-V Board compatible with SiFive U SDK
spike                RISC-V Spike board (default)
virt                 RISC-V VirtIO board
pop@ubuntu:~$ qemu-system-riscv64 -machine help
Supported machines are:
microchip-icicle-kit Microchip PolarFire SoC Icicle Kit
none                 empty machine
shakti_c             RISC-V Board compatible with Shakti SDK
sifive_e             RISC-V Board compatible with SiFive E SDK
sifive_u             RISC-V Board compatible with SiFive U SDK
spike                RISC-V Spike board (default)
virt                 RISC-V VirtIO board

3.代码准备并编译

git clone https://gitee.com/bigmagic/riscv32_rtt.git // 当前 commit id 为 ff43c3e025355f1807cf75ff6e4512e493ec4acf
cd riscv32_rtt/bsp/riscv32-virt
// change riscv32_rtt/bsp/riscv32-virt/rtconfig.py
// EXEC_PATH   = r'/home/pop/work/freertos-riscv/riscv64-unknown-elf-gcc-8.3.0-2020.04.1-x86_64-linux-ubuntu14/bin'
scons --target=makefile
make
编译成功,会生成 riscv32_rtt/bsp/riscv32-virt/rtthread.elf

4. 仿真器加载 rtthread镜像

qemu-system-riscv32 -M virt -kernel rtthread.elf -nographic
打印如下OpenSBI v0.9____                    _____ ____ _____/ __ \                  / ____|  _ \_   _|| |  | |_ __   ___ _ __ | (___ | |_) || || |  | | '_ \ / _ \ '_ \ \___ \|  _ < | || |__| | |_) |  __/ | | |____) | |_) || |_\____/| .__/ \___|_| |_|_____/|____/_____|| ||_|Platform Name             : riscv-virtio,qemu
Platform Features         : timer,mfdeleg
Platform HART Count       : 1
Firmware Base             : 0x80000000
Firmware Size             : 100 KB
Runtime SBI Version       : 0.2Domain0 Name              : root
Domain0 Boot HART         : 0
Domain0 HARTs             : 0*
Domain0 Region00          : 0x80000000-0x8001ffff ()
Domain0 Region01          : 0x00000000-0xffffffff (R,W,X)
Domain0 Next Address      : 0x80200000
Domain0 Next Arg1         : 0x87000000
Domain0 Next Mode         : S-mode
Domain0 SysReset          : yesBoot HART ID              : 0
Boot HART Domain          : root
Boot HART ISA             : rv32imafdcsu
Boot HART Features        : scounteren,mcounteren,time
Boot HART PMP Count       : 16
Boot HART PMP Granularity : 4
Boot HART PMP Address Bits: 32
Boot HART MHPM Count      : 0
Boot HART MHPM Count      : 0
Boot HART MIDELEG         : 0x00000222
Boot HART MEDELEG         : 0x0000b109
heap: [0x80e00000 - 0x81600000]\ | /
- RT -     Thread Operating System/ | \     4.0.3 build Sep  2 20212006 - 2020 Copyright by rt-thread team
sss1 isxx 80000005
sss1 isxx 00000002

基于 qemu 的 riscv32架构的 非官方rt-thread 体验 教程相关推荐

  1. 学内核之二:基于QEMU搭建Linux内核运行调试环境

    目录 一 接续上文 二 编译根文件系统 三 构建完善根文件系统 四 内核中指定根文件系统 五 带根文件系统启动内核 一 接续上文 在上一篇文章中,我们展示了通过QEMU仿真软件来运行Linux内核的过 ...

  2. 一个简单实用的,基于EF的三层架构

    到底什么样的框架才是好框架呢?或许不同人有不同的看法.我个人觉一个好的框架,最重要的要是简单实用,能快速适开发,可维护性高(不会出现复制黏贴的代码),并能快速响应各种业务场景的变化的框架,同时性能不会 ...

  3. 基于互联网云脑架构分析百度的现状与未来

    前言:这是未来智能实验室基于互联网云脑架构,对世界科技企业的未来发展趋势进行分析的文章.因为百度排在BAT的首位,因此这个系列研究文章就从百度开始进行研究. 作者:刘锋  计算机博士,互联网进化论作者 ...

  4. 《Kinect应用开发实战:用最自然的方式与机器对话》一3.2 基于“管道”的系统架构...

    3.2 基于"管道"的系统架构 Kinect for Xbox 360是一个基于"管道"的体系架构,如图3-3所示. Kinect传感器设备提供三大类的原始数据 ...

  5. 基于面向服务体系架构(SOA)和面向资源体系架构(ROA)的业务组件模型

    引言 在<面向服务体系架构(SOA)和业务组件(BC)的思考>(以下简称< SOA 和 BC >)一文中介绍了基于面向服务体系架构(SOA)的组件模型,本文按照"分离 ...

  6. 新思路保障网络安全 基于平台的网络安全架构体系

    新思路保障网络安全 基于平台的网络安全架构体系 新思路保障网络安全 基于平台的网络安全架构体系 如果说我们从技术点出发来建设运维管理平台系统.从业务应用的角度出发来设计应用管理策略,从整个IT管理出发 ...

  7. 基于SOA的银行系统架构

    Part-1  [简述] 1.通过引入面向服务架构(SOA),企业服务总线(ESB),适配器(Adapter)及面向构件等技术,尝试打造一个统一业务流程服务平台,实现面向流程的服务集成. 2.传统银行 ...

  8. 基于docker微服务架构_使用基于微服务的流架构更好地进行大规模的复杂事件处理(第1部分)...

    基于docker微服务架构 基于微服务的流架构与开源规则引擎相结合,使实时业务规则变得容易 这篇文章旨在详细介绍我将OSS业务规则引擎与Kafka风格的现代流消息传递系统集成在一起的项目. 该项目的目 ...

  9. 工行高级经理林承军:工行基于 MySQL 构建分布式架构的转型之路

    中生代技术 链接技术大咖,分享技术干货 全文:7200字 本文作者:林承军,中国工商银行软件开发中心高级经理,有用多年开放平台相关技术研究及实施经验,多次参与工行重点项目的原型技术研究.IT 架构转型 ...

最新文章

  1. hi3516中home中的ko
  2. LazyProphet:使用 LightGBM 进行时间序列预测
  3. tf.nn.conv2d 与tf.layers.conv2d的区别
  4. 使用parted命令对硬盘进行操作
  5. mshflexgrid固定行对齐_放开那个空格键让我来,word对齐文字的四个方法
  6. Postgresql的HashJoin状态机流程图整理
  7. 【Hankson 的趣味题】
  8. Linux的vi命令
  9. Focal Loss for Dense Object Detection(RetinaNet)(代码解析)
  10. esxi linux 网络不可达,将ESXI所有的端口组迁移到分布式交换机的步骤
  11. 微信小程序发送验证码短信SDK及文档
  12. linux系统鼠标主题下载,Ubuntu Linux鼠标主题:AlkanoMB
  13. 程序大师的方天画戟 - vicc
  14. AT24Cxx读写全面理解
  15. 吉度盘点机PDA盘点生成的条码和数量导入库存Excel表
  16. 在vCenter中通过修改主机配置文件来更改ESXi主机的root密码
  17. Macbook Air如何将m4a格式转化为mp3格式?
  18. 除了 xshell,还有什么类似的好用的软件
  19. 7-19 支票面额 (15 分) 一个采购员去银行兑换一张y元f分的支票,结果出纳员错给了f元y分。采购员用去了n分之后才发觉有错,于是清点了余额尚有2y元2f分,问该支票面额是多少?
  20. jquery控制table的行显示和隐藏

热门文章

  1. PAT 乙级 1069 微博转发抽奖
  2. LeNet图像分类网络一(Pytorch)
  3. 生鲜水果微信小程序推广教程归纳
  4. 修改文件注册数据库连接配置,可不在Net Manager里配置
  5. Ajax技术详解(一)
  6. 用python群发邮件_使用Python实现电子邮件群发功能
  7. Springboot 读取模板excel信息内容并发送邮件, 并不是你想想中的那么简单
  8. Python爬取六国家(地区)最流行的股票并保存到excel的不同的工作表中
  9. 如何花最少的钱进行论文查重
  10. 点击按钮然后获取boostrap table的selectItem