AT91RM9200处理器下BootLoader与Linux内核参数传递详解

4星 · 超过85%的资源 需积分: 10 12 下载量 191 浏览量 更新于2024-09-10 收藏 233KB PDF 举报
BootLoader与Linux内核的参数传递是嵌入式系统中至关重要的环节,它涉及到硬件初始化、内核加载以及传递配置信息。本文以AT91RM9200处理器系统作为硬件平台,Linux-2.6.19.2内核作为软件平台,探讨了如何在这样的环境中实现BootLoader与内核之间的高效参数传递。 首先,嵌入式系统的BootLoader是系统启动过程中的关键组件,它的主要职责包括设置硬件,比如CPU频率和内存管理,以及引导和加载Linux内核。由于硬件环境的多样性,BootLoader如U-Boot具有高度的灵活性,支持多种体系结构,如ARM、PowerPC、X86和MIPS。 在本文中,硬件平台的核心是AT91RM9200处理器,它具有高性能和丰富的接口,包括EBI接口、SMC、SDRAM控制器、BurstFlash控制器等。该处理器支持高达240MHz的CPU时钟,SDRAM和NorFlash分别配置为64MB和8MB。 BootLoader的设计和实现遵循ARM体系结构的标准规范,同时针对AT91RM9200的特点进行定制。流程一般为上电后,通过No Flash启动,执行预定义的代码,初始化硬件,然后加载Linux内核。在这个过程中,BootLoader负责构建并管理参数链表,将必要的参数传递给即将启动的内核。 参数链表是这种传递的关键,它是一种结构化的数据结构,包含了内核启动所需的各种配置信息,如设备驱动程序路径、网络配置、系统模式选择等。BootLoader通过Taggedlist或其他形式的数据结构来组织和传递这些参数,确保内核在启动时能正确解析和使用这些信息。 Linux-2.6.19.2内核映像文件采用zImage格式,这是一种常见的内核二进制文件格式,便于BootLoader加载。当BootLoader完成内核加载后,会将参数链表传递给内核,内核通过初始化函数处理这些参数,完成系统的完整启动。 总结来说,本文深入研究了在AT91RM9200平台上的BootLoader与Linux内核参数传递的细节,包括硬件配置、BootLoader功能扩展、参数链表的构建与传递等,这对于理解和优化嵌入式系统启动流程具有实际指导意义。