【环境配置】基于Docker配置Chisel-Bootcamp环境

news2025/1/16 20:13:53

文章目录

    • Chisel是什么
    • Chisel-Bootcamp是什么
    • 基于Docker配置Chisel-Bootcamp
      • 官网下载Docker安装包
      • Docker换源
      • 启动Bootcamp镜像
      • 常用docker命令
    • 可能产生的问题

Chisel是什么

Chisel是Scala语言的一个库,可以由Scala语言通过import引入。
Chisel编程可以生成Verilog代码或C++仿真代码,目前国内主要由中科院计算所的包云岗老师团队做香山处理器使用,它不仅是一门语言,也代表一个硬件敏捷开发的方向。

Chisel-Bootcamp是什么

Chisel-Bootcamp是Github上的一个Chisel教程,包含了基于Jupytor的Chisel教学,这篇文章讲一下基于Docker来配置Bootcamp环境,
主要参考资料是Bootcamp在github上的安装教程

基于Docker配置Chisel-Bootcamp

官网下载Docker安装包

首先需要下载Docker-Desktop程序,然后打开这个exe程序安装好,我的感受是Docker安装还是比较友好的。
点进链接,根据操作系统版本下载
我这里安装的是Windows版本的Chisel,安装好后打开Docker-Desktop

Docker换源

我参考的这篇文章的方法1

启动Bootcamp镜像

使用命令安装Chisel-Bootcamp镜像

docker run -it --rm -p 8888:8888 ucbbar/chisel-bootcamp

对该命令的解释:

-i 以交互模式运行容器,通常与 -t 同时使用;
-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
–rm:容器退出时就能够自动清理容器内部的文件系统。 举例:docker run --rm ba-208
-p:指定端口映射,格式为:主机(宿主)端口:容器端口

最后出现这样的界面就对了:
在这里插入图片描述
把红框框的部分从浏览器打开就可以用jupytor开始学习Chisel了,这里的jupytor的内核是scala编译器,因为chisel本质是scala语言的一个库。

常用docker命令

docker ps // 查看所有正在运行容器
 docker stop containerId // containerId 是容器的ID

 docker ps -a // 查看所有容器
 docker ps -a -q // 查看所有容器ID

 docker start $(docker ps -a -q) // start启动所有停止的容器
 docker stop $(docker ps -a -q) // stop停止所有容器
 docker rm $(docker ps -a -q) // remove删除所有容器

例如要停止刚刚的bootcamp镜像就先docker ps查看所有运行容器,找到它的容器id,然后使用docker stop 容器id就可以了
下次要启动时还是使用

docker run -it --rm -p 8888:8888 ucbbar/chisel-bootcamp

会自动启动本地的bootcamp镜像,而不是从网上下载。

可能产生的问题

输入

docker run -it --rm -p 8888:8888 ucbbar/chisel-bootcamp

后报错

error during connect: This error may indicate that the docker daemon is not running

出现这个问题首先你要保证cmd运行的时候Docker Desktop是打开的,我打开后重新执行就解决了。
如果还不行的话参考这篇

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

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

相关文章

C高级day3(shell指令)

一、Xmind整理: 二、上课笔记整理: 1.定义一个变量,把第11个外部参数的值,赋值给该变量并输出,再输出外部参数的个数 var3${11} echo $var3 echo $# 2.定义一个变量num,使用num获取root用户,…

腾讯事务处理技术验证系统3TS-Coo模板安装文档说明文档(小白向,简单轻松就能上手)

本篇文章将详细说明3TS-Coo模板的安装和使用,帮助您快速上手项目 第一部分是简单的基础Docker相关概念,精炼的几句小白话快速理解即可; 第二部分是快速安装项目环境的安装文档,简单几行命令搞定,小白也能轻松上手&…

12. Xaml Calendar控价 时间控件-->像挂历

1.运行图片 2.运行源码 a.xaml 源码 <Grid Name="Grid1"><!--DisplayMode="Month" 按照什么模式显示DisplayDateStart="2023-2-10" 显示时间的起始时间DisplayDateEnd="2023-8-30" 显示时间的结束时间IsTodayH

MyBatis-Plus-入门操作(1)

MyBatis-Plus-入门操作 2.1常见注解 约定大于配置 mp扫描实体类基于反射的方式作为数据库表的信息。 默认的约定 类名驼峰转下划线名字为id的是主键属性名进行驼峰转换成下划线 要是不遵循约定的话就需要对应的注解进行修改。 表的名字和 实际的表的名字是不一致的 Table…

Scrum看板工具-敏捷看板?

​ 敏捷看板 看板是一个团队共享的工作区&#xff0c;在看板上团队可以进行实时的工作任务协同&#xff0c;团队的工作以卡片的形式体现。通过泳道和任务列表组织管理。需求、任务、问题、缺陷 都作为卡片放在看板上&#xff0c;通过看板实现可视化和透明化的 管理&#xff0…

PHP8中获取并删除数组中第一个元素-PHP8知识详解

我在上一节关于数组的教程&#xff0c;讲的是在php8中获取并删除数组中最后一个元素&#xff0c;今天分享的是相反的&#xff1a;PHP8中获取并删除数组中第一个元素。 回顾一下昨天的知识&#xff0c;array_pop()函数将返回数组的最后一个元素&#xff0c;今天学习的是使用arr…

