CN109284135B - 一种简捷调用微控制器内部启动程序的方法 - Google Patents
一种简捷调用微控制器内部启动程序的方法 Download PDFInfo
- Publication number
- CN109284135B CN109284135B CN201811045726.1A CN201811045726A CN109284135B CN 109284135 B CN109284135 B CN 109284135B CN 201811045726 A CN201811045726 A CN 201811045726A CN 109284135 B CN109284135 B CN 109284135B
- Authority
- CN
- China
- Prior art keywords
- chip
- program
- circuit
- internal memory
- microcontroller
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4411—Configuring for operating with peripheral devices; Loading of device drivers
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供了一种简捷调用微控制器内部启动程序的方法,涉及工业控制、物联网、智能家居、智能穿戴设备等领域,包括以下步骤:S1:芯片上电复位;S2:电路自动载入芯片内部存储器初始地址;S3:电路判断读取的值是否为1;S4:判断数值为1时,电路调用预制启动程序;当判断数值不为1时,电路调用用户程序。电路可以只读取并判断芯片内部存储器的初始地址的值是否为全1来决定调用预置启动程序还是用户程序。使得使用过程中,不需要BOOT管脚也可以区分启动何种程序。
Description
技术领域
本发明涉及工业控制、物联网、智能家居、智能穿戴设备等领域,尤其涉及一种简捷调用微控制器内部启动程序的方法。
背景技术
微控制器芯片一般都需要支持一个特殊的启动模式,在这个启动模式下,芯片自动运行出厂时就被写人到芯片内部的启动程序,这个启动程序可以完成芯片下载发行用户程序的工作。为了使芯片在上电后能够区分运行用户程序还是这个预置的启动程序,需要在芯片设计的时候规划一个BOOT管脚,芯片上电后根据BOOT管脚不同的电压状态来觉得是调用启动程序还是用户程序。
用户如果需要调用微控制器芯片出厂预置的程序来下载发行用户程序,则用户的发行上位机除了需要提供下载程序所需的通信接口,还需要额外提供一个管脚来驱动芯片的BOOT管脚。
发明内容
本发明的目的在于提供一种简捷调用微控制器内部启动程序的方法,其具有能够不需要BOOT管脚也可以区分启动何种程序的特点。
一种简捷调用微控制器内部启动程序的方法,包括以下步骤:
S1:芯片上电复位;
S2:电路自动载入芯片内部存储器初始地址;
S3:电路判断读取的值是否为1;
S4:判断数值为1时,电路调用预制启动程序。
优选的,当判断数值不为1时,电路调用用户程序。
优选的,电路自动载入芯片内部存储器初始地址后,还会继续存储后续若干地址数据。
本发明与现有技术相比具有以下优点:
1、微控制器芯片的片内存储器在出厂时都要经过专门的测试程序,在出厂测试完成后片内存储器的所有位的初始值都为1。并且用户烧写程序时必须从内部存储器的起始地址开始烧写。在微控制器中设计一个启动方式判断电路,该电路在上电后自动读取芯片内部存储器的起始地址和后续若干给地址的值,然后判断这些地址的值是否为全1。如果为全1,则说明该芯片还没有被用户烧写过,芯片自动调用预置启动程序;如果不为全1,则说明该芯片已经被烧写过用户程序,芯片自动调用用户程序。
2、电路可以只读取并判断芯片内部存储器的初始地址的值是否为全1来决定调用用预置启动程序还是用户程序。同时,通过判断内部存储器的初始地址值的基础上再额外判断后续若干个地址的值是否为全1来使得芯片的稳定性得到有效地提高。
附图说明
图1是实施例1中的一种简捷调用微控制器内部启动程序的方法的流程示意图;
图2是实施例2中的一种简捷调用微控制器内部启动程序的方法的流程示意图。
具体实施方式
下面对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1:
一种简捷调用微控制器内部启动程序的方法,包括以下步骤:
S1:芯片上电复位;
S2:电路自动载入芯片内部存储器初始地址;
S3:电路判断读取的值是否为1;
S4:判断数值为1时,电路调用预制启动程序;当判断数值不为1时,电路调用用户程序。
本发明与现有技术相比具有以下优点:
微控制器芯片的片内存储器在出厂时都要经过专门的测试程序,在出厂测试完成后片内存储器的所有位的初始值都为1。并且用户烧写程序时必须从内部存储器的起始地址开始烧写。在微控制器中设计一个启动方式判断电路,该电路在上电后自动读取芯片内部存储器的起始地址,然后判断这些地址的值是否为全1。如果为全1,则说明该芯片还没有被用户烧写过,芯片自动调用预置启动程序;如果不为全1,则说明该芯片已经被烧写过用户程序,芯片自动调用用户程序。
实施例2:本实施例与实施例1基本相同,其不同之处在于:电路自动载入芯片内部存储器初始地址后,还会继续存储后续若干地址数据。这样,电路不仅可以读取并判断芯片内部存储器的初始地址的值是否为全1来决定调用预置启动程序还是用户程序。同时,还可以通过判断内部存储器的初始地址值的基础上再额外判断后续若干个地址的值是否为全1来使得芯片的稳定性得到有效地提高。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。
Claims (2)
1.一种简捷调用微控制器内部启动程序的方法,其特征在于:包括以下步骤:
S1:芯片上电复位;
S2:电路自动载入芯片内部存储器初始地址,并且在自动载入芯片内部存储器初始地址后,还继续存储后续若干地址数据;所述芯片内部存储器在出厂测试完成后所有位的初始值都为1,并且在接收烧写程序后,所述芯片内部存储器的初始地址的数值不全为1;
S3:电路判断内部存储器的初始地址值以及后续若干个地址的值是否为全1;
S4:判断数值为1时,电路调用预制启动程序。
2.根据权利要求1所述的一种简捷调用微控制器内部启动程序的方法,其特征在于:当判断数值不为1时,电路调用用户程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811045726.1A CN109284135B (zh) | 2018-09-07 | 2018-09-07 | 一种简捷调用微控制器内部启动程序的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811045726.1A CN109284135B (zh) | 2018-09-07 | 2018-09-07 | 一种简捷调用微控制器内部启动程序的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109284135A CN109284135A (zh) | 2019-01-29 |
CN109284135B true CN109284135B (zh) | 2022-02-01 |
Family
ID=65184410
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811045726.1A Active CN109284135B (zh) | 2018-09-07 | 2018-09-07 | 一种简捷调用微控制器内部启动程序的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109284135B (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1866207A (zh) * | 2005-05-18 | 2006-11-22 | 鸿富锦精密工业(深圳)有限公司 | 嵌入式系统出厂预设值初始设定程序的更新方法 |
CN101571807A (zh) * | 2008-04-28 | 2009-11-04 | 鸿富锦精密工业(深圳)有限公司 | 具有固件的系统及其启动方法 |
CN101763279A (zh) * | 2010-01-15 | 2010-06-30 | 上海维宏电子科技有限公司 | 一种BootLoader架构设计方法 |
CN101776986A (zh) * | 2010-02-03 | 2010-07-14 | 青岛海信移动通信技术股份有限公司 | 一种启动程序时等待信息的显示控制方法和移动终端 |
CN101950256A (zh) * | 2010-09-15 | 2011-01-19 | 中兴通讯股份有限公司 | 一种嵌入式系统及嵌入式系统重新启动的方法 |
CN102331958A (zh) * | 2011-11-02 | 2012-01-25 | 赵玉燕 | Linux系统下硬盘启动的方法 |
JP2012048596A (ja) * | 2010-08-30 | 2012-03-08 | Giga-Byte Technology Co Ltd | マルチブートマネージャーの方法 |
CN102708001A (zh) * | 2012-04-26 | 2012-10-03 | 深圳市九思泰达技术有限公司 | Linux嵌入式设备及其用户模式与工程模式切换的方法 |
CN103077056A (zh) * | 2012-12-31 | 2013-05-01 | 中国电子科技集团公司第十五研究所 | 使用少量ROM资源的Bootlorder实现方法 |
CN103257612A (zh) * | 2012-02-21 | 2013-08-21 | 京微雅格(北京)科技有限公司 | 一种灵活配置的fpga芯片及其配置方法 |
CN105391985A (zh) * | 2015-12-07 | 2016-03-09 | 哈尔滨工业大学深圳研究生院 | 一种基于嵌入式Linux的视频监控系统与方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7594135B2 (en) * | 2003-12-31 | 2009-09-22 | Sandisk Corporation | Flash memory system startup operation |
JP5622429B2 (ja) * | 2010-04-20 | 2014-11-12 | ルネサスエレクトロニクス株式会社 | マイクロコンピュータ |
-
2018
- 2018-09-07 CN CN201811045726.1A patent/CN109284135B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1866207A (zh) * | 2005-05-18 | 2006-11-22 | 鸿富锦精密工业(深圳)有限公司 | 嵌入式系统出厂预设值初始设定程序的更新方法 |
CN101571807A (zh) * | 2008-04-28 | 2009-11-04 | 鸿富锦精密工业(深圳)有限公司 | 具有固件的系统及其启动方法 |
CN101763279A (zh) * | 2010-01-15 | 2010-06-30 | 上海维宏电子科技有限公司 | 一种BootLoader架构设计方法 |
CN101776986A (zh) * | 2010-02-03 | 2010-07-14 | 青岛海信移动通信技术股份有限公司 | 一种启动程序时等待信息的显示控制方法和移动终端 |
JP2012048596A (ja) * | 2010-08-30 | 2012-03-08 | Giga-Byte Technology Co Ltd | マルチブートマネージャーの方法 |
CN101950256A (zh) * | 2010-09-15 | 2011-01-19 | 中兴通讯股份有限公司 | 一种嵌入式系统及嵌入式系统重新启动的方法 |
CN102331958A (zh) * | 2011-11-02 | 2012-01-25 | 赵玉燕 | Linux系统下硬盘启动的方法 |
CN103257612A (zh) * | 2012-02-21 | 2013-08-21 | 京微雅格(北京)科技有限公司 | 一种灵活配置的fpga芯片及其配置方法 |
CN102708001A (zh) * | 2012-04-26 | 2012-10-03 | 深圳市九思泰达技术有限公司 | Linux嵌入式设备及其用户模式与工程模式切换的方法 |
CN103077056A (zh) * | 2012-12-31 | 2013-05-01 | 中国电子科技集团公司第十五研究所 | 使用少量ROM资源的Bootlorder实现方法 |
CN105391985A (zh) * | 2015-12-07 | 2016-03-09 | 哈尔滨工业大学深圳研究生院 | 一种基于嵌入式Linux的视频监控系统与方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109284135A (zh) | 2019-01-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6260157B1 (en) | Patching of a read only memory | |
CN100367306C (zh) | 非易失性存储卡 | |
JP2682700B2 (ja) | Icカード | |
CN101561857B (zh) | 多模式启动的安全嵌入式系统 | |
CN107577472B (zh) | 软件安装方法、装置及计算机可读存储介质 | |
CN101488106A (zh) | 具有至少两个bios存储器的系统 | |
US9542113B2 (en) | Apparatuses for securing program code stored in a non-volatile memory | |
CN108647140A (zh) | 一种移动终端的测试方法及测试系统 | |
CN109284135B (zh) | 一种简捷调用微控制器内部启动程序的方法 | |
CN108345430A (zh) | 一种Nand flash元件及其运行控制方法和装置 | |
CN109710292B (zh) | 移动终端刷机控制处理方法、移动终端及存储介质 | |
CN110958602A (zh) | 一种蓝牙设备的固件兼容方法及装置 | |
US20070174680A1 (en) | Method for patching built-in code in read only memory | |
CN111381582A (zh) | 一种联动规则测试方法及装置 | |
CN104111845A (zh) | 处理装置与系统程序变更方法 | |
CN107172610B (zh) | Gsm网络自适配方法、装置及电子设备 | |
CN108037944B (zh) | Eprom自动重烧方法 | |
CN102411915A (zh) | 一种防止lcd自动识别失效的方法 | |
CN114115888A (zh) | 一种基于BootRom功能扩展的嵌入式系统启动方法 | |
CN105022647B (zh) | 一种应用安装的控制方法及终端 | |
JP2001109629A (ja) | Cpuのブート制御装置及びブート制御方法 | |
CN106293620A (zh) | intel平台检测Flash Rom中参数的方法 | |
CN109814888A (zh) | NandFlash控制器EFUSE代替方法及装置 | |
CN110609770A (zh) | 一种基于单片机的Flash脱机调参系统及方法 | |
CN112685053A (zh) | 单片机程序远程升级控制方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |