- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
UBoot在基于ADSPBF的嵌入式Linux系統上的移植
U-Boot在基于ADSP BF533的嵌入式Linux系统上的移植
1 引言
???? ? Boot Loader(内核引导程序)是在操作系统内核运行之前运行的一段自举程序,用于初始化硬件设备、改变处理器运行模式、重组中断向量和建立内存空间映射图,从而将系统的软硬件带到一个合适的状态或者用户定制的特定状态,以便为最终加载操作系统内核准备好正确的环境[1]。
?????? 嵌入式Linux系统常用的Boot Loader有arm-boot、redboot、U-Boot等。U-Boot (全称Universal Boot Loader)是当前比较流行的遵循GPL条件的开放源码项目。U-Boot具有源码公开的特点,开发人员可根据自身需要进行裁减;支持多种处理器和嵌入式操作系统内核;具有多种设备驱动源码:支持种引导方式;具有功能强大且成熟、稳定等诸多优点,故在嵌入式系统开发过程中广泛采用。U-Boot严重依赖于底层硬件,不同的CPU或嵌入式板极设备需要不同的U-Boot,因此,在嵌入式系统中建立通用的U-Boot是非常困难的,故U-Boot需针对开发板量身定做。
????? 2 开发平台
????? 2.1 BF533简介
????? Blackfin系列DSP是ADI公司与Intel联合开发推出的第一款高性能、低功耗第四代定点DSP产品,融合了Analog Devices/Intel公司的微信号结构(MSA)。它将一个32位RISC型指令集和双16位乘法累加(MAC)信号处理功能与通用型微控制器所具有的易用性组合在一起。这种组合使Blackfin处理器能够在信号处理和控制处理应用中发挥最佳的性能。且Blackfin处理器通过将工业标准接口与高性能的信号处理内核相结合在一起,用户可以快速设计出节省成本的解决方案,而且无需昂贵的外部组件。
????? 本开发系统采用BF533,BF533是主频高达600 MHz、峰值处理能力为1.2 GMI/s的高性能Blackfin处理器。BF533内核包含2个16位MAC、2个40位ALU、4个8位视频ALU以及1个40位移位器。另外,BF533还包括1个UART口、1个SPI口、2个串行口(SPORT)、4个通用定时器(其中3个具有PWM功能)、1个实时时钟、看门狗定时器以及1个并行外设接口。外部存储器控制器可与SDRAM、SRAM、Flash和ROM实现无缝连接[2]。
????? 2.2 系统硬件平台简介
????? 本系统的开发板硬件系统如图1所示。
????? 目标板以Blackfin嵌入式处理器为核心,数据地址线复用到SDRAM、Flash、USB、Ethernet,并通过FPGA实现逻辑控制。此外,将UART端口转换为RS232端口引出。其中SDRAM的地址为00Flash的地址为00
????? 宿主机采用Window和Suse10.0双操作系统,采用串行接口和以太网连接宿主机和目标板,程序先在宿主机上编译,然后下载至目标板上运行,目标板的终端被重定向到串行接口,由宿主机输出。
????? 2.3 开发环境的建立
????? 2.3.1 在宿主机上设置终端
????? 大部分嵌入式系统在宿主机大多都采用kermit或minaicom实现与目标板的通信,本系统采用inicom。minicom是Linux下一个类似于Windows超级终端的友好串口通信程序。在终端输入bash#minicom-s进入minicom设置画面,设置串口波特率、有效数据位、停止位以及奇偶校验位分别为57 600、8 bit、1位停止位以及无奇偶校验位等。
????? 2.3.2安装交叉编译器
????? 交叉编译是在一个架构下编译另外一个架构的目标文件。要从http://网站上下载Blackfin ToolChain,然后安装并修改环境变量PATH,使其包含ToolChain的安装目录。
????? 3 U-Boot启动两阶段
????? U-Boot代码一般分为stage1和stage2两大部分。stage1依赖于cpu体系结构如设备初始化代码,常用汇编语言编写以达到短小精悍,提高系统运行效率的目的。它主要包括cpu/bf533目录下的start.s。stage2一般采用C语言编写实现复杂功能,这样代码则具有更好的可读性和可移植性,主要包括lib blackfin/board.c文件和common/main.c文件中main_loop函数。
????? stagel从cpu入口函数cpu/bf533/start.s开始,通常包含以下步骤:
????? (1)基本硬件的初始化,为随后执行kernel准备好基本的硬件环境。包括:屏蔽
您可能关注的文档
最近下载
- 多层住宅小区工程监理规划.docx VIP
- NY_T 3213-2023 植保无人驾驶航空器 质量评价技术规范.docx VIP
- 盘扣式悬挑脚手架施工方案施工计划.doc VIP
- 部编版小学一年级语文上册表格式教案全册.doc VIP
- 电线电缆抗张强度检测结果的测量不确定度评定.doc VIP
- (正式版)H-G-T 22820-2024 化工安全仪表系统工程设计规范.docx VIP
- 绘本故事PPT课件之我好害怕.pptx
- 广东省惠州市博罗县泰美镇城镇总体规划项目建议书.doc VIP
- 虚拟仪器及LabVIEW知到智慧树期末考试答案题库2025年山东科技大学.docx VIP
- 2025年全国Ⅰ卷英语听力评析和听力材料二次开发(课件).pptx
文档评论(0)