数据结构 每日一练:选择 + 编程

目录 选择 选择题总结 特殊矩阵的压缩存储 1.对阵矩阵 2.三角矩阵 3.三对角矩阵&#xff08;带状矩阵&#xff09; 编程 选择 1. 设有一个 10 阶的下三角矩阵 A &#xff08;包括对角线&#xff09;&#xff0c;按照行优先的顺序存储到连续的 55 个存储单元中&#xff0c…

vue学习之v-if/v-else/v-else-if

v-else/v-else-if 创建 demo7.html,内容如下 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Docum…

图解 LeetCode 算法汇总——回溯

本文首发公众号&#xff1a;小码A梦 回溯算法是一种常见的算法&#xff0c;常见用于解决排列组合、排列问题、搜索问题等算法&#xff0c;在一个搜索空间中寻找所有的可能的解。通过向分支不断尝试获取所有的解&#xff0c;然后找到合适的解&#xff0c;找完一个分支后再往回搜…

fastadmin的入门

fastadmin入门到完成项目 配置环境 1 运行环境 PHP > 7.2 且 < 7.4 (推荐PHP7.4版本) MySQL > 5.6 且 < 8.0 (需支持innodb引擎) Apache 或 Nginx 使用PHPstudy 运行该项目 写好apache伪静态规则 <IfModule mod_rewrite.c> Options FollowSymlinks -Multi…

什么是自动化测试po模式,po分层如何实现?

目录 一、什么是PO模式 二、什么是自动化测试框架 三、非PO模式和PO模式优缺点对比 四、如何从0到1搭建PO模型 五、自动化测试框架和PO的关系 六、总结 一、什么是PO模式 全称&#xff1a;page object model 简称&#xff1a;POM/PO PO模式最核心的思想是分层&#xf…

[BJDCTF2020]ZJCTF,不过如此 preg_replace /e模式漏洞

目录 preg_replace的/e模式 为什么要变为 {${phpinfo()}} 另一个方法 版本 <?phperror_reporting(0); $text $_GET["text"]; $file $_GET["file"]; if(isset($text)&&(file_get_contents($text,r)"I have a dream")){echo &qu…

蓝桥杯备赛Day8——队列

大家好,我是牛哥带你学代码,本专栏详细介绍了蓝桥杯备赛的指南,特别适合迎战python组的小白选手。专栏以天作为单位,定期更新,将会一直更新,直到所有数据结构相关知识及高阶用法全部囊括,欢迎大家订阅本专栏! 队列也属于基础数据结构。 队列概念 队列是一种数据结构,…

谷粒学院笔记

p37 vscode安装插件 p51 前端技术 vue生命周期 前端debug p57 nodejs介绍 下载后安装 cmd node -v node 01.js 类似java运行class文件 nodejs作为服务器(了解)

树的引进以及二叉树的基础讲解——【数据结构】

W...Y的主页 &#x1f60a; 代码仓库分享 &#x1f495; 当我们学习完前面的数据结构&#xff0c;难度也就会上升&#xff0c;但是这个也是非常重要的数据结构。今天我们来学习一种新的数据类型——树。 目录 树的概念以及结构 树的概念 树的相关概念 树的表示 树在实…

【项目管理】PM vs PMO 18点区别

导读&#xff1a;项目经理跟PMO主要有哪些区别&#xff1f;首先从定义上了解&#xff0c;然后根据其他维度进行对比分析&#xff0c;基本可以了解这二者的区别&#xff0c;文中罗列18点区别供各位参考。 目录 1、定义 1.1 PMO 1.2 PM 2、两者区别 2.1 ROI 2.2 项目成功率…

Apache HTTPD (CVE-2017-15715)换行解析漏洞复现

Apache HTTPD 换行解析漏洞 CVE-2017-15715漏洞简介 组件版本漏洞名称 Apache HTTPD 换行解析漏洞&#xff08;CVE-2017-15715&#xff09; 漏洞描述 ​ Apache HTTPD是一款HTTP服务器&#xff0c;它可以通过mod_php来运行PHP网页。其2.4.0~2.4.29版本中存在一个解析漏洞&…

微信小程序本地生活(列表页面)

一、实现效果 二、实现步骤 主要实现功能&#xff1a; 页面导航并传参上拉触底时加载下一页数据下拉刷新列表数据 实现步骤 创建列表页面动态设置页面标题定义数据&#xff0c;发起请求获取数据渲染数据并美化样式实现上拉加载数据效果对上拉触底进行节流处理上拉触底请求数…

SSMP整合综合案例【SpringBoot的基本增删改查】

一、基本页面 主页面 添加 删除 分页 条件查询 实体类开发————使用Lombok快速制作实体类 Dao开发————整合MyBatisPlus&#xff0c;制作数据层测试 Service开发————基于MyBatisPlus进行增量开发&#xff0c;制作业务层测试类 Controller开发————基于Restful…

【计算机网络】什么是WebSocket?

目录 WebSocket简介协议优点使用场景 WebSocket WebSocket是一种网络传输协议,可在单个TCP连接上进行全双工通信&#xff0c;位于OSI模型的应用层。 WebSocket使得客户端和服务器之间的数据交换变得更加简单&#xff0c;允许服务器主动向客户端推送数据。在WebSocket API中&a…