基于ARM的通用bootloader的设计

本文探讨了基于ARM的通用引导加载程序(Bootloader)的设计思想和实现技术,强调了Bootloader在嵌入式系统中的重要性。通过硬件差异隔离、模块化和阶段化设计技术,实现了对多种ARM架构CPU的支持。此外,提出了利用Bootloader进行硬件测试的新方法,特别是对以太网卡的测试,提供了一种低成本、高效率的测试解决方案。
摘要由CSDN通过智能技术生成

基于ARM的通用bootloader的设计

摘要

在嵌入式系统当中,系统架构一般可分为三部分:引导加载程序、内核、应用程序。引导加载程序工作在系统的最底层,服务于内核启动,以及应用系统开发。因此,设计实现一个可靠的引导加载程序具有非常重要的意义。本文主要把目光集中在通用的引导加载程序的设计思想和实现技术。另外,基于对引导加载程序工作原理和系统启动流程的深入理解,笔者开发了一种不同于传统的,高效的,依赖引导加载软件的硬件测试技术。

关 键 字 Linux ARM 引导加载程序 U-Boot

1 引言

随着信息化进程的推进,嵌入式系统以软硬件的可剪裁性、体积的小型性、技术的集成性等特点广泛应用在信息终端、工业控制和信息家电等领域。采用ARM技术IP核的各种微处理器遍及各类产品市场。ARM技术以其较高的性能和功效,使其在嵌入式系统中得到广泛应用,世界上几乎所有的主要半导体厂商都生产基于ARM体系结构的通用芯片, 可以说,ARM技术无处不在。另外在嵌入式开发板上运行GNU/Linux已经变得越来越流行,ARM Linux的广泛应用使得围绕它的一些实现、应用和支持都成为热门的研究方向。一个标准的嵌入式系统模型可以分为三个部分:Bootloader、内核、应用程序;简单地说,Bootloader就是在操作系统内核运行前运行的一段小程序。通过这段小程序,初始化必要的硬件设备,创建内核需要的一些信息,从而将系统的软硬件环境带到一个合适的状态,最终调用操作系统内核,起到引导和加载内核的作用[1]。另外,在嵌入式系统的硬件测试工具方面,bootloader也是一个值得考虑的选择。传统硬件测试是基于JTAG仿真设备完成的,调试过程复杂,存在局限性。笔者认为只要在bootloader中适当开发部分外设驱动程序并提供部分内存指令,完全可以满足工程中对外部设备的调测需求,这种硬件测试方法独立于JTAG测试,实用性好,运用简洁,几乎无外部硬件限制,完全可以成一种新的硬件测试方法。

2 实现通用bootloader的可行性分析

引导加载程序是系统加电后运行的第一段代码。我们熟悉的PC中的引导程序由BIOS和位于MBROS BootloaderLILO或者GRUB)一起组成。然而在嵌入式系统中通常没有像

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值