CN102708001A - Linux嵌入式设备及其用户模式与工程模式切换的方法 - Google Patents

Linux嵌入式设备及其用户模式与工程模式切换的方法 Download PDF

Info

Publication number
CN102708001A
CN102708001A CN2012101258543A CN201210125854A CN102708001A CN 102708001 A CN102708001 A CN 102708001A CN 2012101258543 A CN2012101258543 A CN 2012101258543A CN 201210125854 A CN201210125854 A CN 201210125854A CN 102708001 A CN102708001 A CN 102708001A
Authority
CN
China
Prior art keywords
linux
variable
embedded device
engineering mode
linux embedded
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
Application number
CN2012101258543A
Other languages
English (en)
Other versions
CN102708001B (zh
Inventor
黄超
崔若起
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SHENZHEN JIUSITAIDA TECHNOLOGY CO LTD
Original Assignee
SHENZHEN JIUSITAIDA TECHNOLOGY CO LTD
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by SHENZHEN JIUSITAIDA TECHNOLOGY CO LTD filed Critical SHENZHEN JIUSITAIDA TECHNOLOGY CO LTD
Priority to CN201210125854.3A priority Critical patent/CN102708001B/zh
Publication of CN102708001A publication Critical patent/CN102708001A/zh
Application granted granted Critical
Publication of CN102708001B publication Critical patent/CN102708001B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

本发明公开了一种Linux嵌入式设备用户模式与工程模式切换的方法,旨在提供一种可非常方便进入工程模式的方法,所述Linux嵌入式设备包括按键;所述方法包括下列步骤:U-BOOT单元启动,检测设置为可进入工程模式的特定按键是否按下,在特定按键按下时调用环境变量设置函数并设置一个标志变量为1,否则,调用环境变量设置函数并设置一个标志变量为0,并存储所述标志变量于FLASH的独立分区;Linux内核单元启动,读取所述独立分区中存储的标志变量,如果为0,则设置为普通权限,进入用户模式,如果为1,则设置为超级权限,进入工程模式。本发明还公开了一种Linux嵌入式设备。本发明可用于各种Linux嵌入式设备。

Description

Linux嵌入式设备及其用户模式与工程模式切换的方法
技术领域
本发明涉及使用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的独立分区;
Linux内核单元启动,读取所述独立分区中存储的标志变量,如果为0,则设置为普通权限,进入用户模式,如果为1,则设置为超级权限,进入工程模式。
2.根据权利要求1所述的Linux嵌入式设备用户模式与工程模式切换的方法,其特征在于:所述Linux内核单元通过其rcS启动脚本中的启动程序读取所述分区存储的标志变量。
3.根据权利要求1所述的Linux嵌入式设备用户模式与工程模式切换的方法,其特征在于:所述U-BOOT单元启动之前还包括下列步骤:CPU上电,CPU内部固化的一阶bootloader启动。
4.一种Linux嵌入式设备,包括按键,其特征在于:所述按键包括设置为可进入工程模式的特定按键;所述Linux嵌入式设备还包括:
FLASH,其中设有独立分区;
U-BOOT单元,其检测设置为可进入工程模式的特定按键是否按下,在特定按键按下时调用环境变量设置函数并设置一个标志变量为1,否则,调用环境变量设置函数并设置一个标志变量为0,并存储所述标志变量于所述独立分区;
Linux内核单元,其读取所述独立分区中存储的标志变量,如果为0,则设置为普通权限,进入用户模式,如果为1,则设置为超级权限,进入工程模式。
5.根据权利要求4所述的Linux嵌入式设备,其特征在于:所述Linux内核单元通过其rcS启动脚本中的启动程序读取所述分区存储的标志变量。
6.根据权利要求4所述的Linux嵌入式设备,其特征在于:所述Linux嵌入式设备还包括CPU,所述CPU内固化有一阶bootloader。
CN201210125854.3A 2012-04-26 2012-04-26 Linux嵌入式设备及其用户模式与工程模式切换的方法 Active CN102708001B (zh)

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 true CN102708001A (zh) 2012-10-03
CN102708001B 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)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103677904A (zh) * 2013-12-01 2014-03-26 国家电网公司 控制cpu启动时进入不同状态的切换方法及控制电路
CN103678035A (zh) * 2013-11-11 2014-03-26 广东鼎燊科技有限公司 一种嵌入式设备中环境变量动态备份恢复的方法
CN103702193A (zh) * 2013-12-23 2014-04-02 乐视致新电子科技(天津)有限公司 标识、识别智能电视类型的方法及装置
CN106201362A (zh) * 2016-07-22 2016-12-07 纳瓦电子(上海)有限公司 一种储存配置信息方法
CN107544804A (zh) * 2017-09-01 2018-01-05 北京雷石天地电子技术有限公司 嵌入式***终端开发模式的启动方法及装置
CN107656513A (zh) * 2017-08-25 2018-02-02 歌尔丹拿音响有限公司 嵌入式设备的模式切换方法和嵌入式设备
CN108415736A (zh) * 2018-02-06 2018-08-17 新浪网技术(中国)有限公司 利用进程文件***标记程序进程的方法、装置和设备
CN108595212A (zh) * 2018-03-30 2018-09-28 上海康斐信息技术有限公司 一种快速启动无线路由器的方法及无线路由器
CN109284135A (zh) * 2018-09-07 2019-01-29 深圳市航顺芯片技术研发有限公司 一种简捷调用微控制器内部启动程序的方法

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040067085A (ko) * 2003-01-21 2004-07-30 엘지전자 주식회사 임베디드 시스템의 전력 제어 방법
CN1519719A (zh) * 2003-01-22 2004-08-11 纬创资通股份有限公司 应用程序的核心模式操作***及方法
CN1673959A (zh) * 2004-03-27 2005-09-28 鸿富锦精密工业(深圳)有限公司 加载***及方法
CN1815446A (zh) * 2005-02-01 2006-08-09 神基科技股份有限公司 具有即刻开启功能的电脑***及其处理方法
CN1933640A (zh) * 2005-09-12 2007-03-21 乐金电子(中国)研究开发中心有限公司 便携终端的工程模式操作装置及方法
CN1952894A (zh) * 2005-10-21 2007-04-25 神基科技股份有限公司 具有即刻开启功能的电脑***及其处理方法
CN101083705A (zh) * 2006-05-31 2007-12-05 夏普株式会社 复合机及其控制***和方法、控制装置及其控制方法
CN101853181A (zh) * 2010-05-11 2010-10-06 中达电通股份有限公司 用于嵌入式***的子程序相互调用的方法
CN102298482A (zh) * 2010-06-23 2011-12-28 鸿富锦精密工业(深圳)有限公司 实现进入工程模式的电子装置及其方法

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040067085A (ko) * 2003-01-21 2004-07-30 엘지전자 주식회사 임베디드 시스템의 전력 제어 방법
CN1519719A (zh) * 2003-01-22 2004-08-11 纬创资通股份有限公司 应用程序的核心模式操作***及方法
CN1673959A (zh) * 2004-03-27 2005-09-28 鸿富锦精密工业(深圳)有限公司 加载***及方法
CN1815446A (zh) * 2005-02-01 2006-08-09 神基科技股份有限公司 具有即刻开启功能的电脑***及其处理方法
CN1933640A (zh) * 2005-09-12 2007-03-21 乐金电子(中国)研究开发中心有限公司 便携终端的工程模式操作装置及方法
CN1952894A (zh) * 2005-10-21 2007-04-25 神基科技股份有限公司 具有即刻开启功能的电脑***及其处理方法
CN101083705A (zh) * 2006-05-31 2007-12-05 夏普株式会社 复合机及其控制***和方法、控制装置及其控制方法
CN101853181A (zh) * 2010-05-11 2010-10-06 中达电通股份有限公司 用于嵌入式***的子程序相互调用的方法
CN102298482A (zh) * 2010-06-23 2011-12-28 鸿富锦精密工业(深圳)有限公司 实现进入工程模式的电子装置及其方法

