- 2
- 0
- 约1.45万字
- 约 18页
- 2017-12-04 发布于江西
- 举报
U-Boot 在ARM开发板上的移植以及代码分析
U-Boot 在44B0X 开发板上的移植以及代码分析
1. u-boot 介绍?????? u-boot 是一个open source 的bootloader,目前版本是1.1.2。u-boot 是在ppcboot 以及armboot 的基础上发展而来,相当的成熟和稳定,已经在许多嵌入式系统开发过程中被采用。由于其开发源代码,其支持的开发板众多。?????? 为什么我们需要u-boot?显然可以将uClinux 直接烧入flash,从而不需要额外的引导装载程序(bootloader)。但是从软件升级的角度以及程序修补的来说,软件的自动更新非常重要。事实上,引导装载程序(bootloader)的用途不仅如此,但仅从软件的自动更新的需要就说明我们的开发是必要的。同时,u-boot 移植的过程也是一个对嵌入式系统包括软硬件以及操作系统加深理解的一个过程。2. u-boot 移植的框架移植u-boot 到新的开发板上仅需要修改和硬件相关的部分。在代码结构上:1) 在board 目录下创建gold44b 目录,创建gold44b.c 以及flash.c,memsetup.S,u-boot.lds等。不需要从零开始,可选择一个相似的目录,直接复制过来,修改文件名以及内容。我在移植u-boot 过程中,选择的是Dave/B2目录。由于u-boot 已经包含基于s3c24b0 的开发板目录,作为参考,也可以复制相应的目录。2) 在cpu 目录下创建s3c44b0x 目录,主要包含start.S,interrupts.c 以及cpu.c,serial.c几个文件。同样不需要从零开始建立文件,直接从arm720t 复制,然后修改相应内容。3) 在include/configs 目录下添加gold44b.h,在这里放上全局的宏定义等。4) 找到u-boot 根目录下Makefile 修改加入gold44b_config : unconfig@./mkconfig $(@:_config=) arm s3c44b0 gold44b5) 运行make ev44bii_config,如果没有错误就可以开始硬件相关代码移植的工作3. u-boot 的体系结构1) 总体结构u-boot 是一个层次式结构。做移植工作的软件人员应当提供串口驱动(UART Driver),以太网驱动(Ethernet Driver),Flash 驱动(Flash 驱动),USB 驱动(USB Driver)。目前,通过USB 口下载程序显得不是十分必要,而且开发板上也没有USB接口,所以暂时没有移植USB 驱动。驱动层之上是u-boot 的应用,command 通过串口提供人机界面。我们可以使用一些命令做一些常用的工作,比如内存查看命令md。Kermit 应用主要用来支持使用串口通过超级终端下载应用程序。TFTP 则是通过网络方式来下载应用程序,例如uClinux 操作系统。2) 内存分布gold44b 的flash 大小2M(8bits),现在将0-40000 共256k 作为u-boot 的存储空间。由于u-boot 中有一些环境变量,例如ip 地址,引导文件名等,可在命令行通过setenv 配置好,通过saveenv 保存在40000-50000(共64k)这段空间里。如果存在保存好的环境变量,u-boot 引导将直接使用这些环境变量。正如从代码分析中可以看到,我们会把flash 引导代码搬移到DRAM 中运行。u-boot 的代码在DRAM中的位置在u-boot-1.1.2/board/gold44b/config.mk配置如下:TEXT_BASE = 0x0C700000。这样,引导代码u-boot将从0x0000 0000 处搬移到0x0C700000 处。特别注意的由于gold44b uClinux 中断向量程序地址在0x0c000 0000 处,所以不能将程序下载到0x0c000 0000 出,通常下载到0x0c008 0000 处。4. start.S 代码结构1) 定义入口一个可执行的Image 必须有一个入口点并且只能有一个唯一的全局入口,通常这个入口放在Rom(flash)的0x0 地址。例如start.S 中的.globl _start_start:值得注意的是你必须告诉编译器知道这个入口,这个工作主要是修改连接器脚本文件(lds)。开发板上的u-boot.lds如下:OUTPUT_FORMAT(elf32-littlearm, elf32-littlearm, elf32-littlearm)OUTPUT_ARCH(arm)ENTRY(_start)SECTIONS{. = 0x00
您可能关注的文档
- soildworks工程图绘制教程.ppt
- SPC统计技术培训教材.ppt
- SPC教材-福特.ppt
- spc统计过剩管制.ppt
- SponsoredReviews:付费评论让你的博客赚钱.doc
- Spring AOP课件.ppt
- Spring IoC课件.ppt
- Spring串讲.doc
- SPSS论文中部消费收入关系分析.doc
- Sp技巧运用销售培训.ppt
- 2025-2026学年天津市和平区高三(上)期末数学试卷(含解析).pdf
- 2025-2026学年云南省楚雄州高三(上)期末数学试卷(含答案).pdf
- 2025-2026学年甘肃省天水市张家川实验中学高三(上)期末数学试卷(含答案).docx
- 2025-2026学年福建省厦门市松柏中学高二(上)期末数学试卷(含答案).docx
- 2025-2026学年广西钦州市高一(上)期末物理试卷(含答案).docx
- 2025-2026学年河北省邯郸市临漳县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省石家庄二十三中七年级(上)期末历史试卷(含答案).docx
- 2025-2026学年海南省五指山市九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省唐山市玉田县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省邢台市市区九年级(上)期末化学试卷(含答案).docx
最近下载
- 2020四川既有及小区改造房屋建筑维修与加固工程说明及计算规则.pdf VIP
- 稀土永磁行业深度报告:供需向好看涨稀土,机器人催生新机遇.docx
- Inspur浪潮存储平台 AS5300G5&AS5500G5 产品白皮书 V2.0说明书用户手册.pdf
- 河北省高考物理一轮复习万有引力定律5.2 万有引力定律课件 .ppt VIP
- 牡丹切花品种筛选及采后技术研究.pdf VIP
- 复方口服避孕药临床应用专家共识(2025).pptx VIP
- 《心血管护理过程质控工具包(试用版)》2024.8.pdf VIP
- 中国徒步定向运动竞赛规则-讲解.pdf VIP
- 毕业设计(论文)-落叶清扫机设计.docx
- PICC进修汇报PPT课件.pptx VIP
原创力文档

文档评论(0)