Hi3511/Hi3512 Linux内核移植与标准内核差异详解

需积分: 10 15 下载量 138 浏览量 更新于2024-07-30 收藏 380KB PDF 举报
本篇文档详细介绍了Hi3511/Hi3512 Linux 内核与标准内核之间的差异,这两个平台基于ARM926EJ-S CPU,已经具备了良好的ARM支持。移植标准内核至Hi3511/Hi3512 主要涉及平台特有的代码调整,例如中断控制器、定时器和时钟管理,以及I/O 地址映射等硬件相关模块。这些平台特有的功能要求对标准内核进行定制,以确保硬件兼容性和性能优化。 文档详细列出了以下内容: 1. **平台相关代码**: - **头文件定义**:针对Hi3511/Hi3512 的特殊硬件特性和架构,需要重新定义或者扩展相应的头文件,以便内核能够识别并调用正确的驱动接口。 - **实现代码**:这包括编写平台特定的初始化函数、中断处理程序和其他硬件操作函数,以满足芯片特有的功能需求。 - **修改文件**:可能涉及到内核配置文件的修改,以适应Hi3511/Hi3512 的硬件配置和配置选项。 2. **驱动程序**: - **公共组件**:这些是Hi3511/Hi3512 共享的驱动程序部分,如内存管理和设备模型抽象。 - **字符类设备驱动**:为了适配平台特性,可能需要对标准字符设备驱动进行微调。 - **Flash驱动**:针对特定的闪存控制器,可能包含定制的读写操作和错误处理代码。 - **UART驱动**:通用异步收发器驱动需根据Hi3511/Hi3512 的接口进行修改。 - **USB1.1驱动**:同样,USB通信可能需要针对该平台的物理层和协议栈进行调整。 - **MMC驱动**:多媒体卡驱动也需要针对Hi3511/Hi3512 的SD/MMC控制器进行适配。 - **PCI-SATA驱动**:对于支持的PCIe接口,可能存在与SATA控制器交互的定制代码。 3. **其他代码**: - **编译工具和平台选择**:强调了在构建和移植过程中可能需要针对Hi3511/Hi3512 特性选择特定的编译工具链和配置选项。 这个文档提供了移植过程中的关键步骤和技术要点,旨在帮助开发者理解和操作Hi3511/Hi3512 Linux 内核,使其能够在特定硬件平台上稳定运行并发挥其最佳性能。