Cited By (13)

* Cited by examiner, † Cited by third party
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 乐视致新电子科技(天津)有限公司 标识、识别智能电视类型的方法及装置
CN106201362A (zh) * 2016-07-22 2016-12-07 纳瓦电子(上海)有限公司 一种储存配置信息方法
CN106201362B (zh) * 2016-07-22 2019-04-30 纳瓦电子(上海)有限公司 一种储存配置信息方法
WO2019037188A1 (zh) * 2017-08-25 2019-02-28 歌尔丹拿音响有限公司 嵌入式设备的模式切换方法和嵌入式设备
CN107656513A (zh) * 2017-08-25 2018-02-02 歌尔丹拿音响有限公司 嵌入式设备的模式切换方法和嵌入式设备
CN107544804A (zh) * 2017-09-01 2018-01-05 北京雷石天地电子技术有限公司 嵌入式***终端开发模式的启动方法及装置
CN108415736A (zh) * 2018-02-06 2018-08-17 新浪网技术(中国)有限公司 利用进程文件***标记程序进程的方法、装置和设备
CN108415736B (zh) * 2018-02-06 2021-03-30 新浪网技术(中国)有限公司 利用进程文件***标记程序进程的方法、装置和设备
CN108595212A (zh) * 2018-03-30 2018-09-28 上海康斐信息技术有限公司 一种快速启动无线路由器的方法及无线路由器
CN109284135A (zh) * 2018-09-07 2019-01-29 深圳市航顺芯片技术研发有限公司 一种简捷调用微控制器内部启动程序的方法
CN109284135B (zh) * 2018-09-07 2022-02-01 深圳市航顺芯片技术研发有限公司 一种简捷调用微控制器内部启动程序的方法

