CN102662717A - 一种嵌入式系统自引导启动方法 - Google Patents
一种嵌入式系统自引导启动方法 Download PDFInfo
- Publication number
- CN102662717A CN102662717A CN2012101285413A CN201210128541A CN102662717A CN 102662717 A CN102662717 A CN 102662717A CN 2012101285413 A CN2012101285413 A CN 2012101285413A CN 201210128541 A CN201210128541 A CN 201210128541A CN 102662717 A CN102662717 A CN 102662717A
- Authority
- CN
- China
- Prior art keywords
- bootstrap
- startup method
- parameter
- hardware
- embedded system
- 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
本发明涉及一种嵌入式系统自引导启动方法,包括:101)启动BOOT;103)检验并判断指定位置是否存在配置文件、是进入下一步,否则进入105);104)将配置文件中参数写入系统内部固定存储器,并将参数引导传进OS,进入106);105)将系统内部固定存储器中保存的参数引导传进OS;106)OS按照参数配置硬件。这种方法突破传统思路,将硬件配置内化于启动过程并由BOOT引导传进参数给OS,能无须重新编译,解决嵌入式系统硬件匹配问题。
Description
技术领域
本发明涉及智能电子产品的软硬件系统,具体涉及一种嵌入式系统引导程序(BOOT)启动方法。
背景技术
在嵌入式的系统中,针对不同的双倍速率同步动态随机存储器(DDR)、闪存(FLASH)型号、液晶(LCD)显示屏、耳机座的极性,以及配置操作系统(OS)的分区大小、注册表区空间大小、FLASH分区大小、CPU频率设定、LOGO区大小、格式化FLASH可选配置、是否启用系统引导双备份、匹配地图所需的用来自定义系统属性的“OEMINFO”信息等。目前针对不同硬件,几乎所有的业内公司都是采用对应的程序员,重新修改代码,并编译出相应的程序,即:重新编译的方式,才可以达到匹配硬件,配置OS相关信息的目的。但是,这种方式不可避免地造成以下技术问题:
1、增加研发成本,因为需要许多程序员来进行修改代码和重新编译的动作;
2、出版生产软件的效率不高,因为每次针对不同硬件都需要重新修改代码,每一次的代码改动都需要重新进行测试;
3、影响了出货速度。
另一方面,引导加载程序(BOOT)是系统加电后运行的第一段软件代码。通过这段小程序,我们可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境。而BOOT是严重地依赖于硬件而实现的,特别是在嵌入式世界,没有在嵌入式世界里还没有一个通用的BOOT或这种BOOT被公开。
发明内容
本发明需要解决的技术问题是,如何提供一种嵌入式系统自引导启动方法,无须重新编译、能克服或大大降低硬件匹配问题。
本发明的上述技术问题这样解决:构建一种嵌入式系统自引导启动方法,包括以下具体步骤:
101)启动,进入系统引导加载;
103)检验并判断指定位置是否存在配置文件?是进入下一步,否则进入步骤105);
104)将所述配置文件中参数写入嵌入式系统内部固定存储器,并将所述参数引导传进OS,进入步骤106);
105)将嵌入式系统内部固定存储器中保存的参数引导传进OS;
106)OS按照被传进的参数配置硬件。
按照本发明提供的自引导启动方法,所述指定位置是外部数据源,该自引导启动方法还包括步骤:102)检验并判断是否存在外部数据源?是进入下一步,否则进入步骤105)。
按照本发明提供的自引导启动方法,所述外部数据源是外插USB卡、外插内存卡、无线或网络连接的数据存储装置。
按照本发明提供的自引导启动方法,所述指定位置是内部数据源,该自引导启动方法还包括删除所述指定位置的配置文件。
按照本发明提供的自引导启动方法,所述固化存储器是FLASH、电可擦除程序存储器(EEPROM)或INAND。
按照本发明提供的自引导启动方法,所述配置硬件包括将对应参数写入硬件的控制寄存器中。
按照本发明提供的自引导启动方法,所述配置文件包括但不限制于以下二种形式:
(一)所述配置文件包括嵌入式系统支持所有硬件对应参数的穷举和每一同种类型多选一的使能;
(二)所述配置文件是嵌入式系统具体一套硬件对应参数的排列。
按照本发明提供的自引导启动方法,该自引导启动方法还包括:通过人机交互界面选择硬件并将对应参数、参数排列或对应参数使能写入所述配置文件。
按照本发明提供的自引导启动方法,该嵌入式操作系统包括但不限制于是LINUX/安卓(ANDROID)/视窗8(Windows 8)/Windows CE操作系统。
按照本发明提供的自引导启动方法,所述启动包括机器上电和复位。
本发明提供的嵌入式系统自引导启动方法,突破传统思路,将利用参数文件进行硬件配置内化于系统启动过程并由BOOT引导传进OS,较现有技术具有以下优势:
1、不需要重新修改代码然后重新编译,只需要修改配置文件里面的某些参数,便可以兼容不同的硬件设备,可以大大提高研发效率;
2、产品软件维护成本大大降低;原本需要几个高级工程师来维护的软件,使用此技术后,只需要1~2个软件配置员即可完成。甚至工厂客户端有个别需求时,也可以自己修改配置文件,不需要提交到研发部重新出软件。
3、加快客户定单成品出货速度;来接到不同客户的定单需求后,不需要单独针对此客户修改代码、编译,研发部出生产软件的效率大大加快,而且提交到测试组测试的项目也会相应减少,最终的效果,就是成品定单出货速度大大加快;
4、由于现有硬件技术的提高、处理能力的大幅加强,不影响正常系统启动和启动速度。
附图说明
下面结合附图和具体实施例进一步对本发明进行详细说明:
图1是本发明优选实施例的开机引导软件程序流程示意图。
具体实施方式
首先,说明本发明核心和基础:
(一)参数存储
在BOOT程序引导升级时,如果发现有BOOTA5.Dat等配置文件,则会去读取文件内关于DDR、FLASH型号、LCD显示屏、耳机座的极性,以及配置OS的分区大小、注册表区空间大小、FLASH分区大小、CPU频率设定、LOGO区大小、格式化FLASH可选配置、是否启用系统引导双备份、匹配地图所需的OEMINFO信息等相关信息,并将其存储到FLASH的某个地方内。
(二)动态配置
升级结束后重新开机,BOOT程序会读取升级时存储的DDR,FLASH等信息,并将参数传到OS层,OS再通过这些参数来匹配硬件,然后开机。
(三)配置文件
下面部分举例,详情请参考具体产品对应的Boot技术配置手册
①比如DDR参数,在BOOTA5.Dat里面,
//8,12,13,15,18,20,28,38,42,43,44,49,50,51,52,TIM(53)
DdrMask:0x003E1C40,0x1014B100
DdrParam:0x03000000,0x00020008,0x00040700,0x00000c02,0x1a000000,0x06000000,0x00C8001c,
0x00010000,0x02000204,0x03000701,0x02030300,0x04000000,0x00000400,
0x04420000,0x00000442,0x04000510
有可以灵活配置DDR参数的接口,如果新换了DDR,调试参数的时候,只需要在DdrMask位中增加对其的使能,(将该位写为1)然后在DdrParam中增加该参数,或者在现有参数中改变参数,可以匹配不同的DDR.
比如配置FLASH分区大小,在BOOTA5.Dat里面
②比如LCD屏参数,在BOOTA5.DAT中,用
LcdType,
Param:0x00000001
来描述其类型,在BOOT显示升级界面的时候,先读此参数,并按照此参数,将此参数对应的屏显参数调出来写入控制LCD的寄存器中。
升级结束后,BOOT程序会将LCD的参数Userlnfo:0x”01”000005,(引号中的值)传入OS,OS调出预先配置好的LCD寄存器值,重新配置LCD的显示。
第二,结合本发明具体实施例进行详细说明:
如图1所示,本发明具体实施例电子产品使用FLASH保存默认的配置文件,其开机引导软件程序包括以下具体步骤:
301)BOOT启动;
302)检验并判断是否插卡?是进入下一步,否则进入步骤305);
303)检验并判断卡内是否存在配置文件?是进入下一步,否则进入步骤305);
304)将所述配置文件中参数写入FLASH,并将所述参数引导传进OS,进入步骤306);
305)将FLASH保存的参数引导传进OS;
306)OS按照被传进的参数配置硬件,开机。
当然,以上所述仅是本发明的较佳实施例,故凡依本发明专利申请范围所述的构造、特征及流程所做的等效变化或修饰,均包括于本发明专利申请范围为内。
Claims (10)
1.一种嵌入式系统自引导启动方法,其特征在于,包括以下具体步骤:
101)启动,进入系统引导加载;
103)检验并判断指定位置是否存在配置文件?是进入下一步,否则进入步骤105);
104)将所述配置文件中参数写入嵌入式系统内部固定存储器,并将所述参数引导传进OS,进入步骤106);
105)将嵌入式系统内部固定存储器中保存的参数引导传进OS;
106)OS按照被传进的参数配置硬件。
2.根据权利要求1所述自引导启动方法,其特征在于,所述指定位置是外部数据源,该自引导启动方法还包括步骤:102)检验并判断是否存在外部数据源?是进入下一步,否则进入步骤105)。
3.根据权利要求2所述自引导启动方法,其特征在于,所述外部数据源是外插USB卡、外插内存卡、无线或网络连接的数据存储装置。
4.根据权利要求1所述自引导启动方法,其特征在于,所述指定位置是内部数据源,该自引导启动方法还包括删除所述指定位置的配置文件。
5.根据权利要求1所述自引导启动方法,其特征在于,所述固化存储器是FLASH、EEPROM或INAND。
6.根据权利要求1所述自引导启动方法,其特征在于,所述配置硬件包括将对应参数写入硬件的控制寄存器中。
7.根据权利要求1所述自引导启动方法,其特征在于,所述配置文件包括嵌入式系统支持所有硬件对应参数的穷举和每一同种类型多选一的使能。
8.根据权利要求1所述自引导启动方法,其特征在于,所述配置文件是嵌入式系统具体一套硬件对应参数的排列。
9.根据权利要求1、7或8所述自引导启动方法,其特征在于,该自引导启动方法还包括:通过人机交互界面选择硬件并将对应参数、参数排列或对应参数使能写入所述配置文件。
10.根据权利要求1所述自引导启动方法,其特征在于,该嵌入式操作系统是LINUX/ANDROID/CE/Windows 8操作系统。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012101285413A CN102662717A (zh) | 2012-04-27 | 2012-04-27 | 一种嵌入式系统自引导启动方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012101285413A CN102662717A (zh) | 2012-04-27 | 2012-04-27 | 一种嵌入式系统自引导启动方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102662717A true CN102662717A (zh) | 2012-09-12 |
Family
ID=46772218
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2012101285413A Pending CN102662717A (zh) | 2012-04-27 | 2012-04-27 | 一种嵌入式系统自引导启动方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102662717A (zh) |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103777977A (zh) * | 2012-10-25 | 2014-05-07 | 上海斐讯数据通信技术有限公司 | 嵌入式设备的启动方法及交换机 |
CN104021007A (zh) * | 2013-03-01 | 2014-09-03 | 联想(北京)有限公司 | 一种参数更新的方法及电子设备 |
CN104216721A (zh) * | 2013-05-31 | 2014-12-17 | 上海博达数据通信有限公司 | 一种在操作系统启动之前下发配置的方法 |
CN104298545A (zh) * | 2013-07-17 | 2015-01-21 | 上海斐讯数据通信技术有限公司 | 嵌入式系统的系统配置方法及嵌入式系统 |
CN104320530A (zh) * | 2014-05-05 | 2015-01-28 | 成都速犀通信技术有限公司 | 一种依赖于外置通用集成电路卡启动引导的智能手机 |
CN105204995A (zh) * | 2015-09-21 | 2015-12-30 | 上海斐讯数据通信技术有限公司 | 一种基于手机平台的动态调试关键参数的方法及系统 |
CN105242936A (zh) * | 2014-06-09 | 2016-01-13 | 宋菏生 | 一种实现服务器配置的方法、装置及服务器 |
CN105630465A (zh) * | 2014-10-29 | 2016-06-01 | Tcl商用信息科技(惠州)股份有限公司 | 应用于终端的显示屏参数设置方法及终端 |
CN106681755A (zh) * | 2016-11-16 | 2017-05-17 | 西安诺瓦电子科技有限公司 | 产品id配置方法以及嵌入式设备的程序加载方法 |
CN106843943A (zh) * | 2017-01-03 | 2017-06-13 | 恒鸿达信息技术有限公司 | 一种stm32微处理器程序架构设计方法 |
CN106873913A (zh) * | 2017-02-17 | 2017-06-20 | 山东浪潮商用系统有限公司 | 一种嵌入式系统自适应不同flash进行分区的方法 |
WO2017202128A1 (zh) * | 2016-05-26 | 2017-11-30 | 深圳创维数字技术有限公司 | 非linux系统软件boot参数传递方法及系统 |
CN108762828A (zh) * | 2018-04-24 | 2018-11-06 | 桂林长海发展有限责任公司 | 一种dsp多核阵列二级启动方法和装置 |
CN109901862A (zh) * | 2019-02-28 | 2019-06-18 | 苏州浪潮智能科技有限公司 | 一种bmc配置参数存储方法 |
CN114647461A (zh) * | 2022-05-19 | 2022-06-21 | 深圳比特微电子科技有限公司 | 一种嵌入式系统的启动方法和系统 |
CN114816571A (zh) * | 2022-04-15 | 2022-07-29 | 西安广和通无线通信有限公司 | 外挂闪存的方法、装置、设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6550061B1 (en) * | 1999-12-02 | 2003-04-15 | Dell Usa, L.P. | System and method for modifying configuration files in a secured operating system |
CN101510161A (zh) * | 2009-03-30 | 2009-08-19 | 北京中星微电子有限公司 | 一种引导程序的实现方法、装置和便携式电子设备 |
CN101882085A (zh) * | 2010-06-23 | 2010-11-10 | 迈普通信技术股份有限公司 | 系统启动方法以及嵌入式设备 |
-
2012
- 2012-04-27 CN CN2012101285413A patent/CN102662717A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6550061B1 (en) * | 1999-12-02 | 2003-04-15 | Dell Usa, L.P. | System and method for modifying configuration files in a secured operating system |
CN101510161A (zh) * | 2009-03-30 | 2009-08-19 | 北京中星微电子有限公司 | 一种引导程序的实现方法、装置和便携式电子设备 |
CN101882085A (zh) * | 2010-06-23 | 2010-11-10 | 迈普通信技术股份有限公司 | 系统启动方法以及嵌入式设备 |
Cited By (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103777977A (zh) * | 2012-10-25 | 2014-05-07 | 上海斐讯数据通信技术有限公司 | 嵌入式设备的启动方法及交换机 |
CN104021007A (zh) * | 2013-03-01 | 2014-09-03 | 联想(北京)有限公司 | 一种参数更新的方法及电子设备 |
CN104216721A (zh) * | 2013-05-31 | 2014-12-17 | 上海博达数据通信有限公司 | 一种在操作系统启动之前下发配置的方法 |
CN104298545A (zh) * | 2013-07-17 | 2015-01-21 | 上海斐讯数据通信技术有限公司 | 嵌入式系统的系统配置方法及嵌入式系统 |
CN104298545B (zh) * | 2013-07-17 | 2019-08-16 | 上海斐讯数据通信技术有限公司 | 嵌入式系统的系统配置方法及嵌入式系统 |
CN104320530A (zh) * | 2014-05-05 | 2015-01-28 | 成都速犀通信技术有限公司 | 一种依赖于外置通用集成电路卡启动引导的智能手机 |
CN105242936A (zh) * | 2014-06-09 | 2016-01-13 | 宋菏生 | 一种实现服务器配置的方法、装置及服务器 |
CN105242936B (zh) * | 2014-06-09 | 2018-06-26 | 宋菏生 | 一种实现服务器配置的方法、装置及服务器 |
CN105630465A (zh) * | 2014-10-29 | 2016-06-01 | Tcl商用信息科技(惠州)股份有限公司 | 应用于终端的显示屏参数设置方法及终端 |
CN105204995B (zh) * | 2015-09-21 | 2017-12-22 | 上海斐讯数据通信技术有限公司 | 一种基于手机平台的动态调试关键参数的方法及系统 |
CN105204995A (zh) * | 2015-09-21 | 2015-12-30 | 上海斐讯数据通信技术有限公司 | 一种基于手机平台的动态调试关键参数的方法及系统 |
WO2017202128A1 (zh) * | 2016-05-26 | 2017-11-30 | 深圳创维数字技术有限公司 | 非linux系统软件boot参数传递方法及系统 |
CN106681755A (zh) * | 2016-11-16 | 2017-05-17 | 西安诺瓦电子科技有限公司 | 产品id配置方法以及嵌入式设备的程序加载方法 |
CN106681755B (zh) * | 2016-11-16 | 2020-03-31 | 西安诺瓦星云科技股份有限公司 | 产品id配置方法以及嵌入式设备的程序加载方法 |
CN106843943A (zh) * | 2017-01-03 | 2017-06-13 | 恒鸿达信息技术有限公司 | 一种stm32微处理器程序架构设计方法 |
CN106843943B (zh) * | 2017-01-03 | 2020-09-01 | 恒鸿达科技有限公司 | 一种stm32微处理器程序架构设计方法 |
CN106873913A (zh) * | 2017-02-17 | 2017-06-20 | 山东浪潮商用系统有限公司 | 一种嵌入式系统自适应不同flash进行分区的方法 |
CN106873913B (zh) * | 2017-02-17 | 2020-03-17 | 山东浪潮商用系统有限公司 | 一种嵌入式系统自适应不同flash进行分区的方法 |
CN108762828A (zh) * | 2018-04-24 | 2018-11-06 | 桂林长海发展有限责任公司 | 一种dsp多核阵列二级启动方法和装置 |
CN108762828B (zh) * | 2018-04-24 | 2021-11-16 | 桂林长海发展有限责任公司 | 一种dsp多核阵列二级启动方法和装置 |
CN109901862A (zh) * | 2019-02-28 | 2019-06-18 | 苏州浪潮智能科技有限公司 | 一种bmc配置参数存储方法 |
CN114816571A (zh) * | 2022-04-15 | 2022-07-29 | 西安广和通无线通信有限公司 | 外挂闪存的方法、装置、设备及存储介质 |
CN114816571B (zh) * | 2022-04-15 | 2023-06-16 | 西安广和通无线通信有限公司 | 外挂闪存的方法、装置、设备及存储介质 |
CN114647461A (zh) * | 2022-05-19 | 2022-06-21 | 深圳比特微电子科技有限公司 | 一种嵌入式系统的启动方法和系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102662717A (zh) | 一种嵌入式系统自引导启动方法 | |
US20200364085A1 (en) | Task scheduling based on performance control conditions for multiple processing units | |
KR101790190B1 (ko) | 애플리케이션 시나리오 식별 방법, 전력 소비 관리 방법, 장치 및 단말기 장치 | |
US10007530B2 (en) | Electronic device having an external memory and method for operating the same | |
US10921967B2 (en) | Electronic device and method for configuring display thereof | |
KR102176645B1 (ko) | 어플리케이션 운용 방법 및 이를 이용한 전자 장치 | |
US11847469B2 (en) | Intelligent device and method for controlling boot screen of the intelligent device | |
CN104267981B (zh) | 一种加载桌面上的应用布局的方法及装置 | |
US20220094787A1 (en) | Electronic apparatus for providing voice recognition control and operating method therefor | |
US10146557B2 (en) | Method and electronic device for initializing memory and updating firmware | |
EP2919115A2 (en) | Task migration method and apparatus | |
CN104123153A (zh) | 用于使用usb升级固件的装置与方法 | |
WO2016078263A1 (zh) | 升级控制设备、终端、终端升级方法及系统、存储介质 | |
WO2015074526A1 (en) | Method and apparatus for injecting java by tecode into target process | |
WO2023070823A1 (zh) | 启动引导程序加载方法、装置、系统、电子设备及介质 | |
EP3367238A1 (en) | Producing method and producing system for desktop launcher of mobile terminal | |
CN104615396A (zh) | 一种基于Android的分辨率自动调整方法及系统 | |
KR20110138543A (ko) | 스마트 사용자 식별 모듈을 이용한 다중 운영체제 시스템 및 그 제어 방법 | |
CN108351790B (zh) | 用于期望状态配置的非单调最终收敛的设备、方法和介质 | |
US20160253318A1 (en) | Apparatus and method for processing text | |
CN103677943A (zh) | 一种缝纫机控制器软件升级方法 | |
CN105912337A (zh) | 一种应用于国产非x86 平台上实现显卡初始化的方法 | |
CN104137074A (zh) | 多环境计算系统中资源使用的优化 | |
US20170269965A1 (en) | Electronic device and method for resuming process thereof | |
CN110515671A (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 | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20120912 |