没有合适的资源?快使用搜索试试~ 我知道了~
首页构建与运行Hos操作系统:实验与开发环境设置
构建与运行Hos操作系统:实验与开发环境设置
需积分: 0 1 下载量 9 浏览量
更新于2024-07-01
收藏 2.24MB PDF 举报
第二部分是关于Hos操作系统的实践教程,主要针对已经掌握了NEXYS4上MIPS FPGA系统开发的读者,目标是让他们能在这一基础之上进一步理解和实践操作系统。本部分分为三个关键章节,每个章节都包含实验内容和目标。 第五章“Hos操作系统的构建与运行”旨在让读者熟悉操作系统在个人电脑上的构建流程。首先,实验目标是教授如何在Windows(如Windows 7或10)环境中设置安装环境,包括安装必要的工具,如Cygwin(一个模拟Linux环境的工具集)、交叉编译器(mips-sde)、Putty(远程终端工具)、Vivado(FPGA设计工具)、以及OpenOCD(调试器)。Cygwin中的make、gcc和perl等工具将在构建过程中发挥关键作用。读者需要从Cygwin官网下载安装程序,并逐步配置这些工具以构建和运行Hos操作系统。 6.1实验目的同样强调实践,这次是关于Hos开发调试环境的安装。这包括确保在MacOS用户中正确选择对应的软件,以便与Windows环境中的工具协同工作。这部分的重点在于搭建一个完整的开发和调试平台,以便进行应用程序的开发和内核层面的工作。 第七章“从应用到内核”则深入探讨如何将学到的知识应用于实际项目,比如开发和调试操作系统中的应用程序,直至理解操作系统内核的工作原理。这个阶段的目标是提升读者的系统级编程和调试能力,让他们能够应对更具挑战性的任务。 第二部分通过一系列实验,帮助读者掌握操作系统在MIPS FPGA平台上的实施,不仅限于理论,还包括实际操作和问题解决技巧,为他们在IT领域深入发展打下坚实的基础。
资源详情
资源推荐
图 5.2.12 添加环境变量(Windows10)
在接下来弹出的
“
新建用户变量
”
对话框中,输入变量名为
“
Path
”
,变量值为
“
D:\Hos\tool-chains\cygwin64\bin
”
,如下图所示:
图 5.2.13 环境变量 Path
在输入完成后点击
“
确定
”
按钮,就将 Cygwin 加入了我们的开发环境,
2)下载 Hos 源码
接下来访问 https://github.com/mrshawcode/hos-mips,并下载 Hos 源代码。读者可以使用
git 工具来对源代码进行复制(clone 命令)。实际上,这也是较好的方法,因为这样可以跟
踪自己对代码所做的所有改动。但对于不熟悉 git 工具的读者,则可以直接下载 zip 包,并
在本地进行解压操作,如下图所示。
图 5.2.14 下载 Hos 源代码
现在,我们假设读者已经下载 Hos 源代码,并将其解压到 D:\Hos\hos-mips-master\目录
(注意:目录名中不要出现空格)下,我们将在该目录下看到以下内容:
图 5.2.15 解压 Hos 源代码
源代码中目录及文件的说明见下表。
表 5.2.1 Hos 源代码中目录及文件的简单说明
文件/文件夹 说明
.vscode 目录 存放 vscode 的配置文件。当在 vscode 中引入后,该子目录
下的 launch.json 和 tasks.json 将生效(将在下一个试验中用
到)。
debug 目录 存放用于 Hos 运行的工具程序,例如 JTAG 的启动于配置
文件、用于显示 Hos 运行结果的 Putty、以及 mips-sde-elf-gdb
的配置文件(startup-ucore.txt)等。
kernel-ucore 目录 Hos 操作系统内核的源代码。
tool 目录 用于生成 sfsimage 镜像的工具。
user 目录 用户态代码。
.gitignore 用于 git 的配置文件(与我们之后的实验无关)。
Makefile 主 make 文件。
Makefile.config 主 make 文件的配置文件,通过该文件可配置交叉编译器
等。
README.md 对于 Hos 编译与使用的简单说明文件。
run.bat 运行文件,在 make 命令执行后,如果成功生成了内核,则
可以执行此批处理程序,在 Nexys4 DDR 开发板上运行
Hos。
至此,我们的环境配置就完成了。接下来,我们将构建 Hos 内核,并在本书的第一部
分所构造的 MIPS 系统上,运行该操作系统。
5.2.2
构建
Hos
镜像
我们将使用 Cygwin 来构建 Hos 系统。启动 Cygwin,并进入 Hos 源代码所在的目录,
如下图所示:
剩余38页未读,继续阅读
正版胡一星
- 粉丝: 25
- 资源: 304
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- JDK 17 Linux版本压缩包解压与安装指南
- C++/Qt飞行模拟器教员控制台系统源码发布
- TensorFlow深度学习实践:CNN在MNIST数据集上的应用
- 鸿蒙驱动HCIA资料整理-培训教材与开发者指南
- 凯撒Java版SaaS OA协同办公软件v2.0特性解析
- AutoCAD二次开发中文指南下载 - C#编程深入解析
- C语言冒泡排序算法实现详解
- Pointofix截屏:轻松实现高效截图体验
- Matlab实现SVM数据分类与预测教程
- 基于JSP+SQL的网站流量统计管理系统设计与实现
- C语言实现删除字符中重复项的方法与技巧
- e-sqlcipher.dll动态链接库的作用与应用
- 浙江工业大学自考网站开发与继续教育官网模板设计
- STM32 103C8T6 OLED 显示程序实现指南
- 高效压缩技术:删除重复字符压缩包
- JSP+SQL智能交通管理系统:违章处理与交通效率提升
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功