129 lines · plain
1.. include:: ../../disclaimer-zh_TW.rst2 3:Original: Documentation/arch/openrisc/openrisc_port.rst4 5:翻譯:6 7 司延騰 Yanteng Si <siyanteng@loongson.cn>8 9.. _tw_openrisc_port:10 11==============12OpenRISC Linux13==============14 15這是Linux對OpenRISC類微處理器的移植;具體來說,最早移植目標是32位16OpenRISC 1000系列(或1k)。17 18關於OpenRISC處理器和正在進行中的開發的信息:19 20 ======= =============================21 網站 https://openrisc.io22 郵箱 openrisc@lists.librecores.org23 ======= =============================24 25---------------------------------------------------------------------26 27OpenRISC工具鏈和Linux的構建指南28===============================29 30爲了構建和運行Linux for OpenRISC,你至少需要一個基本的工具鏈,或許31還需要架構模擬器。 這裏概述了準備就位這些部分的步驟。32 331) 工具鏈34 35工具鏈二進制文件可以從openrisc.io或我們的github發佈頁面獲得。不同36工具鏈的構建指南可以在openrisc.io或Stafford的工具鏈構建和發佈腳本37中找到。38 39 ====== =================================================40 二進制 https://github.com/openrisc/or1k-gcc/releases41 工具鏈 https://openrisc.io/software42 構建 https://github.com/stffrdhrn/or1k-toolchain-build43 ====== =================================================44 452) 構建46 47像往常一樣構建Linux內核::48 49 make ARCH=openrisc CROSS_COMPILE="or1k-linux-" defconfig50 make ARCH=openrisc CROSS_COMPILE="or1k-linux-"51 523) 在FPGA上運行(可選)53 54OpenRISC社區通常使用FuseSoC來管理構建和編程SoC到FPGA中。 下面是用55OpenRISC SoC對De0 Nano開發板進行編程的一個例子。 在構建過程中,56FPGA RTL是從FuseSoC IP核庫中下載的代碼,並使用FPGA供應商工具構建。57二進制文件用openocd加載到電路板上。58 59::60 61 git clone https://github.com/olofk/fusesoc62 cd fusesoc63 sudo pip install -e .64 65 fusesoc init66 fusesoc build de0_nano67 fusesoc pgm de0_nano68 69 openocd -f interface/altera-usb-blaster.cfg \70 -f board/or1k_generic.cfg71 72 telnet localhost 444473 > init74 > halt; load_image vmlinux ; reset75 764) 在模擬器上運行(可選)77 78QEMU是一個處理器仿真器,我們推薦它來模擬OpenRISC平臺。 請按照QEMU網79站上的OpenRISC說明,讓Linux在QEMU上運行。 你可以自己構建QEMU,但你的80Linux發行版可能提供了支持OpenRISC的二進制包。81 82 ============= ======================================================83 qemu openrisc https://wiki.qemu.org/Documentation/Platforms/OpenRISC84 ============= ======================================================85 86---------------------------------------------------------------------87 88術語表89======90 91代碼中使用了以下符號約定以將範圍限制在幾個特定處理器實現上:92 93========= =======================94openrisc: OpenRISC類型處理器95or1k: OpenRISC 1000系列處理器96or1200: OpenRISC 1200處理器97========= =======================98 99---------------------------------------------------------------------100 101歷史102====103 1042003-11-18 Matjaz Breskvar (phoenix@bsemi.com)105 將linux初步移植到OpenRISC或32架構。106 所有的核心功能都實現了,並且可以使用。107 1082003-12-08 Matjaz Breskvar (phoenix@bsemi.com)109 徹底改變TLB失誤處理。110 重寫異常處理。111 在默認的initrd中實現了sash-3.6的所有功能。112 大幅改進的版本。113 1142004-04-10 Matjaz Breskvar (phoenix@bsemi.com)115 大量的bug修復。116 支持以太網,http和telnet服務器功能。117 可以運行許多標準的linux應用程序。118 1192004-06-26 Matjaz Breskvar (phoenix@bsemi.com)120 移植到2.6.x。121 1222004-11-30 Matjaz Breskvar (phoenix@bsemi.com)123 大量的bug修復和增強功能。124 增加了opencores framebuffer驅動。125 1262010-10-09 Jonas Bonn (jonas@southpole.se)127 重大重寫,使其與上游的Linux 2.6.36看齊。128 129