CN102708001B - Linux嵌入式设备及其用户模式与工程模式切换的方法 - Google Patents
Linux嵌入式设备及其用户模式与工程模式切换的方法 Download PDFInfo
- Publication number
- CN102708001B CN102708001B CN201210125854.3A CN201210125854A CN102708001B CN 102708001 B CN102708001 B CN 102708001B CN 201210125854 A CN201210125854 A CN 201210125854A CN 102708001 B CN102708001 B CN 102708001B
- Authority
- CN
- China
- Prior art keywords
- embedded device
- linux
- engineering mode
- variable
- enter
- 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
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开了一种Linux嵌入式设备用户模式与工程模式切换的方法,旨在提供一种可非常方便进入工程模式的方法,所述Linux嵌入式设备包括按键;所述方法包括下列步骤:U-BOOT单元启动,检测设置为可进入工程模式的特定按键是否按下,在特定按键按下时调用环境变量设置函数并设置一个标志变量为1,否则,调用环境变量设置函数并设置一个标志变量为0,并存储所述标志变量于FLASH的独立分区;Linux内核单元启动,读取所述独立分区中存储的标志变量,如果为0,则设置为普通权限,进入用户模式,如果为1,则设置为超级权限,进入工程模式。本发明还公开了一种Linux嵌入式设备。本发明可用于各种Linux嵌入式设备。
Description
技术领域
本发明涉及使用Linux操作***的嵌入式设备,尤其是涉及一种Linux嵌入式设备用户模式与工程模式切换的方法。
背景技术
随着芯片功能的日益强大及电子元器件价格的下降,越来越多的嵌入式设备采用了Linux操作***。嵌入式设备外部接口简单,一般只有显示、按键、USB接口等有限的输入输出接口与使用者进行交互。嵌入式设备的使用者分为两类:一类为用户功能使用者,设备开机后默认进入用户功能使用界面,权限是受限的,只能运行该界面下提供的功能;另一类为工程维护人员,设备开机后可以具备超级操作权限,运行所有的***功能,以进行设备的调试,功能配置等。
为了使两类不同的使用者进入不同的操作界面,通常的做法是在设备的内部或外表的隐蔽处设置一些跳线或开关,当跳线或开关打到不同的位置时,设备进入不同的操作界面。还有一种做法是设置专用的调试接口,只有将专用调试设备接上调试接口后,才能看到***的超级权限界面。
但是,无论是设置开关和专用跳线,还是设置专用的调试接口,管理员或调试人员都不容易进入超级权限界面,以进行***的维护及调试,使用都不方便,给维护人员和开发人员的维护工作和开发工作造成了诸多不便。
发明内容
本发明为了解决现有技术进入使用Linux操作***的嵌入式设备的超级权限界面不容易,使用不方便的技术问题,提供了一种Linux嵌入式设备及其用户模式与工程模式切换的方法。
为解决上述技术问题,本发明采用的技术方案为设计一种Linux嵌入式设备用户模式与工程模式切换的方法,所述Linux嵌入式设备包括按键;所述方法包括下列步骤:
U-BOOT单元启动,检测设置为可进入工程模式的特定按键是否按下,在特定按键按下时调用环境变量设置函数并设置一个标志变量为1,否则,调用环境变量设置函数并设置一个标志变量为0,并存储所述标志变量于FLASH的独立分区;
Linux内核单元启动,读取所述独立分区中存储的标志变量,如果为0,则设置为普通权限,进入用户模式,如果为1,则设置为超级权限,进入工程模式。
所述Linux内核单元通过其rcS启动脚本中的启动程序读取所述分区存储的标志变量。
所述U-BOOT单元启动之前还包括下列步骤:CPU上电,CPU内部固化的一阶bootloader启动。
本发明还提供了一种Linux嵌入式设备,包括按键,所述按键包括设置为可进入工程模式的特定按键;所述Linux嵌入式设备还包括:
FLASH,其中设有独立分区;
U-BOOT单元,其检测设置为可进入工程模式的特定按键是否按下,在特定按键按下时调用环境变量设置函数并设置一个标志变量为1,否则,调用环境变量设置函数并设置一个标志变量为0,并存储所述标志变量于所述独立分区;
Linux内核单元,其读取所述独立分区中存储的标志变量,如果为0,则设置为普通权限,进入用户模式,如果为1,则设置为超级权限,进入工程模式。
所述Linux内核单元通过其rcS启动脚本中的启动程序读取所述分区存储的标志变量。
所述Linux嵌入式设备还包括CPU,所述CPU内固化有一阶bootloader。
本发明通过利用U-BOOT和Linux可以共享Flash分区数据的特点,在U-BOOT单元中侦测特定按键信号,设置标志变量,在Linux内核单元启动时读取该变量,从而启动不同的***工作模式,与当前常用的专用跳线,专用接口模式相比,操作更加简单可行,使用更加方便,且不增加设备成本。
附图说明
下面结合实施例和附图对本发明进行详细说明,其中:
图1是本发明Linux嵌入式设备的启动顺序图;
图2是本发明Linux嵌入式设备用户模式与工程模式切换的方法的原理图;
图3是本发明Linux嵌入式设备U-BOOT单元的运行逻辑图;
图4是本发明Linux嵌入式设备Linux内核单元的运行逻辑图;
图5是本发明Linux嵌入式设备的原理图。
具体实施方式
请参见图1。本发明Linux嵌入式设备的启动顺序为:
1、CPU上电;
2、CPU内部固化的一阶bootloader启动;
3、U-BOOT单元启动;
4、Linux内核单元启动;
5、启动脚本规定的应用。
由于Linux嵌入式设备的外部接口简单,一般只有显示、按键、USB接口等有限的输入输出接口。本发明利用***启动时侦测是否有某个特定按键被按下来进入不同的***运行模式。如果特定按键被按下,则进入工程模式。如果特定按键没有被按下,则进入用户模式。至于按键是哪个具体的键,则可以自行定义。
请参见图2。本发明Linux嵌入式设备用户模式与工程模式切换的方法包括下列步骤:
第一步:在FLASH中设置独立分区;
在FLASH中设置一个独立的分区,该分区可由U-BOOT操作,也可由Linux操作。独立分区主要用于在U-BOOT与Linux之间传递参数值。对U-BOOT来说,该分区叫环境变量区,对Linux来说,该分区叫mtd分区。
FLASH分区格式如下:
U-BOOT | 独立分区 | Linux | Linux根文件*** |
第二步:U-BOOT单元启动,检测设置为可进入工程模式的特定按键是否按下,在特定按键按下时调用环境变量设置函数并设置一个标志变量为1,否则,调用环境变量设置函数并设置一个标志变量为0,并存储所述标志变量于FLASH的独立分区。其中,环境变量设置函数为U-BOOT中的一个功能函数。
请一并参见图3。该步中主要是对U-BOOT单元的U-BOOT进行改造,U-BOOT启动时,检测预先定义的特定按键是否被按下,如该特定按键被按下,则调用环境变量设置函数setenv()设置一个标志变量flag=1。如该特定按键没有被按下,则调用环境变量设置函数setenv()设置标志变量flag=0。然后,存储标志变量flag于外部永久存储区的环境变量区中。
第三步:Linux内核单元启动,读取所述独立分区中存储的标志变量,如果为0,则设置为普通权限,进入用户模式,如果为1,则设置为超级权限,进入工程模式。
U-BOOT的环境变量区在Linux操作***中是一个独立的mtd分区,Linux内核单元可以直接读取其内容,可以得到由U-BOOT设置的标志变量的内容。Linux内核单元的rcS启动脚本中可以添加一个启动程序,该启动程序读取mtd分区的内容,得到标志变量flag的值。
请一并参见图4。Linux内核启动,读取mtd分区的标志变量flag,如果flag=0,则设置为普通权限,启动用户模式的用户程序,进入用户模式。如果flag=1,则设置为超级权限,启动工程模式的调试程序,进入工程模式。
请一并参见图5,本发明Linux嵌入式设备,包括按键、FLASH、Linux内核单元和CPU,其中:
按键,所述按键包括设置为可进入工程模式的特定按键;
FLASH,其中设有独立分区;
U-BOOT单元,其检测设置为可进入工程模式的特定按键是否按下,在特定按键按下时调用环境变量设置函数并设置一个标志变量为1,否则,调用环境变量设置函数并设置一个标志变量为0,并存储所述标志变量于所述独立分区;
Linux内核单元,其读取所述独立分区中存储的标志变量,如果为0,则设置为普通权限,进入用户模式,如果为1,则设置为超级权限,进入工程模式。所述Linux内核单元通过其rcS启动脚本中的启动程序读取所述分区存储的标志变量。
CPU内固化有一阶bootloader。
本发明针对目前嵌入式设备在用户模式与工程模式之间切换的繁琐不便,通过利用U-BOOT和Linux可以共享Flash分区数据的特点,在U-BOOT单元中侦测特定按键信号,设置标志变量,在Linux内核单元启动时读取该变量,从而启动不同的***工作模式,与当前常用的专用跳线,专用接口模式相比,操作更加简单可行,使用更加方便,且不增加设备成本。
本发明利用了嵌入式设备通常都具备的按键,按键按下时***启动进入工程模式,按键没有按下则进入用户模式,相比现有嵌入式设备在用户模式与工程模式之间切换的复杂性及高成本性,本发明采用的方法简单方便,很容易在用户模式与工程模式之间进行切换,且不增加设备的成本。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (6)
1.一种Linux嵌入式设备用户模式与工程模式切换的方法,所述Linux嵌入式设备包括按键;其特征在于:所述方法包括下列步骤:
U-BOOT单元启动,检测设置为可进入工程模式的特定按键是否按下,在特定按键按下时调用环境变量设置函数并设置一个标志变量为1,否则,调用环境变量设置函数并设置所述标志变量为0,并存储所述标志变量于FLASH的独立分区,其中,所述独立分区主要用于在U-BOOT单元与Linux内核单元之间传递参数值;
Linux内核单元启动,读取所述独立分区中存储的标志变量,如果为0,则设置为普通权限,进入用户模式,如果为1,则设置为超级权限,进入工程模式。
2.根据权利要求1所述的Linux嵌入式设备用户模式与工程模式切换的方法,其特征在于:所述Linux内核单元通过其rcS启动脚本中的启动程序读取所述分区存储的标志变量。
3.根据权利要求1所述的Linux嵌入式设备用户模式与工程模式切换的方法,其特征在于:所述U-BOOT单元启动之前还包括下列步骤:CPU上电,CPU内部固化的一阶bootloader启动。
4.一种Linux嵌入式设备,包括按键,其特征在于:所述按键包括设置为可进入工程模式的特定按键;所述Linux嵌入式设备还包括:
FLASH,其中设有独立分区,所述独立分区主要用于在U-BOOT单元与Linux内核单元之间传递参数值;
U-BOOT单元,其检测设置为可进入工程模式的特定按键是否按下,在特定按键按下时调用环境变量设置函数并设置一个标志变量为1,否则,调用环境变量设置函数并设置所述标志变量为0,并存储所述标志变量于所述独立分区;
Linux内核单元,其读取所述独立分区中存储的标志变量,如果为0,则设置为普通权限,进入用户模式,如果为1,则设置为超级权限,进入工程模式。
5.根据权利要求4所述的Linux嵌入式设备,其特征在于:所述Linux内核单元通过其rcS启动脚本中的启动程序读取所述分区存储的标志变量。
6.根据权利要求4所述的Linux嵌入式设备,其特征在于:所述Linux嵌入式设备还包括CPU,所述CPU内固化有一阶bootloader。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210125854.3A CN102708001B (zh) | 2012-04-26 | 2012-04-26 | Linux嵌入式设备及其用户模式与工程模式切换的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210125854.3A CN102708001B (zh) | 2012-04-26 | 2012-04-26 | Linux嵌入式设备及其用户模式与工程模式切换的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102708001A CN102708001A (zh) | 2012-10-03 |
CN102708001B true CN102708001B (zh) | 2016-01-06 |
Family
ID=46900816
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210125854.3A Active CN102708001B (zh) | 2012-04-26 | 2012-04-26 | Linux嵌入式设备及其用户模式与工程模式切换的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102708001B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103678035A (zh) * | 2013-11-11 | 2014-03-26 | 广东鼎燊科技有限公司 | 一种嵌入式设备中环境变量动态备份恢复的方法 |
CN103677904A (zh) * | 2013-12-01 | 2014-03-26 | 国家电网公司 | 控制cpu启动时进入不同状态的切换方法及控制电路 |
CN103702193A (zh) * | 2013-12-23 | 2014-04-02 | 乐视致新电子科技(天津)有限公司 | 标识、识别智能电视类型的方法及装置 |
CN106201362B (zh) * | 2016-07-22 | 2019-04-30 | 纳瓦电子(上海)有限公司 | 一种储存配置信息方法 |
CN107656513A (zh) * | 2017-08-25 | 2018-02-02 | 歌尔丹拿音响有限公司 | 嵌入式设备的模式切换方法和嵌入式设备 |
CN107544804A (zh) * | 2017-09-01 | 2018-01-05 | 北京雷石天地电子技术有限公司 | 嵌入式***终端开发模式的启动方法及装置 |
CN108415736B (zh) * | 2018-02-06 | 2021-03-30 | 新浪网技术(中国)有限公司 | 利用进程文件***标记程序进程的方法、装置和设备 |
CN108595212A (zh) * | 2018-03-30 | 2018-09-28 | 上海康斐信息技术有限公司 | 一种快速启动无线路由器的方法及无线路由器 |
CN109284135B (zh) * | 2018-09-07 | 2022-02-01 | 深圳市航顺芯片技术研发有限公司 | 一种简捷调用微控制器内部启动程序的方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20040067085A (ko) * | 2003-01-21 | 2004-07-30 | 엘지전자 주식회사 | 임베디드 시스템의 전력 제어 방법 |
CN1673959A (zh) * | 2004-03-27 | 2005-09-28 | 鸿富锦精密工业(深圳)有限公司 | 加载***及方法 |
CN1933640A (zh) * | 2005-09-12 | 2007-03-21 | 乐金电子(中国)研究开发中心有限公司 | 便携终端的工程模式操作装置及方法 |
CN101083705A (zh) * | 2006-05-31 | 2007-12-05 | 夏普株式会社 | 复合机及其控制***和方法、控制装置及其控制方法 |
CN101853181A (zh) * | 2010-05-11 | 2010-10-06 | 中达电通股份有限公司 | 用于嵌入式***的子程序相互调用的方法 |
CN102298482A (zh) * | 2010-06-23 | 2011-12-28 | 鸿富锦精密工业(深圳)有限公司 | 实现进入工程模式的电子装置及其方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100524228C (zh) * | 2003-01-22 | 2009-08-05 | 纬创资通股份有限公司 | 应用程序的核心模式操作***及方法 |
CN1815446A (zh) * | 2005-02-01 | 2006-08-09 | 神基科技股份有限公司 | 具有即刻开启功能的电脑***及其处理方法 |
CN100492291C (zh) * | 2005-10-21 | 2009-05-27 | 神基科技股份有限公司 | 具有即刻开启功能的电脑***及其处理方法 |
-
2012
- 2012-04-26 CN CN201210125854.3A patent/CN102708001B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20040067085A (ko) * | 2003-01-21 | 2004-07-30 | 엘지전자 주식회사 | 임베디드 시스템의 전력 제어 방법 |
CN1673959A (zh) * | 2004-03-27 | 2005-09-28 | 鸿富锦精密工业(深圳)有限公司 | 加载***及方法 |
CN1933640A (zh) * | 2005-09-12 | 2007-03-21 | 乐金电子(中国)研究开发中心有限公司 | 便携终端的工程模式操作装置及方法 |
CN101083705A (zh) * | 2006-05-31 | 2007-12-05 | 夏普株式会社 | 复合机及其控制***和方法、控制装置及其控制方法 |
CN101853181A (zh) * | 2010-05-11 | 2010-10-06 | 中达电通股份有限公司 | 用于嵌入式***的子程序相互调用的方法 |
CN102298482A (zh) * | 2010-06-23 | 2011-12-28 | 鸿富锦精密工业(深圳)有限公司 | 实现进入工程模式的电子装置及其方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102708001A (zh) | 2012-10-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102708001B (zh) | Linux嵌入式设备及其用户模式与工程模式切换的方法 | |
CN103593281B (zh) | 测试***及测试方法 | |
CN204740313U (zh) | 卡座测试工装 | |
CN103399840A (zh) | 一种计算机配置文件的带外修改方法及计算机 | |
CN104182243A (zh) | 休眠状态控制***、计算机***及其休眠状态检测的方法 | |
CN103761129A (zh) | 一种在Bootloader层实现SDIO接口驱动的方法 | |
CN104168119A (zh) | 适配卡 | |
CN104239211A (zh) | 一种移动终端快速进入测试模式的方法及其装置 | |
CN102253844A (zh) | 一种启动处理器的方法和设备 | |
CN103135723A (zh) | 计算机***的电源供应设备及其电源启动顺序控制方法 | |
CN102446101A (zh) | 固件强制升级的***及其固件的强制升级方法 | |
CN204178337U (zh) | 一种多用途组合式鼠标 | |
CN206292786U (zh) | 一种基于ARM和Andriod的嵌入式*** | |
CN205486066U (zh) | 基于嵌入式操作***的监控卡 | |
CN201947254U (zh) | 一种可快速实现蓝牙和wifi复用的电路 | |
CN203720584U (zh) | 一种基于ARM处理器的微型COM Express处理器模块 | |
CN101727329B (zh) | 主机板***、启动此主机板***的储存装置及连接器 | |
CN104793699A (zh) | 开发板板卡 | |
CN102736908A (zh) | 远程设置cmos参数的***、装置及方法 | |
CN215006450U (zh) | 一种飞腾x100桥片嵌入主板 | |
CN206282173U (zh) | 基于飞腾ft‑1500a芯片的主板 | |
CN104898867A (zh) | 一种多用途组合式鼠标 | |
CN202838091U (zh) | 一种支持sr5690冗余设计的双桥片主板 | |
CN102306003A (zh) | 一种嵌入式通用标准化平台 | |
CN101387966A (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |