CN112099856A - 嵌入式系统及系统的启动方法 - Google Patents
嵌入式系统及系统的启动方法 Download PDFInfo
- Publication number
- CN112099856A CN112099856A CN202010791351.4A CN202010791351A CN112099856A CN 112099856 A CN112099856 A CN 112099856A CN 202010791351 A CN202010791351 A CN 202010791351A CN 112099856 A CN112099856 A CN 112099856A
- Authority
- CN
- China
- Prior art keywords
- pin
- memory
- selection
- processor
- control
- 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
Images
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/4401—Bootstrapping
- G06F9/4411—Configuring for operating with peripheral devices; Loading of device drivers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本公开是关于一种嵌入式系统及系统启动方法。该嵌入式系统包括处理器,具有第一I/O引脚及第二I/O引脚及启动选择引脚,用于根据启动选择引脚输入的选择信号选择读取存有系统程序的存储器;至少两个存储器,分别存储有系统程序且分别具有第三I/O引脚,开关电路还包括:连接端,与处理器的第一I/O引脚连接;选通端,选择与一个存储器的第三I/O引脚连接,用于在处理器通过第二I/O引脚连接的存储器内读取系统程序时,供处理器对被选通端连接的存储器进行读写,如此使得处理器读取第二I/O引脚连接的存储器内的系统程序时,可对选通端选择连接的存储器进行读写,从而实现系统在一个存储器内启动时,还可以对其他存储器进行选择性读写。
Description
技术领域
本发明涉及信息技术领域,尤其涉及一种嵌入式系统及系统的启动方法。
背景技术
嵌入式系统是以应用为中心,以现代计算机技术为基础,能够根据用户需求(功能、可靠性、成本、体积、功耗、环境等)灵活裁剪软硬件模块的专用计算机系统。其具有软件代码小、高度自动化、响应速度快等特点。特别适合于要求实时和多任务的体系。其在工业控制、交通管理、信息家电、家庭智能管理系统、网络电子商务、环境工程与自然以及机器人等领域具有广泛应用。在各个领域应用中,嵌入式系统启动是必不可少的操作环节。
发明内容
一方面,本公开提供一种嵌入式系统。
本公开提供的一种嵌入式系统,包括:
处理器,具有第一I/O引脚及第二I/O引脚及启动选择引脚,用于根据启动选择引脚输入的选择信号选择读取存有系统程序的存储器;
至少两个存储器,分别存储有所述系统程序且分别具有第三I/O引脚,
开关电路还包括:
连接端,与所述处理器的第一I/O引脚连接;
选通端,选择与一个所述存储器的第三I/O引脚连接,用于在所述处理器通过所述第二I/O引脚连接的所述存储器内读取所述系统程序时,供所述处理器对被所述选通端连接的存储器进行读写。
在一些实施例中,所述系统还包括:
控制电路,具有输入端和输出端;所述输入端与所述启动选择引脚连接;
所述开关电路还包括:控制端;
所述输出端,与所述控制端连接;
所述控制电路,用于根据所述启动选择引脚输入的选择信号产生控制信号,并将所述控制信号从所述输出端输入所述开关电路的控制端;其中,所述控制信号用于控制所述开关电路的选通端选择连接的存储器的第三I/O引脚。
在一些实施例中,所述控制电路包括:
逻辑运算电路,用于将所述启动选择引脚输入选择信号,通过逻辑运算生成能够控制所述开关电路的控制端的所述控制信号。
在一些实施例中,与所述第二I/O引脚连接的所述存储器和与所述选通端连接所述存储器为两个不同的存储器。
在一些实施例中,与所述第二I/O引脚连接的所述存储器为安全数码卡SD,与所述选通端连接的存储器为闪存,或,
与所述第二I/O引脚连接的所述存储器为闪存,与选通端连接的存储器为安全数码卡SD。
在一些实施例中,所述闪存包括:Nand闪存或QSPI闪存。
另一方面,本公开提供一种系统启动方法,包括:
处理器获取启动选择引脚输入的选择信号;
处理器根据所述选择信号选择读取与第二I/O引脚连接的存有系统程序的存储器,以及所述处理器对被开关电路的选通端连接的存储器进行读写。
在一些实施例中,还包括:
控制电路根据所述启动选择引脚输入的选择信号产生控制信号,并将所述控制信号从所述控制电路的输出端输入所述开关电路的控制端控制所述开关电路的选通端选择连接的存储器的第三I/O引脚。
在一些实施例中,所述控制电路根据所述启动选择引脚输入的选择信号产生控制信号,包括:
所述控制电路包含的逻辑运算电路将所述启动选择引脚输入选择信号,通过逻辑运算生成能够控制所述开关电路的控制端的所述控制信号。
在一些实施例中,与所述第二I/O引脚连接的所述存储器和与所述选通端连接所述存储器为两个不同的存储器。
在一些实施例中,与所述第二I/O引脚连接的所述存储器为安全数码卡SD,与所述选通端连接的存储器为闪存,或,
与所述第二I/O引脚连接的所述存储器为闪存,与选通端连接的存储器为安全数码卡SD。
在一些实施例中,所述闪存包括:Nand闪存或QSPI闪存。
本公开的实施例提供的技术方案可以包括以下有益效果:
本公开实施例的嵌入式系统具有开关电路,用于在处理器通过第二I/O引脚与待读取系统程序的存储器连接时,通过选通端选择连接一个待读写的存储器,同时连接端与处理器的第一I/O引脚连接,由于处理器的第一I/O引脚与第二I/O引脚不同,处理器可以同时通过第一I/O引脚与第二I/O引脚对引脚连接的存储器进行访问,如此使得在系统上电后,处理器读取第二I/O引脚连接的存储器内的系统程序时,可对开关电路的选通端选择连接的存储器进行读写,从而实现系统在一个存储器内启动时,还可以对其他存储器进行选择性读写,相对于系统完全启动后,再对其他存储器进行读写,提高了系统的读写效率,增强了实用性和易用性。
附图说明
图1是根据一示例性实施例示出的典型嵌入式系统启动示意图。
图2是根据另一示例性实施例示出的嵌入式系统启动示意图。
图3为根据一示例性实施例示出的嵌入式系统的结构示意图。
图4是根据一示例性实施例示出的系统启动方法流程图。
图5是根据一示例性实施例示出的系统启动方法逻辑图。
图6根据一示例性实施例示出的SD卡启动方式逻辑图。
图7根据一示例性实施例示出的Nand Flash启动方式逻辑图。
具体实施方式
为使本发明实施例的技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。
在嵌入式板卡系统中,系统的程序存放在非易失存储器中,当系统上电或者复位,CPU主控芯片会从这些存储器加载程序,启动系统。常见的存储方式有Nand Flash(非易失存储器),SD(Secure Digital Memory Card,安全数码存储卡),QSPI Flash(Quad SPIFlash,串行外围接口闪存器)等启动源(Boot Source)。但系统在启动时,CPU并不知道从哪个存储器启动程序,此时需要通过Boot Select Pin的电平信息,来告诉CPU当前的启动源。图1是根据一示例性实施例示出的典型嵌入式系统启动示意图。如图1所示,当Boot SelectPin是4个I/O管脚时,其中BSEL[3:0]。表1为位选择表。如表1所示,0001表示从Nand Flash启动,0010表示从SD卡启动,0100表示从QSPI Flash启动。其中各个存储器有各自的特点。例如,Nand Flash容量大,成本合适,但是有坏块问题;SD卡,读写方便,可以离线读写,升级容易,但是振动测试不好;QSPI Flash,启动快,稳定性高,但是容量小,成本高。
与此同时,不同的启动方式,对应的I/O管脚也不同。不同的硬件,对应的总线不同,所以不同启动源占用的I/O数量都不相同。例如,Nand Flash的需要的数据线和QSPI的不一致。
一般,在嵌入式开发中,通常会选择二种或者三种启动方式。例如SD卡和NandFlash,或者SD卡和QSPI Flash等。一般情况下,主控芯片的外设管脚I/O会单独连接外部启动源,即Nand Flash和主控芯片的专门I/O相连,SD卡和主控芯片的专门I/O相连,同理QSPI。这种情况,只需要通过拨码开关,来控制Boot Select Pin电平状态,就可实现启动源的切换,并且在某一种启动方式下(比如SD卡启动),可以对另外的存储空间(比如NandFlash)读写。
表1
但是有时候,主控芯片的对应外设存储器的管脚并不是独立区分的,而是复用的。图2是根据另一示例性实施例示出的嵌入式系统启动示意图。如图2所示,Nand Flash、SD卡、QSPI Flash通过相同的引脚与主控芯片连接。这种情况,系统通过BSEL选择位,选择启动源后。主控芯片就不能访问其他存储器。比如从SD卡方式启动后,由于引脚被占用,就不能再读写Nand Flash。
本公开提供一种嵌入式系统。图3为根据一示例性实施例示出的嵌入式系统的结构示意图。如图3所示,上述嵌入式系统包括:
处理器,具有第一I/O引脚及第二I/O引脚及启动选择引脚,用于根据启动选择引脚输入的选择信号选择读取存有系统程序的存储器;
至少两个存储器,分别存储有所述系统程序且分别具有第三I/O引脚,
开关电路还包括:
连接端,与所述处理器的第一I/O引脚连接;
选通端,选择与一个所述存储器的第三I/O引脚连接,用于在所述处理器通过所述第二I/O引脚连接的所述存储器内读取所述系统程序时,供所述处理器对被所述选通端连接的存储器进行读写。
在示例性实施例中,处理器可以是Soc芯片或EC芯片等通用I/O(shared I/O)引脚数量有限的主控芯片。通过开关电路连接端固定连接主控芯片的第一I/O引脚(通用I/O引脚),选通端选择连接不同的存储器,从而实现数量有限的通用I/O引脚的复用。同时,通过编程自行定义通用I/O引脚的连接功能,以适应不同的存储器。选通端连接不同的存储器时,通用I/O引脚的定义功能可不同。
在示例性实施例中,存储器至少为两个,可以是3个、4个或5个等。各个存储器可以是不同类型的存储器,例如可以包括闪存、安全数码卡等。
在示例性实施例中,开关电路可以是模拟开关电路,可以包括晶体二极管、晶体管和场效应晶体管等通过电压或电流触发导通或截止元件。
在示例性实施例中,启动选择引脚输入的选择信号可以是通过在各个启动选择引脚上输入的高电平代表1,低电平代表0,而形成的数字排列位选信号,例如0001、0010等。高低电平的输入可以通过跳线对引脚连接高低电平来实现。
当选择信号为0001,第二I/O引脚可连接存储器1,同时开关电路的选通端选择连接存储器2。当选择信号为0010,第二I/O引脚可连接存储器2,同时开关电路的选通端选择连接存储器1。无论选择信号为0001还是0010,开关电路的选通端对不同的存储器进行选择连接时,连接端始终连接处理器的第一I/O引脚。如此使得嵌入式系统在由一种启动方式切换到另一种启动方式,对不同的存储器进行读写时,只需开关电路的选通端进行选择连接不同的存储器即可,无需增加第一I/O引脚的数量,从而通过复用第一I/O引脚的方式,实现不同存储器的读写。
在示例性实施例中,嵌入式系统具有开关电路,用于在处理器通过第二I/O引脚与待读取系统程序的存储器连接时,通过选通端选择连接一个待读写的存储器,同时连接端与处理器的第一I/O引脚连接。由于处理器的第一I/O引脚与第二I/O引脚不同,处理器可以同时通过第一I/O引脚与第二I/O引脚对引脚连接的存储器进行访问。如此使得在系统上电后,处理器读取第二I/O引脚连接的存储器内的系统程序时,可对开关电路的选通端选择连接的存储器进行读写,从而实现系统在一个存储器内启动时,还可以对其他存储器进行选择性读写。
在示例性实施例中,嵌入式系统还包括控制按钮,设置在嵌入式系统的壳体的外侧。控制按钮与开关电路的控制端连接。开关电路检测到控制按钮的按压操作,控制第二1/O引脚连接的存储器。
在一些实施例中,所述系统还包括:
控制电路,具有输入端和输出端;所述输入端与所述启动选择引脚连接;
所述开关电路还包括:控制端;
所述输出端,与所述控制端连接;
所述控制电路,用于根据所述启动选择引脚输入的选择信号产生控制信号,并将所述控制信号从所述输出端输入所述开关电路的控制端;其中,所述控制信号用于控制所述开关电路的选通端选择连接的存储器的第三I/O引脚。
在示例性实施例中,启动选择引脚输入的选择信号在输入处理器的同时,输入控制电路,并由控制电路根据选择信号生成控制信号,传输给开关电路。开关电路可以是模拟开关电路。该模拟开关电路接收控制信号后,可根据不同的控制信号自动切换选通端的连接端子,选择连接的存储器,如此便可实现当选择信号确定后,开关电路便可快速切换连接需要读写的处理器,从而实现处理器根据选择信号选择读取存有系统程序的存储器的时候,也可对开关电路选通端连接的存储器进行读写。
在一些实施例中,所述控制电路包括:
逻辑运算电路,用于将所述启动选择引脚输入选择信号,通过逻辑运算生成能够控制所述开关电路的控制端的所述控制信号。
在示例性实施例中,控制电路中包括逻辑运算电路。通过逻辑运算电路与开关电路形成组合,将不同的选择信号生成为开关电路可以识别的触发控制信号。例如,当通过4个选择位对应形成16中选择信号组合,转换为2种电平触发信号,用以2个存储器之间的切换。当选择信号为0001、0011、0111等最后一位数字为1的信号时,可通过MOS开关电路转换为1信号输出,用以控制选通端选择一种存储器(例如附图3中的存储器2)。当选择信号为0010、0110、1110等最后一位数字为0的信号时,可通过MOS开关电路转换为0信号输出,用以控制选通端选择另一种存储器(例如附图3中的存储器3)。
在一些实施例中,与所述第二I/O引脚连接的所述存储器和与所述选通端连接所述存储器为两个不同的存储器。
在示例性实施例中,与所述第二I/O引脚连接的存储器和与选通端连接的存储器可以是两个不同的存储器,如此当处理器读取第二I/O引脚连接的存储器内的系统程序时,可以对选通端连接的存储器进行读写。
同时,存储器内均存储有系统程序,当与所述第二I/O引脚连接的存储器和与选通端连接的存储器进行调换时,处理器依然可以对第二I/O引脚连接的存储器进行系统程序读取,从而在该存储器内启动系统。
在一些实施例中,与所述第二I/O引脚连接的所述存储器为安全数码卡SD,与所述选通端连接的存储器为闪存,或,
与所述第二I/O引脚连接的所述存储器为闪存,与选通端连接的存储器为安全数码卡SD。
在示例性实施例中,安全数码卡SD和闪存内存储有系统程序。与所述第二I/O引脚连接的所述存储器为安全数码卡SD,与所述选通端连接的存储器为闪存时,可以在SD内启动系统。当与所述第二I/O引脚连接的所述存储器为闪存,与选通端连接的存储器为安全数码卡SD时,可以在闪存内启动系统。
在一些实施例中,所述闪存包括:Nand闪存或QSPI闪存。
在示例性实施例中,第一I/O引脚可以是通用I/O(Shared I/O)引脚,第二I/O引脚可以是专用I/O(dedicated I/O)引脚,启动选择引脚为启动选择管脚(Boot Select Pin)。通用I/O(Shared I/O)引脚和专用I/O(dedicated I/O)引脚均可以是14个,Boot SelectPin可以是4个。开关电路的连接端和选通端可以对应设置14个连接端子,分别一一对应14个引脚。表2为存储器引脚分布表。如表2所示,Nand闪存对应14个引脚,SD对应11个引脚,QSPI闪存对应6个引脚。在具体应用时,模拟开关的14个连接端子均可以切换连接存储器,在具体使用时,可根据表2所示,使用具有功能性的引脚。其中,信号(Signal)列表示专用I/O引脚对应的14个功能引脚用于对应连接存储器的各个引脚。复用选择(MUX Select)列中3列分别对应Nand Flash、SD卡、QSPI Flash的功能引脚。其中,Nand Flash对应有14个功能引脚,直接对应模拟开关的14个连接端子。SD卡连接模拟开关的14个连接端子时,对应使用其中11个功能引脚即可(例如表2中的SDMMC_DATA0、SDMMC_CMD、SDMMC_CCLK等)。QSPIFlash连接模拟开关的14个连接端子时,对应使用其中6个功能引脚即可(例如表2中的QSPI_CLK、QSPI_IO0、QSPI_SS0等)。
表2
本公开还提供一种系统启动方法。图4是根据一示例性实施例示出的系统启动方法流程图。该系统启动方法包括:
步骤40、处理器获取启动选择引脚输入的选择信号;
步骤41、处理器根据所述选择信号选择读取与第二I/O引脚连接的存有系统程序的存储器,以及所述处理器对被开关电路的选通端连接的存储器进行读写。
在示例性实施例中,启动选择引脚输入的选择信号可以是通过在各个启动选择引脚上输入的高电平代表1,低电平代表0,而形成的数字排列位选信号,例如0001、0010等。高低电平的输入可以通过跳线对引脚连接高低电平来实现。
当选择信号为0001,第二I/O引脚可连接存储器1,同时开关电路的选通端选择连接存储器2。当选择信号为0010,第二I/O引脚可连接存储器2,同时开关电路的选通端选择连接存储器1。无论选择信号为0001还是0010,开关电路的选通端对不同的存储器进行选择连接时,连接端始终连接处理器的第一I/O引脚。如此使得嵌入式系统在由一种启动方式切换到另一种启动方式,对不同的存储器进行读写时,只需开关电路的选通端进行选择连接不同的存储器即可,无需增加第一I/O引脚的数量,从而通过复用第一I/O引脚的方式,实现不同存储器的读写。
在示例性实施例中,嵌入式系统中的开关电路在处理器通过第二I/O引脚与待读取系统程序的存储器连接时,通过选通端选择连接一个待读写的存储器,同时连接端与处理器的第一I/O引脚连接。由于处理器的第一I/O引脚与第二I/O引脚不同,处理器可以同时通过第一I/O引脚与第二I/O引脚对引脚连接的存储器进行访问。如此使得在系统上电后,处理器读取第二I/O引脚连接的存储器内的系统程序时,可对开关电路的选通端选择连接的存储器进行读写,从而实现系统在一个存储器内启动时,还可以对其他存储器进行选择性读写。
在一些实施例中,还包括:
控制电路根据所述启动选择引脚输入的选择信号产生控制信号,并将所述控制信号从所述控制电路的输出端输入所述开关电路的控制端控制所述开关电路的选通端选择连接的存储器的第三I/O引脚。
在示例性实施例中,启动选择引脚输入的选择信号在输入处理器的同时,输入控制电路,并由控制电路根据选择信号生成控制信号,传输给开关电路。开关电路可以是模拟开关电路。该模拟开关电路接收控制信号后,可根据不同的控制信号自动切换选通端的连接端子,选择连接的存储器,如此便可实现当选择信号确定后,开关电路便可快速切换连接需要读写的处理器,从而实现处理器根据选择信号选择读取存有系统程序的存储器的时候,也可对开关电路选通端连接的存储器进行读写。
在一些实施例中,所述控制电路根据所述启动选择引脚输入的选择信号产生控制信号,包括:
所述控制电路包含的逻辑运算电路将所述启动选择引脚输入选择信号,通过逻辑运算生成能够控制所述开关电路的控制端的所述控制信号。
在示例性实施例中,控制电路中包括逻辑运算电路。通过逻辑运算电路与开关电路形成组合,将不同的选择信号生成为开关电路可以识别的触发控制信号。例如,选择信号为0001,控制电路将其转换为对应的电平触发信号,用于触发模拟开关电路的选通端对存储器进行选择。在一些实施例中,与所述第二I/O引脚连接的所述存储器和与所述选通端连接所述存储器为两个不同的存储器。
在一些实施例中,与所述第二I/O引脚连接的所述存储器和与所述选通端连接所述存储器为两个不同的存储器。
在示例性实施例中,与所述第二I/O引脚连接的存储器和与选通端连接的存储器可以是两个不同的存储器,如此当处理器读取第二I/O引脚连接的存储器内的系统程序时,可以对选通端连接的存储器进行读写。
同时,存储器内均存储有系统程序,当与所述第二I/O引脚连接的存储器和与选通端连接的存储器进行调换时,处理器依然可以对第二I/O引脚连接的存储器进行系统程序读取,从而在该存储器内启动系统。
在一些实施例中,与所述第二I/O引脚连接的所述存储器为安全数码卡SD,与所述选通端连接的存储器为闪存,或,
与所述第二I/O引脚连接的所述存储器为闪存,与选通端连接的存储器为安全数码卡SD。
在示例性实施例中,安全数码卡SD和闪存内存储有系统程序。与所述第二I/O引脚连接的所述存储器为安全数码卡SD,与所述选通端连接的存储器为闪存时,可以在SD内启动系统。当与所述第二I/O引脚连接的所述存储器为闪存,与选通端连接的存储器为安全数码卡SD时,可以在闪存内启动系统。
在一些实施例中,所述闪存包括:Nand闪存或QSPI闪存。
本公开还提出了一种基于管脚复用的嵌入式系统启动设计方法,用来解决启动后,访问外设存储空间冲突问题,实现从一种方式启动,可以同时访问另一种存储空间,而不会出现无法访问的问题。
图5是根据一示例性实施例示出的系统启动方法逻辑图。如图5所示,主控SOC芯片(处理器)有一组Boot Select Pin来选择启动源加载程序;
主控SOC芯片的专用I/O(dedicated专用I/O)同一时刻只能连接SD卡,或
者Nand Flash,通过Boot Select Pin来选择从SD卡启动还是Nand Flash启动;
主控SOC芯片内部的FPGA逻辑电路,可以通过Shared I/O连接Nand Flash或者SD卡。
基于管脚复用的嵌入式系统启动设计方法,包括如下步骤:
步骤1:主控芯片预先定义一组专用I/O(dedicated I/O)。这组专用的I/O的每个管脚都有固定的说明。例如连接Nand Flash需要14个pin,连接SD卡需要11个pin,连接QSPI需要8个pin,如表2所示。
可以看到3种外设连接(Nand、SD、QSPI队列串行外设接口)都对应着唯一的Dedicated I/O。这决定了物理上主控芯片同一时刻只能连接一种设备,也当然只能访问一种设备。因此需要一些复用逻辑来实现功能。
步骤2:在Dedicated I/O和Shared I/O之间增加一组模拟开关电路(例如NandFlash启动需要14个pin,对应的用14个模拟开关),模拟开关有2个状态,一个连接Dedicated I/O,一个连接Shared I/O。然后通过开关来选择连接哪一侧,从而实现管脚功能的动态切换,功能复用。
步骤3:图6根据一示例性实施例示出的SD卡启动方式逻辑图。如图6所示,SD启动方式,当拨码开关设置Boot Select Pin为SD卡启动方式时候,模拟开关就自动切换到Shared I/O这一侧,和Nand Flash连通;Dedicated I/O则和SD卡连接。如此就可以实现SD卡启动时候,通过Shared I/O对Nand Flash读写。
步骤3.1:注意由于Nand控制器在主控芯片内部,而Shared I/O是通过FPGA的可编程逻辑定义的,而主控芯片对Nand Flash的读写是通过Nand控制器完成的,所以此时需要在FPGA的工程里面把Nand控制器的引脚和Shared I/O相连,引出来和Nand Flash连接,从而实现硬件上Nand控制器和Nand Flash的连通。
步骤4:图7根据一示例性实施例示出的Nand Flash启动方式逻辑图。如图7所示,所示Nand Flash启动方式,当拨码开关设置Boot Select Pin为Nand Flash启动方式时候,模拟开关就自动切换到Shared I/O这一侧,和SD连通。Dedicated I/O则和Nand Flash连接。如此就可以实现Nand Flash启动时候,通过Shared I/O对SD读写。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
Claims (12)
1.一种嵌入式系统,其特征在于,包括:
处理器,具有第一I/O引脚及第二I/O引脚及启动选择引脚,用于根据启动选择引脚输入的选择信号选择读取存有系统程序的存储器;
至少两个存储器,分别存储有所述系统程序且分别具有第三I/O引脚,
开关电路还包括:
连接端,与所述处理器的第一I/O引脚连接;
选通端,选择与一个所述存储器的第三I/O引脚连接,用于在所述处理器通过所述第二I/O引脚连接的所述存储器内读取所述系统程序时,供所述处理器对被所述选通端连接的存储器进行读写。
2.根据权利要求1所述嵌入式系统,其特征在于,所述系统还包括:
控制电路,具有输入端和输出端;所述输入端与所述启动选择引脚连接;
所述开关电路还包括:控制端;
所述输出端,与所述控制端连接;
所述控制电路,用于根据所述启动选择引脚输入的选择信号产生控制信号,并将所述控制信号从所述输出端输入所述开关电路的控制端;其中,所述控制信号用于控制所述开关电路的选通端选择连接的存储器的第三I/O引脚。
3.根据权利要求2所述的嵌入式系统,其特征在于,
所述控制电路包括:
逻辑运算电路,用于将所述启动选择引脚输入选择信号,通过逻辑运算生成能够控制所述开关电路的控制端的所述控制信号。
4.根据权利要求1所述的嵌入式系统,其特征在于,与所述第二I/O引脚连接的所述存储器和与所述选通端连接所述存储器为两个不同的存储器。
5.根据权利要求1所述的嵌入式系统,其特征在于,与所述第二I/O引脚连接的所述存储器为安全数码卡SD,与所述选通端连接的存储器为闪存,或,
与所述第二I/O引脚连接的所述存储器为闪存,与选通端连接的存储器为安全数码卡SD。
6.根据权利要求5所述的嵌入式系统,其特征在于,所述闪存包括:
Nand闪存或QSPI闪存。
7.一种系统启动方法,其特征在于,包括:
处理器获取启动选择引脚输入的选择信号;
处理器根据所述选择信号选择读取与第二I/O引脚连接的存有系统程序的存储器,以及所述处理器对被开关电路的选通端连接的存储器进行读写。
8.根据权利要求7所述的系统启动方法,其特征在于,还包括:
控制电路根据所述启动选择引脚输入的选择信号产生控制信号,并将所述控制信号从所述控制电路的输出端输入所述开关电路的控制端控制所述开关电路的选通端选择连接的存储器的第三I/O引脚。
9.根据权利要求8所述的系统启动方法,其特征在于,所述控制电路根据所述启动选择引脚输入的选择信号产生控制信号,包括:
所述控制电路包含的逻辑运算电路将所述启动选择引脚输入选择信号,通过逻辑运算生成能够控制所述开关电路的控制端的所述控制信号。
10.根据权利要求7所述的系统启动方法,其特征在于,与所述第二I/O引脚连接的所述存储器和与所述选通端连接所述存储器为两个不同的存储器。
11.根据权利要求7所述的系统启动方法,其特征在于,与所述第二I/O引脚连接的所述存储器为安全数码卡SD,与所述选通端连接的存储器为闪存,或,
与所述第二I/O引脚连接的所述存储器为闪存,与选通端连接的存储器为安全数码卡SD。
12.根据权利要求11所述的系统启动方法,其特征在于,所述闪存包括:
Nand闪存或QSPI闪存。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010791351.4A CN112099856B (zh) | 2020-08-07 | 2020-08-07 | 嵌入式系统及系统的启动方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010791351.4A CN112099856B (zh) | 2020-08-07 | 2020-08-07 | 嵌入式系统及系统的启动方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112099856A true CN112099856A (zh) | 2020-12-18 |
CN112099856B CN112099856B (zh) | 2023-05-05 |
Family
ID=73753194
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010791351.4A Active CN112099856B (zh) | 2020-08-07 | 2020-08-07 | 嵌入式系统及系统的启动方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112099856B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113687866A (zh) * | 2021-07-01 | 2021-11-23 | 深圳市昇伟电子科技有限公司 | 基于stm32双核处理器的启动模式实现装置、方法、设备、介质、产品 |
CN115454517A (zh) * | 2022-11-11 | 2022-12-09 | 山东云海国创云计算装备产业创新中心有限公司 | 多介质安全启动的方法、系统、存储介质、设备及芯片 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6018806A (en) * | 1995-10-16 | 2000-01-25 | Packard Bell Nec | Method and system for rebooting a computer having corrupted memory using an external jumper |
CN104051009A (zh) * | 2014-06-20 | 2014-09-17 | 中国科学院微电子研究所 | 一种电阻转变随机存储器rram的选通电路及选通方法 |
US20160299767A1 (en) * | 2015-04-07 | 2016-10-13 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Host bus adapter with built-in storage for local boot-up |
JP2017076412A (ja) * | 2016-11-21 | 2017-04-20 | インテル・コーポレーション | テスト、検証及びデバッグアーキテクチャのプログラム及び方法 |
US10067834B1 (en) * | 2017-10-05 | 2018-09-04 | Dell Products Lp | Systems and methods for resetting one or more system components in response to a watchdog timer (WDT) event |
CN109101455A (zh) * | 2018-08-01 | 2018-12-28 | 湖南国科微电子股份有限公司 | 共享存储系统与基于共享存储系统的待执行程序读写方法 |
CN111489679A (zh) * | 2020-05-15 | 2020-08-04 | Tcl华星光电技术有限公司 | 时序控制器的控制方法及装置以及电子设备 |
-
2020
- 2020-08-07 CN CN202010791351.4A patent/CN112099856B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6018806A (en) * | 1995-10-16 | 2000-01-25 | Packard Bell Nec | Method and system for rebooting a computer having corrupted memory using an external jumper |
CN104051009A (zh) * | 2014-06-20 | 2014-09-17 | 中国科学院微电子研究所 | 一种电阻转变随机存储器rram的选通电路及选通方法 |
US20160299767A1 (en) * | 2015-04-07 | 2016-10-13 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Host bus adapter with built-in storage for local boot-up |
JP2017076412A (ja) * | 2016-11-21 | 2017-04-20 | インテル・コーポレーション | テスト、検証及びデバッグアーキテクチャのプログラム及び方法 |
US10067834B1 (en) * | 2017-10-05 | 2018-09-04 | Dell Products Lp | Systems and methods for resetting one or more system components in response to a watchdog timer (WDT) event |
CN109101455A (zh) * | 2018-08-01 | 2018-12-28 | 湖南国科微电子股份有限公司 | 共享存储系统与基于共享存储系统的待执行程序读写方法 |
CN111489679A (zh) * | 2020-05-15 | 2020-08-04 | Tcl华星光电技术有限公司 | 时序控制器的控制方法及装置以及电子设备 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113687866A (zh) * | 2021-07-01 | 2021-11-23 | 深圳市昇伟电子科技有限公司 | 基于stm32双核处理器的启动模式实现装置、方法、设备、介质、产品 |
CN115454517A (zh) * | 2022-11-11 | 2022-12-09 | 山东云海国创云计算装备产业创新中心有限公司 | 多介质安全启动的方法、系统、存储介质、设备及芯片 |
Also Published As
Publication number | Publication date |
---|---|
CN112099856B (zh) | 2023-05-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5038320A (en) | Computer system with automatic initialization of pluggable option cards | |
CA1335843C (en) | Programmable option select | |
US5687346A (en) | PC card and PC card system with dual port ram and switchable rewritable ROM | |
US20080307154A1 (en) | System and Method for Dual-Ported I2C Flash Memory | |
US5408611A (en) | Auto-switching device for CPU logic circuits | |
CN112099856B (zh) | 嵌入式系统及系统的启动方法 | |
US6067593A (en) | Universal memory bus and card | |
US20040174763A1 (en) | Memory subsystem voltage control and method | |
CN108205393A (zh) | 用于半导体设备中的通信的系统和方法 | |
CN110781130A (zh) | 一种片上系统 | |
KR920006610B1 (ko) | 마이크로 컴퓨터 | |
US20080065789A1 (en) | Multi-purpose IO system | |
CN111179996B (zh) | 数据校准装置及其校准数据存写方法 | |
KR100256522B1 (ko) | I/o 메모리 카드형 무선 선택 페이징 수신기 및 동작 방법 | |
US20060155978A1 (en) | Method for initialising programmable systems | |
US5561813A (en) | Circuit for resolving I/O port address conflicts | |
KR20060123111A (ko) | 멀티-마스터 공유 리소스 시스템에 이용하기 위한 통신스티어링 | |
CN113076274B (zh) | 一种光模块以及软件程序获取方法 | |
US7555580B2 (en) | Multi-function PC card | |
US20050204089A1 (en) | Method and related system for accessing lpc memory or firmware memory in a computer system | |
JPH11328980A (ja) | 不揮発性半導体メモリ | |
CN117149690A (zh) | 电子设备和PCIE Switch芯片的端口配置方法 | |
CN117194314A (zh) | 控制芯片及其工作方法、多设备系统及其工作方法 | |
CN111796539A (zh) | 一种基于mram的低功耗mcu电路 | |
KR100542339B1 (ko) | 메모리 확장장치 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |