通用调整
本指导书的最终目的是帮助软件 适配 (Porting) 而非单纯 移植 (Migrating) 到 RISC-V 架构, 因此开发者针对软件源代码所做的修改应是 增量的、可自适应的。
理想情况下,完全适配 RISC-V 架构的软件源代码应满足以下要求:
- 软件源代码在以 RISC-V 架构为目标平台时能够正常编译运行
- 软件在 RISC-V 架构下与原有架构下的功能保持一致
- 同一套源代码无需额外修改,仍然能够在以原先已支持的硬件架构为目标平台时正常编译运行
说明
当仅满足前两点时,表示该软件已成功 移植 到 RISC-V 硬件架构平台。
检查项目对多架构的支持性
在正式开始针对目标架构适配软件之前,需要检查当前版本的软件项目是否已经支持多架构、支持到何种程度。
关于这部分的具体做法,请参阅 检查项目对多架构的支持性。
项目结构调整
在进行源代码层面的架构适配相关修改前,需要先视情况对项目结构进行调整, 以尽可能在 同一版本 源代码下支持不同的硬件架构。
项目结构调整主要可分为以下步骤:
- 检查项目对多架构的支持性: 主要指软件源代码是否已针对不同硬件架构进行分类,以及分类是否合理。
- 文件结构调整: 主要指将软件源代码中与目标架构相关的 源代码 按目标架构分别编写在不同文件中。
- 目录结构调整: 主要指将软件源代码中与目标架构相关的 源文件 按目标架构分别存放在不同文件夹中。
- 测试用例调整: 主要指将软件源代码中与目标架构相关的 测试用例 按具体情况进行修改或屏蔽。