CN103019977A - 嵌入式***应用设备实现版本自动识别的方法及启动方法 - Google Patents
嵌入式***应用设备实现版本自动识别的方法及启动方法 Download PDFInfo
- Publication number
- CN103019977A CN103019977A CN2012105250930A CN201210525093A CN103019977A CN 103019977 A CN103019977 A CN 103019977A CN 2012105250930 A CN2012105250930 A CN 2012105250930A CN 201210525093 A CN201210525093 A CN 201210525093A CN 103019977 A CN103019977 A CN 103019977A
- Authority
- CN
- China
- Prior art keywords
- version
- gpio
- software
- embedded system
- application device
- 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.)
- Pending
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本发明涉及一种嵌入式***应用设备实现版本自动识别的方法及启动方法,属于嵌入式***技术领域。嵌入式设备处理器芯片具有多个版本控制GPIO引脚,各版本控制GPIO引脚均根据应用设备的软硬件版本设定有默认值,在版本自动识别方法中,嵌入式***通过读取各版本控制GPIO引脚的默认值计算获得版本控制组合值,进而确定所述的嵌入式***应用设备的软硬件版本,从而简化了现有的纯软件版本区分方法,提高了版本信息的便利性和可维护性,而利用本发明的启动方法,能在***运行前提供版本信息,实现区别化的启动初始化。且本发明的嵌入式***应用设备实现版本自动识别的方法及启动方法的实现方式简便,实现成本低廉,应用范围也较为广泛。
Description
技术领域
本发明涉及嵌入式***技术领域,特别涉及嵌入式***版本识别技术领域,具体是指一种嵌入式***应用设备实现版本自动识别的方法及启动方法。
背景技术
在高速发展的信息化社会,每天都有新技术和新产品被发明推出,各种各样的嵌入式设备被部署到各个领域。在研发新产品的过程中,有很多时候是在同时研发多款类似的产品,而且用的是同一套代码,为此,需要在众多相同的基础上区分版本的不同。现有技术中存在多种通过软件实现***版本区分的方法,但通过纯软件的实现增加了代码的复杂性,降低了代码的可读性和可维护性,另外,在软件运行前的***也无法根据版本的不同进行不同的***初始化操作。因此,在嵌入式***技术领域,亟需一种简单可行的方法以克服现有技术中的上述缺陷。
发明内容
本发明的目的是克服了上述现有技术中的缺点,提供一种通过预先设置GPIO引脚默认值,使嵌入式***能够通过读取GPIO引脚默认值获得相应的版本信息,从而简化了现有的纯软件版本区分方法,提高了版本信息读取的便利性和可维护性,同时,能够在***运行前提供版本信息,实现区别化的***初始化,且实现方式简便,实现成本低廉,应用范围也较为广泛的嵌入式***应用设备实现版本自动识别的方法及启动方法。
为了实现上述的目的,运行所述的嵌入式***的嵌入式设备具有处理器芯片,所述的处理器芯片具有多个GPIO引脚,其特征在于,所述的多个GPIO引脚中的数个引脚为版本控制GPIO引脚,所述的各版本控制GPIO引脚均根据嵌入式***应用设备的软硬件版本设定有默认值,本发明的嵌入式***应用设备中实现软硬件版本自动识别的方法包括以下步骤:
(1)所述的嵌入式***读取所述的各版本控制GPIO引脚的默认值;
(2)所述的嵌入式***根据所述的各版本控制GPIO引脚的默认值计算获得版本控制组合值;
(3)所述的嵌入式***根据所述的版本控制组合值确定所述的嵌入式***应用设备的软硬件版本。
该嵌入式***应用设备中实现软硬件版本自动识别的方法中,所述的各版本控制GPIO引脚均为所述的嵌入式***应用设备,除实现该自动识别软硬件版本的方法以外,运行过程中不使用的空余GPIO引脚。
该嵌入式***应用设备中实现软硬件版本自动识别的方法中,所述的版本控制GPIO引脚的数量为4个。
该嵌入式***应用设备中实现软硬件版本自动识别的方法中,所述的嵌入式***根据所述的各版本控制GPIO引脚的默认值计算获得版本控制组合值,具体为:所述的嵌入式***运行版本宏或版本函数,根据以下公式确定版本控制组合值val:
val=gpio1|(gpio2<<8)|(gpio3<<16)|(gpio4<<24)
其中,gpio1、gpio2、gpio3、gpio4分别为所述的4个版本控制GPIO引脚的默认值。
本发明还提供一种基于所述的方法实现嵌入式***应用设备启动控制的方法,该启动控制的方法包括以下步骤:
(A)所述的嵌入式***根据权利要求1所述的方法获得嵌入式***应用设备的软硬件版本;
(B)所述的嵌入式***根据所述的嵌入式***应用设备的软硬件版本进行初始化操作;
(C)所述的嵌入式设备启动。
采用了该发明的嵌入式***应用设备实现版本自动识别的方法及启动方法,由于嵌入式***的嵌入式设备处理器芯片的多个GPIO引脚中,有数个引脚为版本控制GPIO引脚,各版本控制GPIO引脚均根据嵌入式***应用设备的软硬件版本设定有默认值,则在版本自动识别方法中,嵌入式***可以通过读取各版本控制GPIO引脚的默认值计算获得版本控制组合值,进而根据所述的版本控制组合值确定所述的嵌入式***应用设备的软硬件版本,从而简化了现有的纯软件版本区分方法,提高了版本信息读取的便利性和可维护性,同时,利用本发明的启动方法,能够在***运行前提供版本信息,实现区别化的***启动初始化。且本发明的嵌入式***应用设备实现版本自动识别的方法及启动方法的实现方式简便,实现成本低廉,应用范围也较为广泛。
附图说明
图1为本发明的嵌入式***应用设备中实现软硬件版本自动识别的方法的步骤流程图。
图2为本发明的嵌入式***应用设备启动控制的方法在实际应用中的流程示意图。
具体实施方式
为了能够更清楚地理解本发明的技术内容,特举以下实施例详细说明。
请参阅图1所示,为本发明的嵌入式***应用设备中实现软硬件版本自动识别的方法的步骤流程图。
在一种实施方式中,运行所述的嵌入式***的嵌入式设备具有处理器芯片,所述的处理器芯片具有多个GPIO引脚,其特征在于,所述的多个GPIO引脚中的数个引脚为版本控制GPIO引脚,所述的各版本控制GPIO引脚均根据嵌入式***应用设备的软硬件版本设定有默认值。所述的嵌入式***应用设备中实现软硬件版本自动识别的方法包括以下步骤:
(1)所述的嵌入式***读取所述的各版本控制GPIO引脚的默认值;
(2)所述的嵌入式***根据所述的各版本控制GPIO引脚的默认值计算获得版本控制组合值;
(3)所述的嵌入式***根据所述的版本控制组合值确定所述的嵌入式***应用设备的软硬件版本。
在一种较优选的实施方式中,所述的各版本控制GPIO引脚均为所述的嵌入式***应用设备,除实现该自动识别软硬件版本的方法以外,运行过程中不使用的空余GPIO引脚。
在进一步优选的实施方式中,所述的版本控制GPIO引脚的数量为4个,步骤(2)所述的嵌入式***根据所述的各版本控制GPIO引脚的默认值计算获得版本控制组合值,具体为:
所述的嵌入式***运行版本宏或版本函数,根据以下公式确定版本控制组合值val:
val=gpio1|(gpio2<<8)|(gpio3<<16)|(gpio4<<24)
其中,gpio1、gpio2、gpio3、gpio4分别为所述的4个版本控制GPIO引脚的默认值。
本发明还提供一种基于所述的软硬件版本自动识别的方法实现嵌入式***应用设备启动控制的方法。在一种实施方式中,所述的启动控制的方法包括以下步骤:
(A)所述的嵌入式***根据权利要求1所述的方法获得嵌入式***应用设备的软硬件版本;
(B)所述的嵌入式***根据所述的嵌入式***应用设备的软硬件版本进行初始化操作;
(C)所述的嵌入式设备启动。
在实际应用中,本发明的方法是通过硬件前期规划设计来实现的。将固定剩余的几个GPIO根据不同的***版本设置为不同的默认值。在***启动过程中,软件根据这几个GPIO的默认值计算出***版本;再根据不同的版本,做相应不同的硬件初始化和功能初始化等等操作。软件只需要增加一个函数,实现计算GPIO组合值。在需要区分***版本的地方直接调用。这样可以避免通过软件实现区分版本的复杂性,也有效提高了代码的可读性和可维护性。
其具体可以采取如图2所示的步骤流程实现。
1.项目前期,硬件规划好可用的空余的GPIO,称之为版本控制GPIO。
2.根据不同软硬件版本,设置规划好的版本控制GPIO的默认值各不相同。
3.根据不同的默认值计算出GPIO的组合值,根据不同组合值可用来区分不同的软硬件版本。
4.软件中实现一个宏或函数,用来计算版本控制GPIO的组合值。计算方法如:
val=gpio1|(gpio2<<8)|(gpio3<<16)|(gpio4<<24)
得出组合值val。
5.***启动或运行过程中可以根据方式4提供的宏或函数,得出是具体某个软硬件版本,不同的版本进行不同的一些初始化或其他特殊操作。
在调试一个系列的芯片或同类多款产品时,为了管理维护代码方便,通常使用同一套代码;并通过软件在代码中增加控制区别版本的方法,这样增加了代码的复杂性,可读性和可维护性;而且有些时候在软件区别版本功能初始化之前就需要区分版本,这时现有技术中软件区别版本的功能就失效了。本发明的方法在硬件前期设计阶段,就规划好如何使用GPIO,每个项目固定提供几个GPIO PIN脚,并设置这几个GPIO的默认值为高或低;不同的***版本,GPIO的组合值不一样,例如:提供4个GPIO,我们可以设置4个GPIO的默认值分别为1001、1010、0011等等;在软件中,实现一个函数专门负责计算控制版本的GPIO的组合值,在***启动过程或运行中,可以通过调用该函数得到GPIO的组合值并判断***是哪个版本,根据版本的不同,做相应不同的工作。从而去掉复杂的软件维护***版本的方法,降低代码的复杂性,增强代码可读性和可靠性,方便开发人员。
采用了该发明的嵌入式***应用设备实现版本自动识别的方法及启动方法,由于嵌入式***的嵌入式设备处理器芯片的多个GPIO引脚中,有数个引脚为版本控制GPIO引脚,各版本控制GPIO引脚均根据嵌入式***应用设备的软硬件版本设定有默认值,则在版本自动识别方法中,嵌入式***可以通过读取各版本控制GPIO引脚的默认值计算获得版本控制组合值,进而根据所述的版本控制组合值确定所述的嵌入式***应用设备的软硬件版本,从而简化了现有的纯软件版本区分方法,提高了版本信息读取的便利性和可维护性,同时,利用本发明的启动方法,能够在***运行前提供版本信息,实现区别化的***启动初始化。且本发明的嵌入式***应用设备实现版本自动识别的方法及启动方法的实现方式简便,实现成本低廉,应用范围也较为广泛。
在此说明书中,本发明已参照其特定的实施例作了描述。但是,很显然仍可以作出各种修改和变换而不背离本发明的精神和范围。因此,说明书和附图应被认为是说明性的而非限制性的。
Claims (5)
1.一种嵌入式***应用设备中实现软硬件版本自动识别的方法,运行所述的嵌入式***的嵌入式设备具有处理器芯片,所述的处理器芯片具有多个GPIO引脚,其特征在于,所述的多个GPIO引脚中的数个引脚为版本控制GPIO引脚,所述的各版本控制GPIO引脚均根据嵌入式***应用设备的软硬件版本设定有默认值,所述的方法包括以下步骤:
(1)所述的嵌入式***读取所述的各版本控制GPIO引脚的默认值;
(2)所述的嵌入式***根据所述的各版本控制GPIO引脚的默认值计算获得版本控制组合值;
(3)所述的嵌入式***根据所述的版本控制组合值确定所述的嵌入式***应用设备的软硬件版本。
2.根据权利要求1所述的嵌入式***应用设备中实现软硬件版本自动识别的方法,其特征在于,所述的各版本控制GPIO引脚均为所述的嵌入式***应用设备,除实现该自动识别软硬件版本的方法以外,运行过程中不使用的空余GPIO引脚。
3.根据权利要求2所述的嵌入式***应用设备中实现软硬件版本自动识别的方法,其特征在于,所述的版本控制GPIO引脚的数量为4个。
4.根据权利要求3所述的嵌入式***应用设备中实现软硬件版本自动识别的方法,其特征在于,所述的嵌入式***根据所述的各版本控制GPIO引脚的默认值计算获得版本控制组合值,具体为:
所述的嵌入式***运行版本宏或版本函数,根据以下公式确定版本控制组合值val:
val=gpio1|(gpio2<<8)|(gpio3<<16)|(gpio4<<24)
其中,gpio1、gpio2、gpio3、gpio4分别为所述的4个版本控制GPIO引脚的默认值。
5.一种基于权利要求1所述的方法实现嵌入式***应用设备启动控制的方法,其特征在于,所述的启动控制的方法包括以下步骤:
(A)所述的嵌入式***根据权利要求1所述的方法获得嵌入式***应用设备的软硬件版本;
(B)所述的嵌入式***根据所述的嵌入式***应用设备的软硬件版本进行初始化操作;
(C)所述的嵌入式设备启动。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012105250930A CN103019977A (zh) | 2012-12-07 | 2012-12-07 | 嵌入式***应用设备实现版本自动识别的方法及启动方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012105250930A CN103019977A (zh) | 2012-12-07 | 2012-12-07 | 嵌入式***应用设备实现版本自动识别的方法及启动方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103019977A true CN103019977A (zh) | 2013-04-03 |
Family
ID=47968601
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2012105250930A Pending CN103019977A (zh) | 2012-12-07 | 2012-12-07 | 嵌入式***应用设备实现版本自动识别的方法及启动方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103019977A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105744083A (zh) * | 2016-04-29 | 2016-07-06 | 努比亚技术有限公司 | 移动终端指纹自适应方法及装置 |
CN107632843A (zh) * | 2017-09-26 | 2018-01-26 | 郑州云海信息技术有限公司 | 一种基于cpld_fpga的版本显示***和方法 |
CN109681305A (zh) * | 2018-12-27 | 2019-04-26 | 凯龙高科技股份有限公司 | 一种scr***自动识别控制器类型的方法 |
CN109697087A (zh) * | 2017-10-20 | 2019-04-30 | 莲花丝路科技有限公司 | 一种用于pos***实现应用设备软硬件版本的识别方法 |
CN111641419A (zh) * | 2020-04-29 | 2020-09-08 | 厦门紫光展锐科技有限公司 | 终端的射频功率放大器的版本识别方法、控制方法及*** |
CN111782276A (zh) * | 2019-04-04 | 2020-10-16 | 福州瑞芯微电子股份有限公司 | 一种自动识别硬件版本的方法及终端 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070244934A1 (en) * | 2006-03-30 | 2007-10-18 | Inventec Corporation | Labeling system and method |
CN102033770A (zh) * | 2010-12-17 | 2011-04-27 | 中兴通讯股份有限公司 | 移动终端的触摸屏固件升级方法及装置 |
CN102654857A (zh) * | 2011-03-04 | 2012-09-05 | 希姆通信息技术(上海)有限公司 | 采用gpio接口模拟spi协议的通信方法 |
-
2012
- 2012-12-07 CN CN2012105250930A patent/CN103019977A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070244934A1 (en) * | 2006-03-30 | 2007-10-18 | Inventec Corporation | Labeling system and method |
CN102033770A (zh) * | 2010-12-17 | 2011-04-27 | 中兴通讯股份有限公司 | 移动终端的触摸屏固件升级方法及装置 |
CN102654857A (zh) * | 2011-03-04 | 2012-09-05 | 希姆通信息技术(上海)有限公司 | 采用gpio接口模拟spi协议的通信方法 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105744083A (zh) * | 2016-04-29 | 2016-07-06 | 努比亚技术有限公司 | 移动终端指纹自适应方法及装置 |
CN107632843A (zh) * | 2017-09-26 | 2018-01-26 | 郑州云海信息技术有限公司 | 一种基于cpld_fpga的版本显示***和方法 |
CN109697087A (zh) * | 2017-10-20 | 2019-04-30 | 莲花丝路科技有限公司 | 一种用于pos***实现应用设备软硬件版本的识别方法 |
CN109681305A (zh) * | 2018-12-27 | 2019-04-26 | 凯龙高科技股份有限公司 | 一种scr***自动识别控制器类型的方法 |
CN111782276A (zh) * | 2019-04-04 | 2020-10-16 | 福州瑞芯微电子股份有限公司 | 一种自动识别硬件版本的方法及终端 |
CN111641419A (zh) * | 2020-04-29 | 2020-09-08 | 厦门紫光展锐科技有限公司 | 终端的射频功率放大器的版本识别方法、控制方法及*** |
CN111641419B (zh) * | 2020-04-29 | 2022-02-11 | 厦门紫光展锐科技有限公司 | 终端的射频功率放大器的版本识别方法、控制方法及*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103019977A (zh) | 嵌入式***应用设备实现版本自动识别的方法及启动方法 | |
TWI256587B (en) | Firmware upgrading method and system executing same | |
CN105378689B (zh) | 用于统一可扩展固件接口(uefi)驱动器和协议的方法和装置 | |
CN106484464B (zh) | 调谐器芯片驱动方法和电子设备 | |
EP1486909A3 (en) | Smart card including a jtag test controller | |
CN104246702A (zh) | 工作流编译 | |
WO2006026857A8 (en) | Testing systems and methods for a resource constrained device | |
CN106021301B (zh) | 一种不同文件格式的数据比对***及方法 | |
CN105335264A (zh) | 一种基于uefi的计算机pcie转接卡功能测试方法 | |
CN104813307A (zh) | 数据处理装置、数据处理方法和程序 | |
CN102087604A (zh) | 可获取硬件配置信息的计算机及其方法 | |
CN103064812A (zh) | 一种移动设备与计算机快速连接的方法和装置 | |
CN103970569A (zh) | 一种服务器bios的离线升级方法 | |
CN104156198A (zh) | 一种自动生成软件集成版本更新说明方法及装置 | |
CN104881311A (zh) | 一种版本兼容的判断方法及装置 | |
CN103246594A (zh) | 一种基于Linux内核的用户态网卡自动探测方法 | |
CN102629231B (zh) | 一种检测任务堆栈的方法 | |
CN105487971A (zh) | 一种软件测试中操作步骤记录和复现的方法及*** | |
CN106919501A (zh) | 基于缺陷模式的静态分析方法和工具 | |
CN109918338B (zh) | 安全芯片操作***测试装置 | |
CN103440146A (zh) | 一种基于云存储的更新bios的方法 | |
WO2016095091A1 (en) | Instrumentation of graphics instructions | |
CN104142833A (zh) | 封装测试生产线的设备动态管理方法 | |
CN103914304B (zh) | 一种基于sap平台的不同结构类型参数转换方法 | |
CN103150251A (zh) | 一种智能获取自动化测试对象的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20130403 |