計算機系統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、匯編程序)從編寫到運行的完整過程截圖與說明。
- 對實驗環境工作的理解與心得體會。
成功配置實驗環境是探索計算機系統奧秘的第一步。請務必耐心、仔細地完成本實驗,確保每一步都理解其作用,這將對后續學習產生深遠影響。