Linux系统移植与Bootloader编写-ADS源代码解析

需积分: 30 75 下载量 167 浏览量 更新于2024-08-10 收藏 1.12MB PDF 举报
"《源代码说明-《the book of why》英文版》是关于ARM Linux系统移植的资料,包括汇编源代码说明、Linux系统移植的步骤和工具使用,以及GNU交叉工具链的编译与配置。" 这篇文档详细介绍了在ARM架构上移植Linux系统的过程,特别是针对bootloader的编写和系统初始化阶段。首先,它提到了源代码中的汇编部分,这些源代码用于处理ROM、RAM区域的基地址和限制,以及C程序的入口函数`bdmain`。文档中还展示了一个名为`HANDLER`的宏定义,用于处理中断服务例程(ISR)的调用,通过保存寄存器状态,加载服务例程地址并跳转到ISR。 接着,文档转向了Linux系统移植的硬件和软件环境。硬件环境涵盖了主机和目标板的配置,以及开发过程中使用的工具。软件环境涉及到主机上的Windows和Linux操作系统,以及目标板最终运行的环境。在Linux环境下,需要安装交叉编译工具,并配置tftp服务器来支持远程加载。 在系统启动阶段,文档特别讨论了bootloader的编写,这部分内容主要基于ADS(ARM Development Studio)。它解释了可执行文件的组成、内存映射以及启动过程,包括汇编代码和C代码的作用。同时,介绍了如何使用AXD(ARM Debug eXperience)工具进行源代码调试和仿真器配置。 最后,文档涉及了GNU交叉工具链的构建,包括设置环境变量、获取和编译binutils、gcc、glibc以及Linux内核头文件的准备工作。这一部分是构建定制化工具链的关键步骤,用于生成适用于目标板的编译工具。 这份资料对于理解ARM平台上的Linux系统启动流程、bootloader的编写以及构建交叉编译环境具有重要的参考价值,适合系统开发者和嵌入式工程师学习。