ARM的嵌入式Bbob综合体育官方入口ootloader实现自动
  • 时间:2022-06-13
  • 点击率:

0简介

本文引用地址:http://www.eepw.com.cn/article/171639.htm

ARM微处理器作为一种高性能、低成本、低功耗的32位嵌入式RISC微处理器,已经成为应用最广泛的嵌入式微处理器。基于ARM- uClinux的嵌入式系统开发,相对于基于简单RTOS甚至不使用任何操作系统的嵌入式程序设计,采用成熟、高效、可靠、模块化、易于配置的操作系统,使得程序具有可移植性,赢得了众多嵌入式开发者的青睐[1]。嵌入式系统由硬件和软件组成,软件主要包括Bootloader、内核和文件系统。然而,由于Bootloader与处理器架构和特定嵌入式板设备的配置密切相关,因此到目前为止还没有可以直接应用于各种嵌入式系统的通用Bootloader,因此Bootloader成为运行嵌入式Linux系统的设计中的关键问题。

一般在嵌入式系统中,首先通过专用的编程设备将Bootloader烧录到目标板的Flash中,然后在Bootloader中通过串口和网络下载内核镜像文件和文件系统镜像文件并烧录到Flash中。如果需要升级内核或者文件系统,按照上面的方法重写新的内核,Romfs直接覆盖原来的内核和Romfs。这种方法,一方面目标板必须通过串口或网线与主机连接,现场升级比较麻烦;另一方面,通过串口或网络刻录图像文件非常慢。本文分析了Bootloader的结构和主要任务,并根据实际项目开发中使用的Sigma Designs公司的EM8624L芯片(ARM7TDMI处理器+uClinux)对Bootloader的功能进行了扩展,使其可以通过CF存储卡或硬盘自动升级内核或文件系统的镜像文件。对于需要频繁升级内核和Romfs的嵌入式系统,克服了传统升级方式的局限性,简化了升级方式,提高了升级速度。

1 ARM-uClinux嵌入式系统硬件平台

EM8624L是Sigma Designs公司的一款ARM7TDMI内核的高性能嵌入式芯片,主要用于多媒体播放,尤其是高清源播放。该芯片的特点是:主频166MHz和200MHz(可选),无存储单元(MMU),16KB数据缓存和16KB指令缓存,8KB SRAM,2KB ISP和2KB DSP。外围总线接口支持SDRAM、静态存储器和Flash,有以太网(Ethemet10/100)、USB2.0接口、两个UART接口等。

15.jpg

2引导装载程序分析

Bootloader是在操作系统内核运行之前运行的程序。通过这个程序,您可以初始化硬件设备,建立内存空之间的映射,并为最终调用操作系统内核准备正确的环境。

2.1引导程序结构和工作流程

大多数引导程序包含两种不同的操作模式[2]:

1)引导加载模式。即Bootloader将操作系统从目标机上的固态存储设备加载到RAM中,整个过程没有用户干预。

2)下载模式:在这种模式下,目标机的Bootloader会通过串口或网络连接等通信手段从主机下载内核镜像和根文件系统镜像,然后将内核镜像和根文件系统镜像保存到目标机上的Flash固态存储设备中。这种模式的引导程序通常在系统首次安装和更新时使用。

大多数基于ARM的芯片都是复杂的片上系统(SoC ),这种复杂系统中的大多数硬件模块都是可配置的,所以大多数Bootloader都分为两部分:stage0和stage1。依赖于CPU架构的代码通常放在阶段0。在这一部分中,我们直接对处理器内核和硬件控制器进行编程,因此它们通常用汇编语言来实现。Stage1通常用C/C++语言实现,可以实现更复杂的功能,使代码更具可读性和可移植性。

所以Bootloader中stage0的主要任务是:屏蔽所有中断,初始化相关GPIO(通用IO),初始化SDRAM,将Bootloader和内核复制到SDRAM中,关闭数据缓存,跳转到Stage1执行等。本实验在Bootloader中进入stage0的代码如下://@ em8624l有内存在REG _ BASE _ CPU www.51kaifa.com ldrr 1,=(REG _ BASE _ CPU+STAGE0 _ CRYPTO _ STACK _ SIZE)mov sp,R1//@调用加密stage 0入口函数ldrr1,=(stage 0 _ CRYPTO _ IMAGE _ START)@ new pcmov lr,pcmov pc,r1uart _ putc # & rsquox & rsquor10、r11 Stage1的主要任务如下:初始化定时器、初始化网络、初始化Flash、加载内核镜像和文件系统镜像、初始化命令控制台等。进入stage1的汇编代码如下:adrr0,load _ addr//@ getstage1入口点ldr9,[r0,# 0x0c] 3本实验的基本原理。

16.jpg


客服QQ: 点击这里
地址:台州市寨金路899号电子时代广场5116室 客服QQ:329435596
Copyright © 2022 bob综合体育官方入口 版权所有

08980-89895656

服务时间:7X10小时