1 Star 0 Fork 195

davidlamb / riscv-operating-system-mooc

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
BSD-2-Clause

循序渐进,学习开发一个 RISC-V 上的操作系统

简介

本课程用于教学演示如何从零开始为 RISC-V 平台编写一个简单的操作系统内核。采用 BSD 2-Clause 许可证发布(具体请阅读本仓库根目录下的 LICENSE 文件)。

运行环境

所有演示代码在以下设备环境下验证通过:

$ lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 20.04.2 LTS
Release:	20.04
Codename:	focal
$ uname -r
5.8.0-45-generic

有可能需要手动安装的依赖库,如果运行过程中提示缺少其他的库和依赖,请按照提示自行安装。

$ sudo apt update 
$ sudo apt install build-essential git gitk vim libfdt-dev libsdl2-dev

实验需要一些运行工具,已经提供预先编译好的二进制文件,具体安装步骤描述如下:

首先,创建一个工作目录,然后进入该目录。

$ mkdir $HOME/ws
$ cd $HOME/ws

下载开发工具软件包 tools.tar.gz,下载地址为:https://share.weiyun.com/nyTqAGKh

下载完毕后将该文件拷贝到 $HOME/ws 下并解压。

$ tar xzf tools.tar.gz

将以下路径加入 $HOME/.bashrc

export PATH="$PATH:$HOME/ws/tools/gcc/bin:$HOME/ws/tools/qemu/bin"

重新导入 $HOME/.bashrc 或者重启系统使配置生效即可。

构建和使用说明

  • make:编译构建
  • make run:启动 qemu 并运行
  • make debug:启动调试
  • make code:反汇编查看二进制代码
  • make clean:清理

具体使用请参考具体子项目下的 Makefile 文件。

参考文献

本课程的设计参考了如下网络资源,在此表示感谢 :)

BSD 2-Clause License Copyright (c) 2021, plctlab All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

简介

暂无描述 展开 收起
BSD-2-Clause
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
1
https://gitee.com/davidlamb/riscv-operating-system-mooc.git
git@gitee.com:davidlamb/riscv-operating-system-mooc.git
davidlamb
riscv-operating-system-mooc
riscv-operating-system-mooc
main

搜索帮助