128 lines
3.8 KiB
ReStructuredText
128 lines
3.8 KiB
ReStructuredText
|
.. include:: ../disclaimer-zh_CN.rst
|
|||
|
|
|||
|
:Original: Documentation/openrisc/openrisc_port.rst
|
|||
|
|
|||
|
:翻译:
|
|||
|
|
|||
|
司延腾 Yanteng Si <siyanteng@loongson.cn>
|
|||
|
|
|||
|
.. _cn_openrisc_port:
|
|||
|
|
|||
|
==============
|
|||
|
OpenRISC Linux
|
|||
|
==============
|
|||
|
|
|||
|
这是Linux对OpenRISC类微处理器的移植;具体来说,最早移植目标是32位
|
|||
|
OpenRISC 1000系列(或1k)。
|
|||
|
|
|||
|
关于OpenRISC处理器和正在进行中的开发的信息:
|
|||
|
|
|||
|
======= =============================
|
|||
|
网站 https://openrisc.io
|
|||
|
邮箱 openrisc@lists.librecores.org
|
|||
|
======= =============================
|
|||
|
|
|||
|
---------------------------------------------------------------------
|
|||
|
|
|||
|
OpenRISC工具链和Linux的构建指南
|
|||
|
===============================
|
|||
|
|
|||
|
为了构建和运行Linux for OpenRISC,你至少需要一个基本的工具链,或许
|
|||
|
还需要架构模拟器。 这里概述了准备就位这些部分的步骤。
|
|||
|
|
|||
|
1) 工具链
|
|||
|
|
|||
|
工具链二进制文件可以从openrisc.io或我们的github发布页面获得。不同
|
|||
|
工具链的构建指南可以在openrisc.io或Stafford的工具链构建和发布脚本
|
|||
|
中找到。
|
|||
|
|
|||
|
====== =================================================
|
|||
|
二进制 https://github.com/openrisc/or1k-gcc/releases
|
|||
|
工具链 https://openrisc.io/software
|
|||
|
构建 https://github.com/stffrdhrn/or1k-toolchain-build
|
|||
|
====== =================================================
|
|||
|
|
|||
|
2) 构建
|
|||
|
|
|||
|
像往常一样构建Linux内核::
|
|||
|
|
|||
|
make ARCH=openrisc CROSS_COMPILE="or1k-linux-" defconfig
|
|||
|
make ARCH=openrisc CROSS_COMPILE="or1k-linux-"
|
|||
|
|
|||
|
3) 在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
|
|||
|
|
|||
|
4) 在模拟器上运行(可选)
|
|||
|
|
|||
|
QEMU是一个处理器仿真器,我们推荐它来模拟OpenRISC平台。 请按照QEMU网
|
|||
|
站上的OpenRISC说明,让Linux在QEMU上运行。 你可以自己构建QEMU,但你的
|
|||
|
Linux发行版可能提供了支持OpenRISC的二进制包。
|
|||
|
|
|||
|
============= ======================================================
|
|||
|
qemu openrisc https://wiki.qemu.org/Documentation/Platforms/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看齐。
|