CN106681755A - 产品id配置方法以及嵌入式设备的程序加载方法 - Google Patents
产品id配置方法以及嵌入式设备的程序加载方法 Download PDFInfo
- Publication number
- CN106681755A CN106681755A CN201611009434.3A CN201611009434A CN106681755A CN 106681755 A CN106681755 A CN 106681755A CN 201611009434 A CN201611009434 A CN 201611009434A CN 106681755 A CN106681755 A CN 106681755A
- Authority
- CN
- China
- Prior art keywords
- product
- embedded device
- configuration file
- local storage
- disk
- 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/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- 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/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明提出一种产品ID配置方法以及相对应的嵌入式设备的程序加载方法。所述产品ID配置方法适用于嵌入式设备的产品ID配置且包括步骤:(i)将***启动盘连接至嵌入式设备,其中所述***启动盘上存储有***镜像文件和产品配置文件;(ii)所述嵌入式设备上电从所述***启动盘启动后利用引导程序至少将所述***启动盘中的所述***镜像文件复制到所述嵌入式设备的本地存储器;以及(iii)所述嵌入式设备从所述本地存储器重启后利用启动的驱动程序自动读取所述产品配置文件中的产品ID并将所述产品ID写入***注册表。因此,本发明可以降低嵌入式设备例如LED异步控制卡的***开发复杂度,降低产品硬件成本和/或增加产品的稳定性。
Description
技术领域
本发明涉及产品ID信息配置技术领域,尤其涉及一种产品ID配置方法以及一种嵌入式设备的程序加载方法。
背景技术
当前,在LED异步控制***行业,存在与其他电子产品类似的产品ID(工业设计中产品硬件的唯一标识)配置管理方法以及***版本信息配置管理方法;其要么是把产品ID及相关的初始化配置存储在本地SPIFlash(也即SPI接口闪存)固化并在***启动后再从SPI Flash中读取相应的信息,要么就是直接在产品生产时将***的配置信息及产品ID编译进***的内核注册表项中。
其中,利用本地SPI Flash存储固化产品ID的方式无疑会增加硬件成本;而将产品ID编译进***的内核注册表项中的方式主要是操作***根据***编译前设置不同的环境变量来进行不同的产品ID编译标识,然而其针对不同产品在相同开发环境下同时开发时会存在由于环境变量不同,则***编译工程不同,因而导致开发交叉编译BSP(Board SupportPackage,板级支持包)的情况,这样会带来开发编译的时间增加、开发的复杂性增加以及产品交叉编译的风险增加等问题。
发明内容
因此,本发明为克服现有技术中的不足和缺陷,提供一种产品ID配置方法以及一种嵌入式设备的程序加载方法。
具体地,本发明实施例提出的一种产品ID配置方法,适用于嵌入式设备的产品ID配置,其包括步骤:(i)将***启动盘连接至嵌入式设备,其中所述***启动盘上存储有***镜像文件和产品配置文件;(ii)所述嵌入式设备上电从所述***启动盘启动后利用引导程序至少将所述***启动盘中的所述***镜像文件复制到所述嵌入式设备的本地存储器;以及(iii)所述嵌入式设备从所述本地存储器重启后利用启动的驱动程序自动读取所述产品配置文件中的产品ID并将所述产品ID写入***注册表。
在本发明的一个实施例中,所述嵌入式设备为LED异步控制卡,其包括嵌入式处理器和电连接所述嵌入式处理器的可编程逻辑器件及所述本地存储器。
在本发明的一个实施例中,步骤(ii)包括利用引导程序将所述***启动盘中的所述产品配置文件复制到所述嵌入式设备的本地存储器;步骤(iii)包括利用启动的驱动程序自动从所述本地存储器读取所述产品配置文件中的产品ID。
在本发明的一个实施例中,所述产品配置文件还包括***版本信息和硬件版本信息。
此外,本发明实施例提出的一种嵌入式设备的程序加载方法,其中所述嵌入式设备包括嵌入式处理器和电连接所述嵌入式处理器的本地存储器和可编程逻辑器件;所述程序加载方法包括步骤:(a)所述嵌入式处理器上电后从***启动盘启动并利用引导程序至少将所述***启动盘中的***镜像文件复制到所述本地存储器,其中所述***启动盘包括所述***镜像文件和产品配置文件;(b)所述嵌入式处理器从所述本地存储器重启后利用启动的驱动程序自动读取所述产品配置文件中的产品ID并将所述产品ID写入***注册表;以及(c)所述嵌入式处理器运行在操作***上的应用软件从所述***注册表中读取产品ID、根据从所述***注册表中读取的产品ID从所述本地存储器中查找出相对应的程序并将所述查找出的程序加载至所述可编程逻辑器件以实现相对应的产品功能。
在本发明的一个实施例中,步骤(a)包括利用引导程序将所述***启动盘中的所述产品配置文件复制到所述嵌入式设备的本地存储器;步骤(b)包括利用启动的驱动程序自动从所述本地存储器读取所述产品配置文件中的产品ID。
在本发明的一个实施例中,步骤(b)包括利用启动的驱动程序自动从所述***启动盘读取所述产品配置文件中的产品ID。
在本发明的一个实施例中,所述嵌入式设备为LED异步控制卡,所述嵌入式处理器为ARM处理器,且所述可编程逻辑器件为FPGA。
在本发明的一个实施例中,所述***启动盘为SD卡,插接至所述嵌入式设备的SD卡插槽。
在本发明的一个实施例中,所述产品配置文件还包括***版本信息和硬件版本信息。
由上可知,本发明实施例可以达成以下一个或多个有益效果:1)降低嵌入式设备例如LED异步控制卡的***开发复杂度;2)降低产品硬件成本;以及3)增加产品的稳定性。
通过以下参考附图的详细说明,本发明的其它方面和特征变得明显。但是应当知道,该附图仅仅为解释的目的设计,而不是作为本发明的范围的限定。还应当知道,除非另外指出,不必要依比例绘制附图,它们仅仅力图概念地说明此处描述的结构和流程。
附图说明
下面将结合附图,对本发明的具体实施方式进行详细的说明。
图1为本发明实施例提出的一种产品ID配置方法相关的硬件应用架构示意图。
图2为本发明实施例提出的产品ID配置方法的具体实施步骤流程图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明的具体实施方式做详细的说明。
本发明下述实施例是基于嵌入式设备(例如LED异步控制卡)的嵌入式操作***例如WinCE操作***进行设计的一种产品ID配置方法。
如图1所示,其为本发明实施例提出的一种产品ID配置方法相关的硬件应用架构示意图。本发明实施例主要是利用生产流程环节将产品ID按照事先定义好的内容写入到产品配置文件中,在嵌入式设备产品出厂之前通过程序烧写固化时利用驱动程序将产品配置文件中的产品配置信息(包括产品ID)写入到***注册表中。然后,运行在操作***上的应用软件在启动以后通过***注册表信息读取相应的产品ID值,根据不同的产品ID值进行不同产品的可编程逻辑器件(例如FPGA)程序加载等功能以实现不同产品的功能。在图1中,嵌入式设备包括嵌入式处理器例如ARM处理器和电连接嵌入式处理器的可编程逻辑器件例如FPGA及本地存储器例如Flash;SD卡***启动盘例如可以***嵌入式设备的SD卡插槽中。
如图2所示,其为本发明实施例提出的产品ID配置方法的具体实施步骤流程图。具体地,事先将编译好的***镜像文件以及产品配置文件等相关文件放置在SD卡***启动盘(当然也可以是其它外接的非易失性存储器而并不限于SD卡),将该SD卡***启动盘连接至嵌入式设备例如LED异步控制卡,然后给***上电启动,***启动时会启动引导程序将SD卡中的***镜像文件甚至产品配置文件复制至嵌入式设备的本地存储器(此处,产品配置文件可以复制到本地存储器,也可以不复制到本地存储器),然后***从本地存储器(例如本地闪存)重新启动,等待真正的内核烧写完成并驱动程序及***完全启动以后,***相应的驱动程序会自动从本地存储器或SD卡上的产品配置文件中读取对应的产品ID并将该产品ID写入***注册表中。
本实施例中,产品配置文件的内容除了包括产品ID还可以包括其它的产品相关信息例如***版本信息、硬件版本信息等。当驱动程序在首次***烧写时把对应的产品ID写入注册表以后,产品ID信息会被固化在***注册表中,在嵌入式设备产品以后再次上电重启时,便不需要再重新写入相关参数到***注册表。这样一来,在应用程序启动以后就可以从***注册表中获取到相应的产品ID信息,之后应用软件根据获取到的产品ID信息,进行相对应的可编程逻辑器件(例如FPGA)程序加载以实现相对应的产品功能;此处的可编程逻辑器件程序例如FPGA程序例如是存储在图1所示的本地存储器中且典型地具有多个版本,每一个产品ID对应一个版本的FPGA程序(例如存储有产品ID和FPGA程序关系映射表),也就是说加载FPGA程序的过程即是通过产品ID查找相对应FPGA程序的过程。
由于现有技术在通过设置不同环境变量将产品ID编译进***注册表的方式以区分不同产品时,其存在***交叉编译,使得同一个产品平台的硬件在扩展不同的产品功能时就需要设置不同的环境变量来区分不同的产品,这样给产品开发带来极大的不便,甚至当一个硬件平台的产品有5个以上时,在开发过程交叉编译甚至需要1-2天的时间来回编译调试,耗时比较长,而且交叉编译的风险也比较大,使得产品开发周期长且稳定性较低。而本发明上述实施例主要就是针对这种问题,将产品ID配置方式由现有技术中通过设置环境变量将产品ID编译进***注册表的方式改为通过驱动程序从产品配置文件中获取产品ID并写入***注册表的方式,借此来区分不同的产品,因而在相同的硬件平台上进行多个产品开发时,不需要重新编译内核,只需要将产品配置文件中的产品ID变更即可,***会根据不同的产品ID来区分不同的产品。由此可见,本发明实施例能够在不用修改硬件的基础上,节省开发的时间并且提高***开发的稳定性。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容做出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。
Claims (10)
1.一种产品ID配置方法,适用于嵌入式设备的产品ID配置,其特征在于,包括步骤:
(i)将***启动盘连接至嵌入式设备,其中所述***启动盘上存储有***镜像文件和产品配置文件;
(ii)所述嵌入式设备上电从所述***启动盘启动后利用引导程序至少将所述***启动盘中的所述***镜像文件复制到所述嵌入式设备的本地存储器;以及
(iii)所述嵌入式设备从所述本地存储器重启后利用启动的驱动程序自动读取所述产品配置文件中的产品ID并将所述产品ID写入***注册表。
2.如权利要求1所述的产品ID配置方法,其特征在于,所述嵌入式设备为LED异步控制卡,其包括嵌入式处理器和电连接所述嵌入式处理器的可编程逻辑器件及所述本地存储器。
3.如权利要求1所述的产品ID配置方法,其特征在于,步骤(ii)包括利用引导程序将所述***启动盘中的所述产品配置文件复制到所述嵌入式设备的本地存储器;步骤(iii)包括利用启动的驱动程序自动从所述本地存储器读取所述产品配置文件中的产品ID。
4.如权利要求1所述的产品ID配置方法,其特征在于,所述产品配置文件还包括***版本信息和硬件版本信息。
5.一种嵌入式设备的程序加载方法,所述嵌入式设备包括嵌入式处理器和电连接所述嵌入式处理器的本地存储器和可编程逻辑器件;其特征在于,所述程序加载方法包括步骤:
(a)所述嵌入式处理器上电后从***启动盘启动并利用引导程序至少将所述***启动盘中的***镜像文件复制到所述本地存储器,其中所述***启动盘包括所述***镜像文件和产品配置文件;
(b)所述嵌入式处理器从所述本地存储器重启后利用启动的驱动程序自动读取所述产品配置文件中的产品ID并将所述产品ID写入***注册表;以及
(c)所述嵌入式处理器运行在操作***上的应用软件从所述***注册表中读取产品ID、根据从所述***注册表中读取的产品ID从所述本地存储器中查找出相对应的程序并将所述查找出的程序加载至所述可编程逻辑器件以实现相对应的产品功能。
6.如权利要求5所述的程序加载方法,其特征在于,步骤(a)包括利用引导程序将所述***启动盘中的所述产品配置文件复制到所述嵌入式设备的本地存储器;步骤(b)包括利用启动的驱动程序自动从所述本地存储器读取所述产品配置文件中的产品ID。
7.如权利要求5所述的程序加载方法,其特征在于,步骤(b)包括利用启动的驱动程序自动从所述***启动盘读取所述产品配置文件中的产品ID。
8.如权利要求5所述的程序加载方法,其特征在于,所述嵌入式设备为LED异步控制卡,所述嵌入式处理器为ARM处理器,且所述可编程逻辑器件为FPGA。
9.如权利要求8所述的程序加载方法,其特征在于,所述***启动盘为SD卡,插接至所述嵌入式设备的SD卡插槽。
10.如权利要求5所述的程序加载方法,其特征在于,所述产品配置文件还包括***版本信息和硬件版本信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611009434.3A CN106681755B (zh) | 2016-11-16 | 2016-11-16 | 产品id配置方法以及嵌入式设备的程序加载方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611009434.3A CN106681755B (zh) | 2016-11-16 | 2016-11-16 | 产品id配置方法以及嵌入式设备的程序加载方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106681755A true CN106681755A (zh) | 2017-05-17 |
CN106681755B CN106681755B (zh) | 2020-03-31 |
Family
ID=58840397
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611009434.3A Active CN106681755B (zh) | 2016-11-16 | 2016-11-16 | 产品id配置方法以及嵌入式设备的程序加载方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106681755B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107239310A (zh) * | 2017-06-08 | 2017-10-10 | 山东超越数控电子有限公司 | 一种嵌入式***使用多媒体设备的方法 |
CN108920212A (zh) * | 2018-06-29 | 2018-11-30 | 郑州云海信息技术有限公司 | 一种基于linux内核的产品启动方法、***及相关组件 |
CN113138784A (zh) * | 2021-04-22 | 2021-07-20 | 中山亿联智能科技有限公司 | 一种修改产品product ID的方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102622190A (zh) * | 2012-02-15 | 2012-08-01 | 青岛海信电器股份有限公司 | 产品识别信息在线写入方法及电子产品 |
CN102662717A (zh) * | 2012-04-27 | 2012-09-12 | 深圳市掌讯通讯设备有限公司 | 一种嵌入式***自引导启动方法 |
CN103777977A (zh) * | 2012-10-25 | 2014-05-07 | 上海斐讯数据通信技术有限公司 | 嵌入式设备的启动方法及交换机 |
CN105590072A (zh) * | 2015-12-18 | 2016-05-18 | 上海华测导航技术股份有限公司 | 一种实现嵌入式***自动烧录的方法 |
-
2016
- 2016-11-16 CN CN201611009434.3A patent/CN106681755B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102622190A (zh) * | 2012-02-15 | 2012-08-01 | 青岛海信电器股份有限公司 | 产品识别信息在线写入方法及电子产品 |
CN102662717A (zh) * | 2012-04-27 | 2012-09-12 | 深圳市掌讯通讯设备有限公司 | 一种嵌入式***自引导启动方法 |
CN103777977A (zh) * | 2012-10-25 | 2014-05-07 | 上海斐讯数据通信技术有限公司 | 嵌入式设备的启动方法及交换机 |
CN105590072A (zh) * | 2015-12-18 | 2016-05-18 | 上海华测导航技术股份有限公司 | 一种实现嵌入式***自动烧录的方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107239310A (zh) * | 2017-06-08 | 2017-10-10 | 山东超越数控电子有限公司 | 一种嵌入式***使用多媒体设备的方法 |
CN108920212A (zh) * | 2018-06-29 | 2018-11-30 | 郑州云海信息技术有限公司 | 一种基于linux内核的产品启动方法、***及相关组件 |
CN108920212B (zh) * | 2018-06-29 | 2022-03-08 | 郑州云海信息技术有限公司 | 一种基于linux内核的产品启动方法、***及相关组件 |
CN113138784A (zh) * | 2021-04-22 | 2021-07-20 | 中山亿联智能科技有限公司 | 一种修改产品product ID的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN106681755B (zh) | 2020-03-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105579953B (zh) | 灵活引导程序代码架构 | |
CN101477471B (zh) | 一种嵌入式***固件在线升级方法 | |
CN109189405B (zh) | 一种验证程序Flash数据一致性的方法及*** | |
JP2008509483A5 (zh) | ||
CN106681755A (zh) | 产品id配置方法以及嵌入式设备的程序加载方法 | |
CN102622249B (zh) | 一种防止cpu自锁的安全启动方法 | |
CN106528106A (zh) | 一种自适应各种不同Flash芯片类型的嵌入式***启动方法 | |
WO2006017682A2 (en) | Software and firmware adaptation for unanticipated/changing hardware environments | |
CN103593281B (zh) | 测试***及测试方法 | |
CN101510161A (zh) | 一种引导程序的实现方法、装置和便携式电子设备 | |
CN101894028B (zh) | Linux内核镜像数据支持多种CPU的实现方法及装置 | |
CN108829465B (zh) | 一种基于直接读写flash的本地动态加载***及方法 | |
CN105893090A (zh) | 一种嵌入式***bootrom和应用程序升级方法 | |
CN107301070A (zh) | 一种升级方法及终端 | |
CN103905631B (zh) | 移动终端及其modem及linux芯片统一下载的方法 | |
CN108874582A (zh) | 一种***恢复方法、装置及终端 | |
CN105224309A (zh) | 一种调取函数的方法和装置 | |
CN102662688A (zh) | 一种Nor flash更新方法及装置 | |
CN104407899A (zh) | 一种redhat操作***下改变mac地址后网卡恢复启动的方法 | |
CN102446101A (zh) | 固件强制升级的***及其固件的强制升级方法 | |
CN110688141B (zh) | 固件更新方法 | |
US9223697B2 (en) | Computer reprogramming method, data storage medium and motor vehicle computer | |
CN105224352A (zh) | 软件版本升级方法和单板 | |
CN101527161B (zh) | 一种快速烧写NAND flash的方法和装置 | |
CN105630530A (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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 710075 DEF101, Zengyi Square, Xi'an Software Park, No. 72 Zhangbajie Science and Technology Second Road, Xi'an High-tech Zone, Shaanxi Province Applicant after: XI'AN NOVASTAR TECH Co.,Ltd. Address before: High tech Zone technology two road 710075 Shaanxi city of Xi'an Province, No. 68 Xi'an Software Park D District 401 Applicant before: Xi'an NovaStar Tech Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |