计算机系统2作为计算机科学与技术专业的核心课程,其实验环节对巩固理论知识、培养实践能力至关重要。实验一“实验环境配置与使用”是后续所有实验的基础,旨在帮助学生搭建并熟悉必要的软件开发与调试环境。本指南将详细介绍所需的软件、辅助设备及其配置与使用方法。
一、 实验目标
- 成功安装并配置实验所需的软件开发环境(如特定版本的GCC、GDB、模拟器等)。
- 掌握在实验环境中编写、编译、链接、运行及调试C/C++程序的基本流程。
- 熟悉辅助设备(如实验板、逻辑分析仪等,如涉及)的连接与基本操作。
- 理解实验环境与底层硬件(如CPU、内存)的关联,为后续系统级编程打下基础。
二、 核心软件环境配置
通常,计算机系统2实验侧重于底层编程、体系结构或操作系统概念,环境可能包括:
1. Linux 开发环境
* 操作系统:推荐使用 Ubuntu 22.04 LTS 或更高版本。可通过虚拟机(如 VirtualBox、VMware)或 Windows Subsystem for Linux (WSL2) 安装。
* 编译工具链:安装 build-essential 包,包含GCC、G++、Make、GDB等。
`bash
sudo apt update
sudo apt install build-essential
`
- 文本编辑器/IDE:Vim、VS Code(配合C/C++插件)或 CLion。
2. 特定模拟器或工具(根据课程要求)
* CPU/系统模拟器:如 QEMU(用于模拟特定架构,如RISC-V)、SPIM或MARS(用于MIPS汇编)、LC-3模拟器等。安装命令示例(QEMU):
`bash
sudo apt install qemu-system-x86 qemu-user
`
- 调试与分析工具:除GDB外,可能需使用
objdump(反汇编)、readelf(查看ELF文件信息)、strace(系统调用跟踪)等。
3. 版本控制工具
* Git:用于管理实验代码。安装与基本配置:
`bash
sudo apt install git
git config --global user.name "Your Name"
git config --global user.email "[email protected]"
`
三、 辅助设备与使用(如课程涉及硬件实验)
部分计算机系统2课程会引入简单的硬件实验平台,以加深对硬件/软件接口的理解。
1. 实验开发板
* 常见类型:基于ARM Cortex-M的STM32板、基于RISC-V的HiFive板、或FPGA开发板(如Basys3)。
- 连接与配置:
- 通过USB线连接至PC。
- 安装板载芯片的驱动(如ST-Link/V2驱动)。
- 安装对应的交叉编译工具链(如
arm-none-eabi-gcc)。
- 使用OpenOCD或厂商IDE进行程序烧录与调试。
2. 调试与测试设备
* 逻辑分析仪/示波器:用于观察数字信号时序,分析硬件行为。需安装配套软件,学习基本触发与测量设置。
- 万用表:用于检查电路连通性与电压。
四、 基础使用流程示例
以下以在Linux环境中编写、调试一个简单C程序为例:
1. 编写代码:使用编辑器创建 hello.c。
`c
#include
int main() {
printf("Hello, Computer System II!\n");
return 0;
}
`
2. 编译:使用GCC编译,-g选项生成调试信息。
`bash
gcc -g -o hello hello.c
`
3. 运行:直接执行。
`bash
./hello
`
4. 调试:使用GDB进行调试。
`bash
gdb ./hello
(gdb) break main # 在main函数设置断点
(gdb) run # 运行程序
(gdb) next # 单步执行
(gdb) print variable # 查看变量值
(gdb) quit # 退出
`
五、 常见问题与解决
- 软件包安装失败:检查网络连接,更新软件源列表(
sudo apt update)。 - 权限问题:使用
sudo执行需要管理员权限的命令;操作串口或USB设备时,可能需要将用户加入dialout组(sudo usermod -aG dialout $USER,需注销重新登录生效)。 - 交叉编译工具链未找到:检查PATH环境变量是否正确设置,或使用绝对路径。
- 开发板无法连接:检查USB线、驱动安装,尝试更换USB端口或重启服务。
六、 实验报告要求
实验结束后,通常需提交报告,内容应包括:
- 实验环境详细配置清单(软件版本号、硬件型号)。
- 配置过程中遇到的主要问题及解决方法。
- 一个简单的测试程序(如点亮LED、汇编程序)从编写到运行的完整过程截图与说明。
- 对实验环境工作的理解与心得体会。
成功配置实验环境是探索计算机系统奥秘的第一步。请务必耐心、仔细地完成本实验,确保每一步都理解其作用,这将对后续学习产生深远影响。