Chinese (Traditional)

Warning

此文件的目的是爲讓中文讀者更容易閱讀和理解,而不是作爲一個分支。因此, 如果您對此文件有任何意見或改動,請先嘗試更新原始英文文件。如果要更改或 修正某處翻譯文件,請將意見或補丁發送給維護者(聯繫方式見下)。

Note

如果您發現本文檔與原始文件有任何不同或者有翻譯問題,請聯繫該文件的譯者, 或者發送電子郵件給胡皓文以獲取幫助:<2023002089@link.tyut.edu.cn>。

Original:

OpenRISC Linux

翻譯:

司延騰 Yanteng Si <siyanteng@loongson.cn>

OpenRISC Linux

這是Linux對OpenRISC類微處理器的移植;具體來說,最早移植目標是32位 OpenRISC 1000系列(或1k)。

關於OpenRISC處理器和正在進行中的開發的信息:


OpenRISC工具鏈和Linux的構建指南

爲了構建和運行Linux for OpenRISC,你至少需要一個基本的工具鏈,或許 還需要架構模擬器。 這裏概述了準備就位這些部分的步驟。

  1. 工具鏈

工具鏈二進制文件可以從openrisc.io或我們的github發佈頁面獲得。不同 工具鏈的構建指南可以在openrisc.io或Stafford的工具鏈構建和發佈腳本 中找到。

  1. 構建

像往常一樣構建Linux內核:

make ARCH=openrisc CROSS_COMPILE="or1k-linux-" defconfig
make ARCH=openrisc CROSS_COMPILE="or1k-linux-"
  1. 在FPGA上運行(可選)

OpenRISC社區通常使用FuseSoC來管理構建和編程SoC到FPGA中。 下面是用 OpenRISC SoC對De0 Nano開發板進行編程的一個例子。 在構建過程中, FPGA RTL是從FuseSoC IP核庫中下載的代碼,並使用FPGA供應商工具構建。 二進制文件用openocd加載到電路板上。

git clone https://github.com/olofk/fusesoc
cd fusesoc
sudo pip install -e .

fusesoc init
fusesoc build de0_nano
fusesoc pgm de0_nano

openocd -f interface/altera-usb-blaster.cfg \
        -f board/or1k_generic.cfg

telnet localhost 4444
> init
> halt; load_image vmlinux ; reset
  1. 在模擬器上運行(可選)

QEMU是一個處理器仿真器,我們推薦它來模擬OpenRISC平臺。 請按照QEMU網 站上的OpenRISC說明,讓Linux在QEMU上運行。 你可以自己構建QEMU,但你的 Linux發行版可能提供了支持OpenRISC的二進制包。


術語表

代碼中使用了以下符號約定以將範圍限制在幾個特定處理器實現上:

openrisc:

OpenRISC類型處理器

or1k:

OpenRISC 1000系列處理器

or1200:

OpenRISC 1200處理器


歷史

2003-11-18 Matjaz Breskvar (phoenix@bsemi.com)
將linux初步移植到OpenRISC或32架構。

所有的核心功能都實現了,並且可以使用。

2003-12-08 Matjaz Breskvar (phoenix@bsemi.com)

徹底改變TLB失誤處理。 重寫異常處理。 在默認的initrd中實現了sash-3.6的所有功能。 大幅改進的版本。

2004-04-10 Matjaz Breskvar (phoenix@bsemi.com)

大量的bug修復。 支持以太網,http和telnet服務器功能。 可以運行許多標準的linux應用程序。

2004-06-26 Matjaz Breskvar (phoenix@bsemi.com)

移植到2.6.x。

2004-11-30 Matjaz Breskvar (phoenix@bsemi.com)

大量的bug修復和增強功能。 增加了opencores framebuffer驅動。

2010-10-09 Jonas Bonn (jonas@southpole.se)

重大重寫,使其與上游的Linux 2.6.36看齊。