跳转到主要内容

单片机的引导装载程序是什么?你为什么需要它?

引导装载程序在单片机是什么
引导装载程序在单片机

在过去的几年中,vip亚博 已经成为我们日常生活的重要组成部分。你可能不会注意到它,但它是在底层和做一些简约的任务来改善我们的日常生活。从一个简单的像我们的8位芯片控制设备聪明的灯泡和烤面包机功能强大的32位数字信号处理器(DSP)在我们的电视和机顶盒,它丰富了我们的数字媒体和娱乐。不仅没有微控制器亚博真人,我们的生活就会更有趣,但它肯定会失去控制,我们享受。随着需求增加小microcontroller-based产品的开发,这就是为什么数十亿,不是数以百万计的微控制器单元,每年销售。

现在的问题是,当数十亿microcontroller-based产品生产和销售,以及固件升级成为最优先考虑的是什么呢?每一个销售单位需要返回到制造商每次需要固件升级?显而易见的答案是绝对不会!这是最重要的一个原因microcontroller-based系统附带引导装载程序在船上。所以引导装载程序是什么?

一个引导装载程序是一个应用程序的主要目标是升级/修改吗系统软件没有专门的固件升级工具的干预。引导装载器可以有许多功能,但它主要是用来管理应用程序。他们还可以使用不同的协议等UART,可以,I2C,i2,以太网,或USB建立沟通和初始固件升级。一个很好的例子的引导装载程序Arduino电路板配置为flash应用程序软件的接口的闪存芯片。

了解引导装载程序系统

引导装载程序系统

引导装载器可以有许多可以区分大小和什么类型的任务执行,但总的来说,操作的引导装载程序相对标准。有三个重要的部分在任何引导装载程序:分支代码,在启动时,它决定是否执行引导装载程序代码或者是应用程序代码。这是通过检查GPIO销在启动;然而,这些方法使用的制造商和开发商。在一个更复杂的系统中,引导装载程序加载的内存随着应用程序代码,然后检查初始参数和系统的完整性。一旦完成,它会回到执行应用程序代码。这就是为什么许多引导装载器包含分支的代码。

即使应用程序运行,它是如此设计,它可以请求固件升级后,它负责必要的系统清理;一旦完成,它soft-resets芯片把已知值监管机构注册。此外,该应用程序将所有必需的指令分支代码把设备放在引导装载程序模式。

现在,当引导装载程序加载到内存中,它开始初始化基本指令和外围设备准备固件升级。外围设备通常是系统时钟,中断沟通渠道,调度器。这些允许外界的引导装载程序接受指令,启动升级过程;一旦完成,它soft-resets芯片,当它再次启动,它的正常操作模式。

内存编程

让我们总结文章,获得一些知识内存结构和它的编程。要做到这一点,我们需要的一个例子AVR单片机,但在此之前,让我们清除一些具体条款,你可能不知道。每一种类型的单片机有一个用于存储非易失性内存的程序。被称为最常用的内存闪存它分解成不同的小区域。的最小的部分过程被称为页面。页面组合和内存结构称为部门。部门排列形成更大的结构被称为。每一个单片机不同如何操纵这些块。但大多数微控制器将亚博真人允许您编写一个字节。

在AVR的引导装载程序:

AVR附带一个内存分为两个部分,一个应用程序,一个引导装载程序部分。应用程序部分包含特定于应用程序的代码,并引导装载程序部分可以包含不同的各种各样的引导装载器。AVR的,这部分可以通过设置配置保险丝。我们可以设置所需的引导装载程序空间需求或将它用于应用程序代码。下面的流程图将给你关于数据从一个更好的主意UART是写进内存AVR的

引导装载程序在AVR

上面的流程图显示当一个会发生什么AVR的进入引导装载程序。首先,它擦除记忆和获得新的页面内容的页面UART,然后它填充页面缓冲区。写后,等待更多的页面UART;如果一个新页面可用,这个过程开始再一次;如果没有,计划进入读写网(读,写)节和完成操作。这是一个非常简单的版本的引导装载程序操作。如果你想了解更多关于这个话题,你可以参考自编程序微芯片技术指导。

相关的职位


加入20 k +用户

我们永远不会垃圾邮件你。

*指示要求

我们越来越多的社区的一部分。