CN109284135A - 一种简捷调用微控制器内部启动程序的方法 - Google Patents
一种简捷调用微控制器内部启动程序的方法 Download PDFInfo
- Publication number
- CN109284135A CN109284135A CN201811045726.1A CN201811045726A CN109284135A CN 109284135 A CN109284135 A CN 109284135A CN 201811045726 A CN201811045726 A CN 201811045726A CN 109284135 A CN109284135 A CN 109284135A
- Authority
- CN
- China
- Prior art keywords
- program
- circuit
- chip
- startup program
- calling
- 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.)
- Granted
Links
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 (3)
1.一种简捷调用微控制器内部启动程序的方法,其特征在于:包括以下步骤:
S1:芯片上电复位;
S2:电路自动载入芯片内部存储器初始地址;
S3:电路判断读取的值是否为1;
S4:判断数值为1时,电路调用预制启动程序。
2.根据权利要求1所述的一种简捷调用微控制器内部启动程序的方法,其特征在于:当判断数值不为1时,电路调用用户程序。
3.根据权利要求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 true CN109284135A (zh) | 2019-01-29 |
CN109284135B 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 (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050160217A1 (en) * | 2003-12-31 | 2005-07-21 | Gonzalez Carlos J. | Flash memory system startup operation |
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的视频监控***与方法 |
US20160314068A1 (en) * | 2010-04-20 | 2016-10-27 | Renesas Electronics Corporation | Microcomputer having processor capable of changing endian based on endian information in memory |
-
2018
- 2018-09-07 CN CN201811045726.1A patent/CN109284135B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050160217A1 (en) * | 2003-12-31 | 2005-07-21 | Gonzalez Carlos J. | Flash memory system startup operation |
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 | 青岛海信移动通信技术股份有限公司 | 一种启动程序时等待信息的显示控制方法和移动终端 |
US20160314068A1 (en) * | 2010-04-20 | 2016-10-27 | Renesas Electronics Corporation | Microcomputer having processor capable of changing endian based on endian information in memory |
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 |
---|---|
CN109284135B (zh) | 2022-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6493770B1 (en) | System for reconfiguring a peripheral device by downloading information from a host and electronically simulating a physical disconnection and reconnection to reconfigure the device | |
CN102200916B (zh) | 电子设备、可配置的部件及该部件的配置信息存储方法 | |
CN108898230B (zh) | 一种设备管理方法及管理服务器 | |
TW201541353A (zh) | 載入驅動程式的方法及嵌入式設備 | |
CN107408090A (zh) | 输入/输出控制器访问通道的动态配置 | |
CN108647140B (zh) | 一种移动终端的测试方法及测试*** | |
US12008171B2 (en) | Program download method for intelligent terminal with memory card identifier and intelligent terminal with memory card identifier | |
CN106528123A (zh) | 一种基于eFuse模块的SoC启动方法和装置 | |
CN109168088A (zh) | 一种智能电视***的启动方法、装置及智能电视 | |
CN101685402A (zh) | 一种计算机bios配置方法 | |
CN109002331A (zh) | 触摸屏的启动方法、装置、计算机设备和存储介质 | |
CN106339616A (zh) | 计算机的启动方法及装置 | |
CN103294578B (zh) | 取得触发功能的指令的方法 | |
CN109284135A (zh) | 一种简捷调用微控制器内部启动程序的方法 | |
CN103164245A (zh) | 应用显示特定语言的方法和终端 | |
CN109117406B (zh) | 一种pcie热拔插测试方法、装置、终端及存储介质 | |
CN108829443B (zh) | 一种终端设备配置数据的设计方法、加载方法及其应用 | |
CN104111845A (zh) | 处理装置与***程序变更方法 | |
CN108170568B (zh) | 智能设备的出厂测试方法、装置和刷机包生成方法、装置 | |
CN101789265A (zh) | 一种对PowerPC***FLASH快速编程的方法 | |
CN207946737U (zh) | 主板、主板组件与电子设备 | |
CN109688578A (zh) | 一种sim卡与移动终端设备适配的方法及设备 | |
CN108170486A (zh) | 一种emmc启动运行方法和装置 | |
CN110442387A (zh) | 一种车载***的参数自适应方法、装置及汽车 | |
CN109558083A (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 |