用于 ARC 处理器的 Linux 内核¶
其他信息来源¶
以下是一些资源,可以在其中找到有关 ARC 处理器和相关开源项目的更多信息。
https://embarc.org - ARC 上开源的社区门户。 查找相关 FOSS 项目、工具链版本、新闻项目等的理想起点。
https://github.com/foss-for-synopsys-dwc-arc-processors - 所有关于 ARC 处理器开源项目开发活动的主页。 其中一些项目是各种上游项目的分支,其中“正在进行的工作”在上游项目提交之前托管。 其他项目由 Synopsys 开发并作为开源提供给社区,以用于 ARC 处理器。
Synopsys ARC 处理器的官方网站 - 位置,可以访问一些 IP 文档(程序员参考手册,又名 ARC HS 处理器的 PRM)和一些商业工具的免费版本(免费 nSIM 和 MetaWare Light Edition)。 但请注意,访问文档和工具都需要注册。
关于 ARC 处理器可配置性的重要说明¶
ARC 处理器是高度可配置的,Linux 中支持几个可配置选项。 一些选项对软件是透明的(即缓存几何形状),一些可以在运行时检测并相应地配置和使用,而一些需要在内核的配置实用程序(又名“make menuconfig”)中显式选择或配置。
但是,当 ARC 处理器要运行 Linux 时,并非所有可配置选项都受支持。 SoC 设计团队应参考 ARC HS 数据手册中的“附录 E:ARC Linux 的配置”以获取可配置性指南。
遵循这些指南并预先选择有效的配置选项对于帮助防止 SoC 启动和一般软件开发期间出现任何不必要的问题至关重要。
为 ARC 处理器构建 Linux 内核¶
为 ARC 处理器构建内核的过程与任何其他架构相同,可以通过两种方式完成
交叉编译:在具有不同处理器架构(通常为 x86_64/amd64)的开发主机上为 ARC 目标编译的过程。
本地编译:在 ARC 平台(硬件板或像 QEMU 这样的模拟器)上为 ARC 编译的过程,该平台安装了完整的开发环境(GNU 工具链、dtc、make 等)。
在这两种情况下,都需要最新的 ARC GNU 工具链。 Synopsys 提供了预构建的工具链版本,可用于此目的,可从以下位置获得
Synopsys GNU 工具链版本:https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/releases
Linux 内核编译器集合:https://mirrors.edge.kernel.org/pub/tools/crosstool
Bootlin 的工具链集合:https://toolchains.bootlin.com
一旦工具链安装在系统中,请确保将其“bin”文件夹添加到您的 PATH
环境变量中。 然后设置 ARCH=arc
& CROSS_COMPILE=arc-linux
(或任何匹配已安装 ARC 工具链前缀的内容),然后像往常一样 make defconfig && make
。
这将在内核源代码树的根目录中生成可用于通过 JTAG 加载到目标系统上的“vmlinux”文件。 如果您需要获得可与 U-Boot 引导加载程序一起使用的镜像,请键入 make uImage
,并且将在 arch/arc/boot
文件夹中生成 uImage
。