計算機(jī)系統(tǒng)2作為計算機(jī)科學(xué)與技術(shù)專業(yè)的核心課程,其實(shí)驗(yàn)環(huán)節(jié)對鞏固理論知識、培養(yǎng)實(shí)踐能力至關(guān)重要。實(shí)驗(yàn)一“實(shí)驗(yàn)環(huán)境配置與使用”是后續(xù)所有實(shí)驗(yàn)的基礎(chǔ),旨在幫助學(xué)生搭建并熟悉必要的軟件開發(fā)與調(diào)試環(huán)境。本指南將詳細(xì)介紹所需的軟件、輔助設(shè)備及其配置與使用方法。
一、 實(shí)驗(yàn)?zāi)繕?biāo)
- 成功安裝并配置實(shí)驗(yàn)所需的軟件開發(fā)環(huán)境(如特定版本的GCC、GDB、模擬器等)。
- 掌握在實(shí)驗(yàn)環(huán)境中編寫、編譯、鏈接、運(yùn)行及調(diào)試C/C++程序的基本流程。
- 熟悉輔助設(shè)備(如實(shí)驗(yàn)板、邏輯分析儀等,如涉及)的連接與基本操作。
- 理解實(shí)驗(yàn)環(huán)境與底層硬件(如CPU、內(nèi)存)的關(guān)聯(lián),為后續(xù)系統(tǒng)級編程打下基礎(chǔ)。
二、 核心軟件環(huán)境配置
通常,計算機(jī)系統(tǒng)2實(shí)驗(yàn)側(cè)重于底層編程、體系結(jié)構(gòu)或操作系統(tǒng)概念,環(huán)境可能包括:
1. Linux 開發(fā)環(huán)境
* 操作系統(tǒng):推薦使用 Ubuntu 22.04 LTS 或更高版本。可通過虛擬機(jī)(如 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. 特定模擬器或工具(根據(jù)課程要求)
* CPU/系統(tǒng)模擬器:如 QEMU(用于模擬特定架構(gòu),如RISC-V)、SPIM或MARS(用于MIPS匯編)、LC-3模擬器等。安裝命令示例(QEMU):
`bash
sudo apt install qemu-system-x86 qemu-user
`
- 調(diào)試與分析工具:除GDB外,可能需使用
objdump(反匯編)、readelf(查看ELF文件信息)、strace(系統(tǒng)調(diào)用跟蹤)等。
3. 版本控制工具
* Git:用于管理實(shí)驗(yàn)代碼。安裝與基本配置:
`bash
sudo apt install git
git config --global user.name "Your Name"
git config --global user.email "[email protected]"
`
三、 輔助設(shè)備與使用(如課程涉及硬件實(shí)驗(yàn))
部分計算機(jī)系統(tǒng)2課程會引入簡單的硬件實(shí)驗(yàn)平臺,以加深對硬件/軟件接口的理解。
1. 實(shí)驗(yàn)開發(fā)板
* 常見類型:基于ARM Cortex-M的STM32板、基于RISC-V的HiFive板、或FPGA開發(fā)板(如Basys3)。
- 連接與配置:
- 通過USB線連接至PC。
- 安裝板載芯片的驅(qū)動(如ST-Link/V2驅(qū)動)。
- 安裝對應(yīng)的交叉編譯工具鏈(如
arm-none-eabi-gcc)。
- 使用OpenOCD或廠商IDE進(jìn)行程序燒錄與調(diào)試。
2. 調(diào)試與測試設(shè)備
* 邏輯分析儀/示波器:用于觀察數(shù)字信號時序,分析硬件行為。需安裝配套軟件,學(xué)習(xí)基本觸發(fā)與測量設(shè)置。
- 萬用表:用于檢查電路連通性與電壓。
四、 基礎(chǔ)使用流程示例
以下以在Linux環(huán)境中編寫、調(diào)試一個簡單C程序?yàn)槔?/p>
1. 編寫代碼:使用編輯器創(chuàng)建 hello.c。
`c
#include
int main() {
printf("Hello, Computer System II!\n");
return 0;
}
`
2. 編譯:使用GCC編譯,-g選項(xiàng)生成調(diào)試信息。
`bash
gcc -g -o hello hello.c
`
3. 運(yùn)行:直接執(zhí)行。
`bash
./hello
`
4. 調(diào)試:使用GDB進(jìn)行調(diào)試。
`bash
gdb ./hello
(gdb) break main # 在main函數(shù)設(shè)置斷點(diǎn)
(gdb) run # 運(yùn)行程序
(gdb) next # 單步執(zhí)行
(gdb) print variable # 查看變量值
(gdb) quit # 退出
`
五、 常見問題與解決
- 軟件包安裝失敗:檢查網(wǎng)絡(luò)連接,更新軟件源列表(
sudo apt update)。 - 權(quán)限問題:使用
sudo執(zhí)行需要管理員權(quán)限的命令;操作串口或USB設(shè)備時,可能需要將用戶加入dialout組(sudo usermod -aG dialout $USER,需注銷重新登錄生效)。 - 交叉編譯工具鏈未找到:檢查PATH環(huán)境變量是否正確設(shè)置,或使用絕對路徑。
- 開發(fā)板無法連接:檢查USB線、驅(qū)動安裝,嘗試更換USB端口或重啟服務(wù)。
六、 實(shí)驗(yàn)報告要求
實(shí)驗(yàn)結(jié)束后,通常需提交報告,內(nèi)容應(yīng)包括:
- 實(shí)驗(yàn)環(huán)境詳細(xì)配置清單(軟件版本號、硬件型號)。
- 配置過程中遇到的主要問題及解決方法。
- 一個簡單的測試程序(如點(diǎn)亮LED、匯編程序)從編寫到運(yùn)行的完整過程截圖與說明。
- 對實(shí)驗(yàn)環(huán)境工作的理解與心得體會。
成功配置實(shí)驗(yàn)環(huán)境是探索計算機(jī)系統(tǒng)奧秘的第一步。請務(wù)必耐心、仔細(xì)地完成本實(shí)驗(yàn),確保每一步都理解其作用,這將對后續(xù)學(xué)習(xí)產(chǎn)生深遠(yuǎn)影響。