基于MH1902的bootloader研究与实现

 2022-07-28 09:43:08

论文总字数:19941字

摘 要

Bootloader是与芯片的硬件系统紧密关联的一段小程序,在嵌入式系统开发的过程中十分重要。它在硬件系统与操作系统之间建立了联系,方便进行后续的系统软件开发工作。对于嵌入式系统而言,Bootloader是基于特定硬件平台来实现的,另外,Bootloader还与嵌入式系统板级的设备配置相关。

本文深入研究了Bootloader的基本原理,分析了Bootloader的结构和主要任务,在学习了解MH1902芯片结构后,实现了基于MH1902芯片的Bootloader。本文研究设计的Bootloader可以完成接收用户程序并应用IAP技术将其编程到内存的指定地址处,在编程完毕后,可以跳转到用户程序运行。

本文设计的Bootloader实现了硬件初始化、串口通信、Flash擦写、Bootloader跳转到APP程序等基本功能,具有体积小、速度快、稳定性好等特点,具有良好的应用价值。

关键词:Bootloader,IAP,MH1902

Abstract

The bootloader is a small program closely associated with the hardware system of the chip and is very important in the development of the embedded system. It establishes a connection between the hardware system and the operating system to facilitate subsequent system software development. For embedded systems, Bootloader is based on a specific hardware platform. In addition, the bootloader is also related to the device configuration of the embedded system board level.

This paper has studied the basic principle of Bootloader in depth, and has analyzed the structure and main task of Bootloader, which realized Bootloader based on MH1902 chip after learning about the structure of MH1902 chip. The bootloader studied in this paper can complete the receiving user program and use IAP technology to program it to the specified address of the memory. After programming, it can jump to the user program to run

The bootloader designed in this paper realizes the basic functions such as hardware initialization, serial communication, flash erase, and the jump from Bootloader to APP program. It has the characteristics of small size, high speed, good stability and good application value.

KEY WORDS: Bootloader, MH1902, IAP

目 录

摘要 I

Abstract II

第一章 绪论 1

1.1 研究背景与意义 1

1.2 研究工作与设计要求 1

1.3 论文结构 1

第二章 Bootloader相关 3

2.1 Bootloader概念 3

2.1.1 Bootloader的操作模式 3

2.1.2 Bootloader的功能和结构 3

2.1.3 Bootloader的扩展 4

2.2 IAP技术 4

2.3 IAP下的Bootloader分析 5

2.4 UART串口 7

2.4.1 FIFO 7

2.4.2 DMA 7

2.5 本章小结 8

第三章 Bootloader的设计与实现 9

3.1 开发环境介绍 9

3.1.1 硬件平台 9

3.1.2 软件开发平台 11

3.2 Bootloader的设计思路 11

3.2.1 地址分配 12

3.2.2 流程设计 13

3.3 Bootloader的具体实现 13

3.3.1 启动文件分析 13

3.3.2 主函数分析 14

3.4 代码组织结构 15

3.5 APP程序设计 15

3.6 本章小结 16

第四章 验证与结果分析 17

4.1 操作流程 17

4.2 实验结果 20

4.3 本章小结 21

第五章 总结与展望 22

5.1 总结 22

5.2 展望 22

致 谢 23

参考文献 24

附录A 25

附录B 27

绪论

研究背景与意义

随着电子技术与信息技术的高速发展,各种嵌入式产品的性能更加优良,被人们使用的频率也越来越高。嵌入式系统是指以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统[1]。与巨型机、服务器和PC等通用计算平台不同,嵌入式系统是为特定应用设计的专用计算机系统,嵌入式应用往往更加强调系统的高性能、低成本、低功耗以及实时性、可靠性等设计因素。

提到嵌入式系统,自然离不开ARM。ARM全称为Advanced RISC Machine,ARM公司是全球领先的半导体知识产权提供商,它并不涉及芯片生产的工作,而是靠转让设计许可由与之合作的公司来生产自主设计的芯片进行销售。ARM体系结构具有高效能、低成本的特点,目前被公认为是业界领先的32位嵌入式RISC微处理器结构,截止至2015年,全球超过95%的智能手机和平板电脑都在采用ARM架构[2]。在ARM不断设计推出新型的微处理器的同时,ARM体系结构也在更新换代,由过去的ARMv4T发展到了v5TE、v5TEJ、v6、v7、v8。但是,如何加载操作系统、在硬件与软件之间建立连接,使芯片成功上电启动完成工作,对此,工程师们提出了Bootloader的概念。

Bootloader类似PC中的BIOS,它可以完成对芯片硬件以及内存的初始化工作,从而将芯片的软硬件系统引导至一个恰当的环境中,为最后的调用内核的工作做好预备工作。但由于各种嵌入式系统的硬件设备不可能是一模一样的,而嵌入式系统需要硬件和软件的配合才能正常工作,因此,研究实现对于特定芯片的Bootloader很有必要。

研究工作与设计要求

学习MH1902开发平台的硬件结构和原理,深入研究Bootloader原理与实现过程,并构建一个稳定、简易、灵活的Bootloader是本课题的主要工作。本文研究基于MH1902的Bootloader的设计与实现,主要用于引导开发板来加载应用程序运行,主要工作如下:

  1. 学习ARMv7-M体系结构及其功能,掌握基本的汇编语言及c语言编程。
  2. 研究Bootloader工作的基本原理,分析其启动过程,总结Bootloader的基本框架。
  3. 以STM32的IAP实验为学习模板,学习IAP技术的基本原理,掌握IAP的基本流程,进一步加深对Bootloader设计的理解。
  4. 掌握Keil的开发和调试方法,学习GPIO配置、UART通信、Flash擦写等相关函数编写,实现基于MH1902的Bootloader的设计。
  5. 编写用户程序,通过实现的Bootloader将其编译到芯片上并能够成功跳转运行。

最后设计的Bootloader须满足安全、稳定、简易、灵活的技术要求,其实际使用效果需经过实验验证。

论文结构

本文共分六个章节进行叙述,文章具体结构安排如下:

剩余内容已隐藏,请支付后下载全文,论文总字数:19941字

您需要先支付 80元 才能查看全部内容!立即支付

该课题毕业论文、开题报告、外文翻译、程序设计、图纸设计等资料可联系客服协助查找;