ARM9嵌入式Linux开发-基于S3C2440的Linux启动概述

本文详细介绍了基于S3C2440的ARM9嵌入式Linux启动过程,从内核入口、处理器和机器类型判断,到页表创建、MMU启用,再到start_kernel的调用。文章涵盖了架构/开发板相关的引导过程,包括CPU寄存器设置、中断管理、页表初始化和控制台设置,以及后续的通用启动步骤,如Linux版本输出、参数解析和控制台初始化等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

架构/开发板相关的引导过程

我们要将Linux内核移植到S3C2440(arm9)平台上,和移植U-Boot一样,在移植Linux内核之前,我们先了解Linux内核的启动过程,我们这里以S3C2440平台为例。     

典型的内核映像是zImage,包含自引导程序和压缩的vmlinux两部分。启动过程也就是解压和启动vmlinux的过程。我们主要讲解vmlinux的启动过程。对于其他格式的内核,比如zImage、bzImage等,它们都要进行自解压得到vmlinux,然后执行vmlinux的启动过程。  

在前面的文章中,我们介绍了ARM架构处理器上vmlinux的编译连接过程。在这一篇文章中,我们讲解它的启动过程。vmlinux内核的启动过程分为两部分:架构/开发板相关的引导过程和通用的启动过程。

引导阶段通常使用汇编语言编写,它首先检查内核是否支持当前架构的处理器,然后检查是否支持当前开发板。由于连接内核

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值