Also Published As

Publication number Publication date
CN102708001B (zh) 2016-01-06

Similar Documents

Publication Publication Date Title
CN102708001B (zh) Linux嵌入式设备及其用户模式与工程模式切换的方法
CN203745958U (zh) Sim卡扩展装置及具有其的移动终端扩展***
CN102650975B (zh) 用于多硬件平台飞腾服务器的i2c总线的实现方法
CN108701109A (zh) 用于计算机扩展总线的插件机制的方法、装置和***
CN105579953A (zh) 灵活引导程序代码架构
CN103761129A (zh) 一种在Bootloader层实现SDIO接口驱动的方法
CN104168119A (zh) 适配卡
CN104182243A (zh) 休眠状态控制***、计算机***及其休眠状态检测的方法
CN102830982A (zh) 处理器配置方法、装置及处理器
CN206292786U (zh) 一种基于ARM和Andriod的嵌入式***
CN102279755A (zh) 嵌入式设备及其内嵌软件的更新方法
CN201708937U (zh) Usb无线网卡
CN101788946B (zh) Cpld上连接有e2prom设备的固件烧结方法及装置
CN205486066U (zh) 基于嵌入式操作***的监控卡
CN101272559A (zh) 一种移动终端连接到计算机时的自启动方法及装置
CN201947254U (zh) 一种可快速实现蓝牙和wifi复用的电路
CN203720584U (zh) 一种基于ARM处理器的微型COM Express处理器模块
CN204836602U (zh) 一种无线指纹打卡路由器
CN104793699A (zh) 开发板板卡
CN201886314U (zh) 一种32位嵌入式数据采集装置
CN101727329B (zh) 主机板***、启动此主机板***的储存装置及连接器
CN104636287B (zh) 数据获取装置及移动终端
CN202838091U (zh) 一种支持sr5690冗余设计的双桥片主板
CN201527648U (zh) ***单芯片数据写入装置
CN205845211U (zh) 一种多功能公共交通卡充移资pos机

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