用于 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
。
这将在内核源代码树的根目录中生成“vmlinux”文件,该文件可通过 JTAG 加载到目标系统上。如果您需要获得可与 U-Boot 引导加载程序一起使用的映像,请键入 make uImage
,并且 uImage
将在 arch/arc/boot
文件夹中生成。