因為畢設是CPU的低功耗設計,所以開始看cpu,打算還是先從這個tinyriscv學起,昨天把環境下好了,第一步是用git去clone代碼,這個首先要下載git,然後在目標文件夾滑鼠右鍵,選擇“open git bush here”,再輸入項目的url,就可以了。方法不難。b站有詳細教程 接下來是安 ...
因為畢設是CPU的低功耗設計,所以開始看cpu,打算還是先從這個tinyriscv學起,昨天把環境下好了,第一步是用git去clone代碼,這個首先要下載git,然後在目標文件夾滑鼠右鍵,選擇“open git bush here”,再輸入項目的url,就可以了。方法不難。b站有詳細教程
接下來是安裝工具,我用的是windows,就按照以下步驟,唯一有一個地方有出入的是,安裝GNU工具鏈的時候,工具路徑不是他這樣的,是散開的,為了考慮周全,我自己又建了一個“gnu-mcu-eclipse-riscv-none-gcc-8.2.0-2.2-20190521-0004-win64”的文件夾,然後又在這個文件夾里解壓了(後面測試指令的時候也沒有報錯)
make和python比較特殊,需要加入環境變數,具體操作是“右鍵電腦——屬性——高級系統設計——環境變數”,在用戶變數里雙擊“path”,會發現裡面有很多路徑,直接新建一個路徑然後加進去就行了(我是這樣做的,後面測試也沒有問題)
安裝好之後就開始測試了,這裡懶得放截圖了,然後就是運行c程式,就是這一步,具體來說也就是在cmd裡面輸入指令,我的運行是沒有錯誤的,關於如何在cmd中更換路徑,這個可以看我這篇文章:如何在cmd中轉入其他文件夾。
關於這個測試c程式,我昨天問了師兄,師兄說這個“python .\sim_new_nowave.py ..\tests\example\simple\simple.bin inst.data”就是一個python腳本,原因是機器肯定是不能直接理解c語言的,需要轉換成機器所能理解的指令,因此先轉成bin文件,但是bin文件又不能說是直接打開,所以又轉換成了一個inst.data文件(所以在走完這個步驟之後,會發現sim文件夾里多出來了一個名字叫inst.data的文件,如下圖所示)
關於這個inst.data,打開之後發現是一堆16進位的數字,這裡面的每一行實際上就對應的是一條指令。
以上就是,配置環境和測試的內容,還有一些問題,師兄做瞭解答:
1.為什麼裝了很多東西,比如iverilog、GNU、make,結果在測試的時候看起來沒用到?實際上雖然這裡只是說執行了一條指令,但實際上他們內部是相互調用的,c程式之所以能夠翻譯成機器所理解的,原因還是因為上面的工具起作用,例如GNU裡面的gcc(也不能說是程式,只能是一個類似“包工頭的玩意”)實現了c的編譯器,具體的可以參考這篇文章:編譯工具鏈
2.這個c程式測試是做什麼的?實際上,他這個測試就是說,比如1+1=2,那麼在實際測試中,就是把運算結果,從寄存器取出來,然後人為的比對一下,如果一樣,就說明測試成功
3.我能自己寫一個c嗎?好像不行。。原因記不太清了。。。
4.接下來我應該做什麼:不要看那個tinyriscv的配套文檔,那個只是針對這個cpu寫的,直接去看計組的書或者網課