TQ2440嵌入式系统Linux启动过程详解

需积分: 9 2 下载量 198 浏览量 更新于2024-09-16 收藏 47KB DOC 举报
"该文档包含了基于TQ2440平台的嵌入式系统启动过程,包括了U-Boot加载内核以及Linux操作系统启动的信息。文档描述了从启动引导到内核解压缩、启动kernel的步骤,并展示了Linux版本、CPU信息、内存策略以及设备时钟频率等关键细节。" 在嵌入式系统中,TQ2440是一款基于Samsung S3C2440A处理器的开发板,常用于各种嵌入式应用,如工业控制、移动通信设备等。文档中提到的启动流程是这样的: 1. **U-Boot启动**:首先,系统通过U-Boot加载器开始工作,U-Boot是一个开放源码的引导加载程序,负责初始化硬件,如内存控制器和网络接口,并准备加载操作系统内核。 2. **内核加载**:U-Boot将Linux内核从指定位置(0x00200000)复制到SDRAM的地址(0x30008000),大小为0x00300000字节。完成后,U-Boot发出"Kernel to SDRAM done"的消息,表明内核已准备好执行。 3. **内核解压缩**:接下来,内核进行解压缩,这个过程显示为"Uncompressing Linux... done, booting the kernel."。解压缩是必要的,因为内核通常以压缩格式存储以节省存储空间。 4. **Linux启动**:内核成功解压缩后,开始启动Linux操作系统。这里显示的是Linux内核版本2.6.30.4,由EmbedSky编译,日期为2012年9月19日。CPU识别为ARM920T,具有数据和指令的虚拟索引、虚拟寻址缓存(VIVT)。 5. **硬件配置**:CPU的特性包括ARMv4T架构,时钟速度和其他硬件配置信息,如S3C2440A芯片ID、数据和内存时钟频率。CPU运行在慢模式(1.500MHz),快速模式下有MPLL和UPLL开启。 6. **内存策略**:内存策略中提到ECC(错误校验码)是禁用的,数据缓存采用写回策略。 7. **中断处理**:文档还提到了中断处理,清除待处理的外部中断状态。 8. **系统资源**:系统分配了16256个页面的内存,并指定了命令行参数,如不使用initrd(初始RAM磁盘),根文件系统位于/dev/mtdblock2,初始化程序为/linuxrc,以及串口控制台设置为ttySAC0。 9. **进程表**:PID哈希表有256个条目,大小为1024字节,表示系统能够管理的进程数量。 10. **控制台设置**:最后,系统设置了颜色模拟终端设备,尺寸为80x30,并启用控制台输出到ttySAC0。 这些信息对于调试、优化或理解基于TQ2440平台的嵌入式系统启动流程至关重要,有助于开发者诊断问题或进行系统性能调优。