用于 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)以及一些商业工具的免费版本(Free nSIM 和 MetaWare Light Edition)。请注意,访问这些文档和工具需要进行注册。
关于 ARC 处理器可配置性的重要说明¶
ARC 处理器具有高度可配置性,Linux 支持多种配置选项。有些选项对软件是透明的(例如,缓存几何结构),有些可以在运行时检测并相应地配置和使用,而有些则需要在内核的配置实用程序(即 “make menuconfig”)中显式选择或配置。
然而,当 ARC 处理器运行 Linux 时,并非所有可配置选项都受支持。SoC 设计团队应参阅 ARC HS 数据手册中的“附录 E:ARC Linux 配置”以获取可配置性指南。
遵循这些指南并预先选择有效的配置选项,对于帮助防止 SoC 启动调试(bringup)及一般软件开发过程中出现任何不必要的问题至关重要。
为 ARC 处理器构建 Linux 内核¶
为 ARC 处理器构建内核的过程与其他任何架构相同,可以通过以下两种方式完成
交叉编译:在具有不同处理器架构(通常为 x86_64/amd64)的开发主机上为 ARC 目标进行编译的过程。
原生编译:在安装了完整开发环境(GNU 工具链、dtc、make 等)的 ARC 平台(硬件板或 QEMU 等模拟器)上为 ARC 进行编译的过程。
在这两种情况下,都需要为主机准备最新的 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 文件夹中生成。