没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
凌 FL2440超详细 U-BOOT 作业(UBoot 介绍+H-jtag 使用+Uboot
使用)
Bootloader 是高端嵌入式系统开发不可或缺的部分。它是在操作系统内核启动之前
运行的一段小程序。通过这段小程序,我们可以初始化硬件设备、建立内存空间的映射图,
从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好正确的
环境。现在主流的 bootloader 有 U-BOOT、vivi、Eboot 等。
本次作业先做 Uboot 的烧写吧。希望通过这个帖子,能让更多的初学者朋友了解一
些 UBoot 的知识,也希望高手朋友对我的不足予以斧正。
首先说一下什么是 Uboot:
U-Boot,全称 Universal Boot Loader,是遵循 GPL 条款的开放源码项目。从 FAD
SROM、8xxROM、PPCBOOT 逐步发展演化而来。其源码目录、编译形式与Linux 内核很
相似,事实上,不少 U-Boot 源码就是相应的 Linux 内核源程序的简化,尤其是一些设备的
驱动程序,这从 U-Boot 源码的注释中能体现这一点。但是 U-Boot 不仅仅支持嵌入式 Linu
x 系统的引导,当前,它还支持 NetBSD, VxWorks, QNX, RTEMS, ARTOS, LynxOS 嵌
入式操作系统。其目前要支持的目标操作系统是 OpenBSD, NetBSD, FreeBSD,4.4BSD,
Linux, SVR4, Esix, Solaris, Irix, SCO, Dell, NCR, VxWorks, LynxOS, pSOS, QNX,
RTEMS, ARTOS。这是 U-Boot 中 Universal 的一层含义,另外一层含义则是 U-Boot 除了
支持 PowerPC 系列的处理器外,还能支持 MIPS、 x86、ARM、NIOS、XScale 等诸多常
用系列的处理器。这两个特点正是 U-Boot 项目的开发目标,即支持尽可能多的嵌入式处理
器和嵌入式操作系统。就目前来看,U-Boot 对 PowerPC 系列处理器支持最为丰富,对 Li
nux 的支持最完善。其它系列的处理器和操作系统基本是在2002年11 月 PPCBOOT 改名为
U-Boot 后逐步扩充的。从 PPCBOOT 向 U-Boot 的顺利过渡,很大程度上归功于 U-Boot
的维护人德国 DENX 软件工程中心 Wolfgang Denk[以下简称 W.D]本人精湛专业水平和持
着不懈的努力。当前,U-Boot 项目正在他的领军之下,众多有志于开放源码BOOT LOAD
ER 移植工作的嵌入式开发人员正如火如荼地将各个不同系列嵌入式处理器的移植工作不断
展开和深入,以支持更多的嵌入式操作系统的装载与引导。
选择 U-Boot 的理由:
① 开放源码;
② 支持多种嵌入式操作系统内核,如 Linux、NetBSD, VxWorks, QNX, RTEMS, AR
TOS, LynxOS;
③ 支持多个处理器系列,如 PowerPC、ARM、x86、MIPS、XScale;
④ 较高的可靠性和稳定性;
④ 较高的可靠性和稳定性;
⑤ 高度灵活的功能设置,适合 U-Boot 调试、操作系统不同引导要求、产品发布等;
⑥ 丰富的设备驱动源码,如串口、以太网、SDRAM、FLASH、LCD、NVRAM、EEP
ROM、RTC、键盘等;
⑦ 较为丰富的开发调试文档与强大的网络技术支持;
2 U-Boot 主要目录结构
* board 目标板相关文件,主要包含 SDRAM、FLASH 驱动;
* common 独立于处理器体系结构的通用代码,如内存大小探测与故障检测;
* cpu 与处理器相关的文件。如 mpc8xx 子目录下含串口、网口、LCD 驱动及中断初
始化等文件;
* driver 通用设备驱动,如 CFI FLASH 驱动(目前对 INTEL FLASH 支持较好)
* doc U-Boot 的说明文档;
* examples 可在 U-Boot 下运行的示例程序;如 hello_world.c,timer.c;
* include U-Boot 头文件;尤其 configs 子目录下与目标板相关的配置头文件是移植过
程中经常要修改的文件;
* lib_xxx 处理器体系相关的文件,如 lib_ppc, lib_arm 目录分别包含与 PowerPC、A
RM 体系结构相关的文件;
* net 与网络功能相关的文件目录,如 bootp,nfs,tftp;
* post 上电自检文件目录。尚有待于进一步完善;
* rtc RTC 驱动程序;
* tools 用于创建 U-Boot S-RECORD 和 BIN 镜像文件的工具;
3 U-Boot 支持的主要功能
U-Boot 可支持的主要功能列表
* 系统引导 支持 NFS 挂载、RAMDISK(压缩或非压缩)形式的根文件系统
* 支持 NFS 挂载、从 FLASH 中引导压缩或非压缩系统内核;
* 基本辅助功能 强大的操作系统接口功能;可灵活设置、传递多个关键参数给操作系
统,适合系统在不同开发阶段的调试要求与产品发布,尤
* Linux 支持最为强劲;
* 支持目标板环境参数多种存储方式,如 FLASH、NVRAM、EEPROM;
* CRC32校验,可校验 FLASH 中内核、RAMDISK 镜像文件是否完好;
* 设备驱动 串口、SDRAM、FLASH、以太网、LCD、NVRAM、EEPROM、键盘、U
SB、PCMCIA、PCI、RTC 等驱动支持;
* 上电自检功能 SDRAM、FLASH 大小自动检测;SDRAM 故障检测;CPU 型号;
* 特殊功能 XIP 内核引导;
好,基础知识了解了,就可以进行 Uboot 下载了。
主机环境:虚拟机 V6.5/ redhat9.0
移植平台:飞凌 ARM9 FL2440开发板
Uboot 版本:1.3.4
交叉编译器:arm-linux-gcc-3.3.2
烧录工具: H-JTAG
1:烧写 uboot.bin
a:开发板链接好串口线,以及 jtag 线。打开 h-jtag 软件,检测 cpu:
图1
剩余17页未读,继续阅读
资源评论
春哥111
- 粉丝: 1w+
- 资源: 6万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 晟煜新能源&欧标交流充电枪,火爆产品
- 技术资料分享NRF24l01模块说明书很好的技术资料.zip
- source insight 自动格式工具 astyle
- 技术资料分享NRF24L01功能使用文档很好的技术资料.zip
- 例4-3 head.h
- Python期末大作业-基于循环神经网络LSTM模型的股票数据预测分析源码+报告
- 技术资料分享nRF24L01P(新版无线模块控制IC)很好的技术资料.zip
- 技术资料分享Nintendo Entertainment System Documentation Version 1.0很好的技术资料.zip
- 技术资料分享NES Specifications很好的技术资料.zip
- 技术资料分享MultiMediaCard Product Manual很好的技术资料.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功