0001 .. include:: ../disclaimer-zh_CN.rst
0002
0003 :Original: Documentation/openrisc/openrisc_port.rst
0004
0005 :翻译:
0006
0007 司延腾 Yanteng Si <siyanteng@loongson.cn>
0008
0009 .. _cn_openrisc_port:
0010
0011 ==============
0012 OpenRISC Linux
0013 ==============
0014
0015 这是Linux对OpenRISC类微处理器的移植;具体来说,最早移植目标是32位
0016 OpenRISC 1000系列(或1k)。
0017
0018 关于OpenRISC处理器和正在进行中的开发的信息:
0019
0020 ======= =============================
0021 网站 https://openrisc.io
0022 邮箱 openrisc@lists.librecores.org
0023 ======= =============================
0024
0025 ---------------------------------------------------------------------
0026
0027 OpenRISC工具链和Linux的构建指南
0028 ===============================
0029
0030 为了构建和运行Linux for OpenRISC,你至少需要一个基本的工具链,或许
0031 还需要架构模拟器。 这里概述了准备就位这些部分的步骤。
0032
0033 1) 工具链
0034
0035 工具链二进制文件可以从openrisc.io或我们的github发布页面获得。不同
0036 工具链的构建指南可以在openrisc.io或Stafford的工具链构建和发布脚本
0037 中找到。
0038
0039 ====== =================================================
0040 二进制 https://github.com/openrisc/or1k-gcc/releases
0041 工具链 https://openrisc.io/software
0042 构建 https://github.com/stffrdhrn/or1k-toolchain-build
0043 ====== =================================================
0044
0045 2) 构建
0046
0047 像往常一样构建Linux内核::
0048
0049 make ARCH=openrisc CROSS_COMPILE="or1k-linux-" defconfig
0050 make ARCH=openrisc CROSS_COMPILE="or1k-linux-"
0051
0052 3) 在FPGA上运行(可选)
0053
0054 OpenRISC社区通常使用FuseSoC来管理构建和编程SoC到FPGA中。 下面是用
0055 OpenRISC SoC对De0 Nano开发板进行编程的一个例子。 在构建过程中,
0056 FPGA RTL是从FuseSoC IP核库中下载的代码,并使用FPGA供应商工具构建。
0057 二进制文件用openocd加载到电路板上。
0058
0059 ::
0060
0061 git clone https://github.com/olofk/fusesoc
0062 cd fusesoc
0063 sudo pip install -e .
0064
0065 fusesoc init
0066 fusesoc build de0_nano
0067 fusesoc pgm de0_nano
0068
0069 openocd -f interface/altera-usb-blaster.cfg \
0070 -f board/or1k_generic.cfg
0071
0072 telnet localhost 4444
0073 > init
0074 > halt; load_image vmlinux ; reset
0075
0076 4) 在模拟器上运行(可选)
0077
0078 QEMU是一个处理器仿真器,我们推荐它来模拟OpenRISC平台。 请按照QEMU网
0079 站上的OpenRISC说明,让Linux在QEMU上运行。 你可以自己构建QEMU,但你的
0080 Linux发行版可能提供了支持OpenRISC的二进制包。
0081
0082 ============= ======================================================
0083 qemu openrisc https://wiki.qemu.org/Documentation/Platforms/OpenRISC
0084 ============= ======================================================
0085
0086 ---------------------------------------------------------------------
0087
0088 术语表
0089 ======
0090
0091 代码中使用了以下符号约定以将范围限制在几个特定处理器实现上:
0092
0093 ========= =======================
0094 openrisc: OpenRISC类型处理器
0095 or1k: OpenRISC 1000系列处理器
0096 or1200: OpenRISC 1200处理器
0097 ========= =======================
0098
0099 ---------------------------------------------------------------------
0100
0101 历史
0102 ====
0103
0104 2003-11-18 Matjaz Breskvar (phoenix@bsemi.com)
0105 将linux初步移植到OpenRISC或32架构。
0106 所有的核心功能都实现了,并且可以使用。
0107
0108 2003-12-08 Matjaz Breskvar (phoenix@bsemi.com)
0109 彻底改变TLB失误处理。
0110 重写异常处理。
0111 在默认的initrd中实现了sash-3.6的所有功能。
0112 大幅改进的版本。
0113
0114 2004-04-10 Matjaz Breskvar (phoenix@bsemi.com)
0115 大量的bug修复。
0116 支持以太网,http和telnet服务器功能。
0117 可以运行许多标准的linux应用程序。
0118
0119 2004-06-26 Matjaz Breskvar (phoenix@bsemi.com)
0120 移植到2.6.x。
0121
0122 2004-11-30 Matjaz Breskvar (phoenix@bsemi.com)
0123 大量的bug修复和增强功能。
0124 增加了opencores framebuffer驱动。
0125
0126 2010-10-09 Jonas Bonn (jonas@southpole.se)
0127 重大重写,使其与上游的Linux 2.6.36看齐。