- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于SCA的嵌入式系统的UBoot移植
基于S3C2410A的嵌入式系统的U-Boot移植来源:现代电子技术 作者:丁小俊 中南民族大学2009年12月24日 17:080分享 QQ空间新浪微博腾讯微博人人网订阅[导读] 基于S3C2410A的嵌入式系统的U-Boot移植0 引 言 ARM嵌入式处理器已被广泛应用于消费电子产品、无线通信、网络通信和工业控制等领域。其中,ARM9的芯片关键词:嵌S3C2410A基于S3C2410A的嵌入式系统的U-Boot移植0 引 言ARM嵌入式处理器已被广泛应用于消费电子产品、无线通信、网络通信和工业控制等领域。其中,ARM9的芯片更是以其低价格、低功耗、高性能在手持设备中占据着重要市场。在嵌入式操作系统中,Linux,Vxworks,WinCE三足鼎立,其中Linux由于其开源性、稳定性、安全性、可裁减性更是一支独放。在嵌入式系统中,如何实现在ARM9平台下Linux操作系统的引导工作是嵌入式技术开发的重要环节。 1 嵌入式系统的软件组成1.1 系统的软件组成嵌入式的软件系统主要由Bootloader、操作系统、文件系统、应用程序等组成。其中,Bootloader是介于硬件和操作系统之间的一层,其作用就好像PC机中的BIOS。系统加电运行后,由系统自动加载。通过这段程序,可以初始化硬件设备,建立内存空间的映射图,从而将系统的硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好环境。对于一个嵌入式系统,通常BootLoader是依赖于硬件而实现的。对于不同类型的嵌入式芯片、不同的操作系统和外围接口都需要重新移植、修改和编译Bootloader。1.2 U-Boot分析嵌入式Linux系统中常用的Bootloader引导程序有U-Boot,redboot,blob和vivi等,其中U-Boot遵循GPL条款的开放源码项目,功能最为强大;U-Boot对PowerPC系列处理器支持最丰富,同时还支持MIPS,x86,ARM,Nios,XScale等诸多常用系列的处理器;U-Boot引导程序分为Stage 1和Stage 2两大部分,Stage 1中主要包括设备初始化、中断设置、时钟设置和存储器初始化等工作,并且采用汇编语言实现,而一些通用功能大多采用C语言实现,放在Stage 2中。2 U-Boot的启动分析Stage 1的代码在CPU/arm920t/start.s中定义,它包括从系统上电后在0址开始执行的部分。这部分代码系统启动后,从NAND FLASH自动加载到SDRAM中,它包括对S3C2410A中寄存器的初始化和将U-Boot的Stage 2代码从FLASH拷贝到SDRAM。Stage 2的起始地址是在Stage1代码中指定的。被复制到SDRAM后,就从第一阶段跳到这个入口地址,开始执行剩余部分代码。第二阶段主要是对内存的分配,对NAND FLASH以及对外围设备的初始化,其代码在lib-arm/board.C中。启动的流程分析如图1所示。(1)跳转到C语言程序之后,首先定义初始化函数表,程序在lib-arm/board.e中,如下所示:(2)初始化FLASH设备和显示FLASH设备信息;(3)初始化系统内存分配函数;(4)如果目标系统拥有NAND设备,则初始化NAND设备;(5)初始化显示设备;(6)初始化网络设备,填写IP地址、MAC地址等信息;(7)开启中断处理;(8)进入命令循环,接收用户从串口的命令输入。3 U-Boot的移植方法本文选用交叉编译环境arm-linux-gcc-2.95.3,选用U-Boot-1.1.4版本作为移植平台。为了使U-Boot支持新的开发板,一种简便的做法是在U-Boot已经支持的开发板中选择一种与目标板接近的,在其基础上进行修改。这里选用的是smdk2410的配置。3.1 修改cpu/arm920t/start.S文件Start.s是采用汇编语言编写的U-Boot程序入口代码,完成对底层硬件的初始化,其中有一个很重要的功能是从NAND FLASH中把Stage 2阶段的代码复制到SDRAM中。在此阶段,涉及到对NANDFLASH的读操作,在U-Boot中,没有对NANDFLASH读操作的驱动,采用以下方法实现:通过调用board/smdk2410/nand_read.C中的nand_read_11函数将Stage 2阶段的代码复制到ram中。3.2 修改board/smdk2410目录下文件(1)增加对NANDFLASH的读驱动nand_read.c(2)在smdk2410.C文件中添加对NANDFLASH初始化的程序在此主要是对主板的GPIO的一些设置,并加上对NANDFLASH初始化程序。 (3)在该目录下的Makefile文件中添加nand_read.C
您可能关注的文档
最近下载
- 义务教育英语课程标准(2025年版).pptx VIP
- 2023年江苏省宿迁市宿豫区小升初数学试卷.pdf VIP
- (2025年)(职业资格)初级养老护理员模拟考试题库(附答案).docx VIP
- 2025届高考语文复习:《到橘子林去》高考真题说题课件.pptx VIP
- 纪录片创作(第三版).ppt VIP
- 江苏省宿迁市宿豫区2023-2024学年重点中学小升初数学入学考试卷含解析.pdf VIP
- 人教版初中八年级数学下册《第二十章 数据的分析》大单元整体教学设计[2022课标].docx
- 脑电监测在全身麻醉镇静患者临床应用专家共识(2025年版).pptx
- 2025届全国各地高三模拟试题分类精编01集合与常用逻辑用语学生版.pdf VIP
- 2025年成都西川中学语文新初一分班试卷.pdf VIP
文档评论(0)