- 1、本文档共8页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《(很好的嵌入式linux启动过程分析》.doc
关于嵌入式Linux系统的启动(很好的嵌入式linux启动过程分析) 收藏
lw:虽然zImage的开头是head_armv.S的8个空循环,但是实际是先执行compressed/head.S进行解压操作。
=================================
#1 关于嵌入式系统的启动(SHARE FOR ALL)
嵌入式Linux启动分为两个部分,系统引导与Linux启动。系统引导将完成Linux装入内存前,初始化CPU和相关IO设备,并将Linux调入内存的工作。系统引导主要由BootLoader实现。在BootLoader将Linux内核调入内存之后,将权力交给LinuxKernel,进入Linux的启动部分。以下详细分析启动的过程与使用的文件。
一、系统引导与BootLoader
BootLoader因嵌入式系统的不同与PC机有很大不同,这里将以Hyper250(Inter Xscale GDPXA250)的启动为例来分析。由于没有BIOS驱动主板,EnbeddedOS必须由bootloader驱动所有的硬件,并完成硬件的初始化工作。
所有的初始化文件在hyper250/Bootloader目录下。
首先分析开机运行的分件:
hyper250/Bootloader/X-Hyper250R1.1-Boot/src/start_xscale.S
文件包含两个库文件:
hyper250/Bootloader/X-Hyper250R1.1-Boot/src/include/config.h
hyper250/Bootloader/X-Hyper250R1.1-Boot/src/include/start_xscale.h
文件config.h主要完成系统各硬件的宏定义与设定,xscale.h主要完成对系统芯片的及系统操作的设定。
以下分析config.h文件:
(1)存储总线设备的宏定义:定义Flash的大小、字长等信息,定义SRAM的基址、大小和块大小。
(2)动态内存设定:定义DRAM的大小、基址。
(3)软件包信息:包名称、版本号。
(4)设定BOOT LOADER的位置:在DRAM和SRAM的最大值、DRAM装入位置、栈的基址。
(5)设定kernel的位置:在DRAM和SRAM的基址、KERNEL的最大值、KERNEL中块的数量。
(6)设定文件系统的位置:根目录在DRAM和SRAM的基址、文件系统的最大值、文件系统中块的数量。
(7)设定LOADER程序:LOADER程序的静态内存基址、LOADER程序的最大值、块的数量。
(8)网络设定
以下分析start_xcalse.h文件:
(1)定义内存基址(A0000000)
(2)定义中断基址(40D00000)和中断保护栈的偏移量
(3)定义时钟管理基址和寄存器偏移及其初始值
(4)定义GPIO接口寄存器基址(40E00000)及各寄存器的偏移
(5)定义GPIO接口各寄存器的初始值
(6)定义内存控制寄存器基址和各寄存器的偏移
(7)定义内存控制寄存器的初始值
(8)定义电源管理寄存器的参数
(9)定义FFUART寄存器的基址和各寄存器的偏移
(10)定义FFUART各寄存器的初始值
以下分析start_xcalse.S文件:
(1)设定中断基址(40D00000),完成中断保护栈的初始化
(2)初始化GPIO接口
(3)初始化内存SDRAM
(4)将Bootloader从Flash拷贝到SDRAM中
(5)装入Linux内核镜像,将内核从Flash(000C 0000)装入SDRAM(A0008000)中.
(6)设定保护栈
(7)调用main.c的主函数c_main()
以上start_xcalse.S通过APCS的编程标准书写的汇编文件初始化了系统相关的硬件,并且完
您可能关注的文档
- 《!!!ModBus通讯协议》.pdf
- 《#OPC通信程序及设置》.ppt
- 《$三菱PLC_GX_Developer_Ver_8操作手册(ST篇)》.pdf
- 《$三菱PLC编程和仿真软件使用方法》.pdf
- 《%B8%8B载PC客户端(企业版)V1.1店员操作手册》.docx
- 《µCOS-II and the ARM Cortex-M3 Processors》.pdf
- 《(LG-630)螺杆压缩机安装与检修》.doc
- 《(OA)讲解方案》.ppt
- 《(OHSAS18000)职业安全卫生管理体系—知识介绍(PPT 66页)》.ppt
- 《(Un)Becoming a Teacher Negotiating Identities while Learning to Teach》.pdf
- 10《那一年,面包飘香》教案.docx
- 13 花钟 教学设计-2023-2024学年三年级下册语文统编版.docx
- 2024-2025学年中职学校心理健康教育与霸凌预防的设计.docx
- 2024-2025学年中职生反思与行动的反霸凌教学设计.docx
- 2023-2024学年人教版小学数学一年级上册5.docx
- 4.1.1 线段、射线、直线 教学设计 2024-2025学年北师大版七年级数学上册.docx
- 川教版(2024)三年级上册 2.2在线导航选路线 教案.docx
- Unit 8 Dolls (教学设计)-2024-2025学年译林版(三起)英语四年级上册.docx
- 高一上学期体育与健康人教版 “贪吃蛇”耐久跑 教案.docx
- 第1课时 亿以内数的认识(教学设计)-2024-2025学年四年级上册数学人教版.docx
文档评论(0)