CN105278974A - 一种芯片启动方法及装置 - Google Patents
一种芯片启动方法及装置 Download PDFInfo
- Publication number
- CN105278974A CN105278974A CN201410305834.3A CN201410305834A CN105278974A CN 105278974 A CN105278974 A CN 105278974A CN 201410305834 A CN201410305834 A CN 201410305834A CN 105278974 A CN105278974 A CN 105278974A
- Authority
- CN
- China
- Prior art keywords
- chip
- processor
- parameter
- configuration
- initialization
- 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
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开了一种芯片启动方法,将芯片引导程序分别烧录于芯片的只读内存和非易失闪存中,判断烧录有两种芯片引导程序的芯片的启动方式,根据判断得到的启动方式启动芯片。本发明还同时公开了一种芯片启动装置。
Description
技术领域
本发明涉及芯片处理技术,尤其涉及一种芯片启动方法及装置。
背景技术
芯片启动代码,也称为固件,通常是随芯片一起封装生产,用于完成芯片最基础的初始化、功能开启和引导业务软件运行等任务;如:双数据率同步动态随机存储器(DoubleDataRateSynchronousDynamicRandomAccessMemory,DDRSRAM)的初始化、通信通道使能和软件版本加载等。
根据应用场景的不同,可以将芯片启动代码烧录在非易失闪存器(norflash)中,或将芯片启动代码烧录在只读内存(Read-OnlyMemory,ROM)中,这使得芯片的启动方式比较单一。
目前,无论将芯片启动代码烧录在norflash中,还是将芯片启动代码烧录在ROM中,在芯片启动后,系统都会根据芯片启动代码中已固定化的参数配置进行系统初始化或功能开启。但是,如果由于生产批次或生产工艺不同等原因引起芯片启动代码中的参数发生变化,而芯片启动代码没能及时反应,就会很容易导致芯片启动发生故障。
发明内容
有鉴于此,本发明实施例期望提供一种芯片启动方法及装置,能提供多种芯片启动方式,并能有效规避芯片启动阶段发生故障的风险。
本发明实施例的技术方案是这样实现的:
本发明实施例提供一种芯片启动方法,将芯片引导程序分别烧录在芯片的只读内存和非易失闪存中,所述方法包括:判断烧录有两种芯片引导程序的芯片的启动方式,根据判断得到的启动方式启动芯片。
优选地,所述芯片内部设有管脚,且所述管脚延伸至芯片外部;
所述判断烧录有两种芯片引导程序的芯片的启动方式,包括:通过采样芯片外部管脚的电位获取芯片的启动配置,根据启动配置确认芯片的启动方式。
优选地,判断芯片的启动方式为通过只读内存启动时,所述根据判断得到的启动方式启动芯片,包括:
对芯片内部处理器和芯片系统进行初始化,获取芯片的启动配置;
根据获取的启动配置对参数配置接口进行初始化,通过参数配置接口配置芯片的系统参数;
对通信接口进行初始化,加载软件驱动,启动芯片。
优选地,获取芯片的启动配置,包括:采样管脚信号,并将采样获得的管脚信号存储,通过读取所述采样获得的管脚信号获取芯片的启动配置。
优选地,所述根据获取的启动配置对参数配置接口进行初始化,包括:根据获取的启动配置中已固化完成的参数对参数配置接口进行初始化;
所述对通信接口进行初始化,包括:根据获取的启动配置中已固化完成的参数对通信接口进行初始化;或,通过参数配置接口对通信接口进行初始化。
本发明实施例还提供一种芯片启动装置,所述装置包括:分别烧录有芯片引导程序的只读内存和非易失闪存;所述装置还包括:第一处理器和第二处理器;其中,
所述第一处理器,用于判断烧录有两种芯片引导程序的芯片的启动方式;
所述第二处理器,用于根据判断得到的启动方式启动芯片。
优选地,所述芯片内部设有管脚,且所述管脚延伸至芯片外部,所述第一处理器具体用于,通过采样芯片外部管脚的电位获取芯片的启动配置,根据启动配置确认芯片的启动方式。
优选地,所述第一处理器判断芯片的启动方式为通过只读内存启动时,所述第二处理器包括:第一子处理器、第二子处理器和第三子处理器;其中,
所述第一子处理器,用于对芯片内部处理器和芯片系统进行初始化,获取芯片的启动配置;
所述第二子处理器,用于根据第一子处理器获取的启动配置对参数配置接口进行初始化,通过参数配置接口配置芯片的系统参数;
所述第三子处理器,用于对通信接口进行初始化,加载软件驱动,启动芯片。
优选地,所述第一子处理器具体用于,采样管脚信号,并将采样获得的管脚信号存储,通过读取所述采样获得的管脚信号获取启动配置。
优选地,所述第二子处理器具体用于,根据获取的启动配置中已固化完成的参数对参数配置接口进行初始化;
所述第三子处理器具体用于,根据获取的启动配置中已固化完成的参数对通信接口进行初始化;或,通过参数配置接口对通信接口进行初始化。
本发明实施例所提供的芯片启动方法及装置,将芯片引导程序分别烧录于芯片的只读内存和非易失闪存中,判断烧录有两种芯片引导程序的芯片的启动方式,根据判断得到的启动方式启动芯片;进一步的,在判断芯片的启动方式为通过只读内存启动时,则先对芯片所属设备的处理器和系统进行初始化,获取芯片启动配置;再根据获取的启动配置对参数配置接口进行初始化,通过参数配置接口配置芯片的系统参数;之后对通信接口进行初始化,加载软件驱动,启动芯片。如此,本发明实施例不仅能提供多种芯片启动方式,而且能通过管脚获取芯片的启动配置,根据获取的启动配置对芯片所属设备进行初始化和系统参数配置,从而降低芯片启动发生故障的风险。
附图说明
图1为本发明实施例芯片启动方法的基本处理流程示意图;
图2为本发明实施例通过ROM方式启动芯片的处理流程示意图;
图3为本发明实施例芯片启动装置的组成结构示意图;
图4为本发明实施例芯片的启动方式为通过只读内存启动时第二处理器的组成结构示意图。
具体实施方式
本发明实施例中,将芯片引导程序分别烧录于芯片的只读内存和非易失闪存中,判断烧录有两种芯片引导程序的芯片的启动方式,根据判断得到的启动方式启动芯片。
本发明实施例中,将芯片引导程序分别烧录于芯片的只读内存和非易失闪存中,芯片启动方法的基本处理流程如图1所示,包括以下步骤:
步骤101,判断烧录有两种芯片引导程序的芯片的启动方式;
具体地,在芯片内部设有管脚,且所述管脚延伸至所述芯片外部,所述管脚的数目可根据芯片的资源情况灵活设定;通过采样芯片外部管脚的电位获取芯片的启动配置,根据获得的启动配置确认芯片的启动方式;
其中,芯片的启动方式包括:通过ROM启动芯片和通过norflash启动芯片两种;
这里,可以通过改变芯片的电阻值来修改管脚的电位;所述电阻可以是开关电阻、或上拉电阻等等。
步骤102,根据判断得到的启动方式启动芯片;
具体地,判断得到的启动方式为通过norflash启动芯片时,如何启动芯片与现有技术相同,这里不再赘述;
判断得到的启动方式为通过ROM启动芯片时,通过ROM方式启动芯片。
进一步地,通过ROM方式启动芯片的处理流程如图2所示,包括以下步骤:
步骤201,对芯片内部处理器和芯片系统进行初始化;
其中,初始化的内容包括:跳转BOOTROM真实地址初始化、使能高速缓冲存储器初始化、中央处理器初始化、使能分支预测功能初始化、以及将程序的可读写段搬运到系统中可用的静态随机存储器内,并初始化程序堆栈等。
步骤202,获取芯片的启动配置;
具体地,芯片上电复位后,采样管脚信号,并将采样获得的管脚信号存储,通过读取所述采样获得的管脚信号获取芯片的启动配置;
其中,启动配置包括:启动方式、引导方式、初始化参数获取方式、芯片身份标识(Identity,ID)等信息;
这里,可以将采样获得的管脚信号存储至启动配置寄存器或其它存储器内,管脚信号的存储形式可以根据管脚的数目和启动配置的内容等灵活定义。
以芯片设有八个管脚为例,管脚信号的存储形式如表1所示:
表1
以芯片设有四个管脚为例,管脚信号的存储形式如表2所示:
表2
以芯片设有两个管脚为例,管脚信号的存储形式如表3所示:
表3
步骤203,根据获取的启动配置对参数配置接口进行初始化;
具体地,根据获取的启动配置中已固化完成的参数对参数配置接口进行初始化;
其中,所述参数配置接口包括:I2C接口、SPI接口、UART接口、SRIO接口、USB接口和以太网口等。
步骤204,通过参数配置接口配置芯片的系统参数;
具体地,在参数配置接口初始化后,加载相应的驱动,与芯片外部实现有效的请求应答;通过在芯片外部配置参数配置接口,将芯片的系统参数配置到芯片内指定的地址或寄存器内;
其中,所述相应的驱动包括芯片需要执行的应用对应的驱动等;指定的地址是指预先在芯片内划分的专门用于存储系统参数的存储区域对应的地址。
通过参数配置接口可对后续使用的通信接口进行初始化参数配置,也可以实现对芯片的功能,如:DDR初始化,时钟等进行关闭或使能。本发明实施例通过参数配置接口配置芯片的系统参数,不仅增加了芯片调试方法,而且方便进行早期参数调试。
步骤205,对通信接口进行初始化,加载软件驱动,启动芯片;
具体地,可以根据获取的启动配置中已固化完成的参数对通信接口进行初始化;或,通过参数配置接口对通信接口进行初始化;通信接口初始化完成后,加载软件驱动,与芯片外部建立交互机制,处理请求与应答;
其中,所述软件驱动具有处理读请求、写请求、块数据读写请求、程序跳转请求的能力,以及完成软件版本下载和跳转执行功能;所述通信接口包括:I2C接口、SPI接口、UART接口、SRIO接口、USB接口和以太网口等。本发明实施例提供的多种通信接口,为加载软件版本提供多种途径,提高了芯片启动的灵活性,可降低芯片启动发生故障的风险。
为实现上述芯片方法,本发明实施例还提供了一种芯片启动装置,所述装置的组成结构如图3所示,包括:第一处理器11、第二处理器12、只读内存13和非易失闪存14;其中,
所述第一处理器11,用于判断烧录有两种芯片引导程序的芯片的启动方式;
所述第二处理器12,用于根据判断得到的启动方式启动芯片;
所述只读内存13,用于存储烧录的芯片引导程序;
所述非易失闪存14,用于存储烧录的芯片引导程序;
其中,所述只读内存13内存储的芯片引导程序与非易失闪存14存储的芯片引导程序不同。
进一步地,所述芯片内部设有管脚,且所述管脚延伸至芯片外部,所述第一处理器具体用于,通过采样芯片外部管脚的电位获取芯片的启动配置,根据启动配置确认芯片的启动方式。
进一步地,所述第一处理器11判断芯片的启动方式为通过只读内存启动时,所述第二处理器12的组成结构如图4所示,包括:第一子处理器1、第二子处理器2和第三子处理器3;其中,
所述第一子处理器1,用于对芯片内部处理器和芯片系统进行初始化,获取芯片启动配置;
所述第二子处理器2,用于根据第一子处理器1获取的启动配置对参数配置接口进行初始化,通过参数配置接口配置芯片的系统参数;
所述第三子处理器3,用于对通信接口进行初始化,加载软件驱动,启动芯片。
进一步地,所述第一子处理器1具体用于,采样管脚信号,并将采样获得的管脚信号存储,通过读取所述采样获得的管脚信号获取启动配置。
所述第二子处理器2具体用于,根据获取的启动配置中已固化完成的参数对参数配置接口进行初始化。
所述第三子处理器3具体用于,根据获取的启动配置中已固化完成的参数对通信接口进行初始化;或,通过参数配置接口对通信接口进行初始化。
需要说明的是,本发明实施例所述芯片可以是移动终端内的芯片、无线芯片和有线芯片等。
需要说明的是,在实际应用中,所述第一处理器11、第二处理器12、只读内存13和非易失闪存14可以采用位于芯片启动装置上的中央处理器(CPU)、或微处理器(MPU)、或数字信号处理器(DSP)、或可编程门阵列(FPGA)实现。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
Claims (10)
1.一种芯片启动方法,其特征在于,将芯片引导程序分别烧录在芯片的只读内存和非易失闪存中,所述方法包括:
判断烧录有两种芯片引导程序的芯片的启动方式,根据判断得到的启动方式启动芯片。
2.根据权利要求1所述芯片启动方法,其特征在于,所述芯片内部设有管脚,且所述管脚延伸至芯片外部;
所述判断烧录有两种芯片引导程序的芯片的启动方式,包括:通过采样芯片外部管脚的电位获取芯片的启动配置,根据启动配置确认芯片的启动方式。
3.根据权利要求1或2所述芯片启动方法,其特征在于,判断芯片的启动方式为通过只读内存启动时,所述根据判断得到的启动方式启动芯片,包括:
对芯片内部处理器和芯片系统进行初始化,获取芯片的启动配置;
根据获取的启动配置对参数配置接口进行初始化,通过参数配置接口配置芯片的系统参数;
对通信接口进行初始化,加载软件驱动,启动芯片。
4.根据权利要求3所述芯片启动方法,其特征在于,所述获取芯片的启动配置,包括:
采样管脚信号,并将采样获得的管脚信号存储,通过读取所述采样获得的管脚信号获取芯片的启动配置。
5.根据权利要求3所述芯片启动方法,其特征在于,所述根据获取的启动配置对参数配置接口进行初始化,包括:
根据获取的启动配置中已固化完成的参数对参数配置接口进行初始化;
所述对通信接口进行初始化,包括:
根据获取的启动配置中已固化完成的参数对通信接口进行初始化;或,通过参数配置接口对通信接口进行初始化。
6.一种芯片启动装置,其特征在于,所述装置包括:分别烧录有芯片引导程序的只读内存和非易失闪存;所述装置还包括:第一处理器和第二处理器;其中,
所述第一处理器,用于判断烧录有两种芯片引导程序的芯片的启动方式;
所述第二处理器,用于根据判断得到的启动方式启动芯片。
7.根据权利要求6所述芯片启动装置,其特征在于,所述芯片内部设有管脚,且所述管脚延伸至芯片外部,所述第一处理器具体用于,通过采样芯片外部管脚的电位获取芯片的启动配置,根据启动配置确认芯片的启动方式。
8.根据权利要求6或7所述芯片启动装置,其特征在于,所述第一处理器判断芯片的启动方式为通过只读内存启动时,所述第二处理器包括:第一子处理器、第二子处理器和第三子处理器;其中,
所述第一子处理器,用于对芯片内部处理器和芯片系统进行初始化,获取芯片的启动配置;
所述第二子处理器,用于根据第一子处理器获取的启动配置对参数配置接口进行初始化,通过参数配置接口配置芯片的系统参数;
所述第三子处理器,用于对通信接口进行初始化,加载软件驱动,启动芯片。
9.根据权利要求8所述芯片启动装置,其特征在于,所述第一子处理器具体用于,采样管脚信号,并将采样获得的管脚信号存储,通过读取所述采样获得的管脚信号获取启动配置。
10.根据权利要求8所述芯片启动装置,其特征在于,所述第二子处理器具体用于,根据获取的启动配置中已固化完成的参数对参数配置接口进行初始化;
所述第三子处理器具体用于,根据获取的启动配置中已固化完成的参数对通信接口进行初始化;或,通过参数配置接口对通信接口进行初始化。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410305834.3A CN105278974A (zh) | 2014-06-30 | 2014-06-30 | 一种芯片启动方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410305834.3A CN105278974A (zh) | 2014-06-30 | 2014-06-30 | 一种芯片启动方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105278974A true CN105278974A (zh) | 2016-01-27 |
Family
ID=55148030
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410305834.3A Pending CN105278974A (zh) | 2014-06-30 | 2014-06-30 | 一种芯片启动方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105278974A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106528123A (zh) * | 2016-10-26 | 2017-03-22 | 珠海全志科技股份有限公司 | 一种基于eFuse模块的SoC启动方法和装置 |
CN106528155A (zh) * | 2016-11-10 | 2017-03-22 | 深圳怡化电脑股份有限公司 | 一种验钞控制器的固件启动的系统、方法及装置 |
CN107958155A (zh) * | 2016-10-17 | 2018-04-24 | 深圳市中兴微电子技术有限公司 | 一种系统初始化方法和装置 |
CN108021812A (zh) * | 2016-10-28 | 2018-05-11 | 深圳市中兴微电子技术有限公司 | 一种芯片的安全启动方法及装置 |
CN108399932A (zh) * | 2017-02-04 | 2018-08-14 | 中兴通讯股份有限公司 | 多芯片初始化方法及装置 |
CN110858254A (zh) * | 2018-08-22 | 2020-03-03 | 北京芯愿景软件技术股份有限公司 | 一种安全芯片 |
CN112306782A (zh) * | 2020-11-24 | 2021-02-02 | 中国人民解放军军事科学院国防科技创新研究院 | 面向调测试的操作系统内核引导与加载硬件架构及方法 |
CN115220978A (zh) * | 2022-09-19 | 2022-10-21 | 瀚博半导体(上海)有限公司 | 包括在线调试模式的芯片启动方法和装置、芯片和设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101169727A (zh) * | 2007-11-12 | 2008-04-30 | 中兴通讯股份有限公司 | 一种cpu系统的启动方法及系统 |
CN101699402A (zh) * | 2009-06-12 | 2010-04-28 | 苏州国芯科技有限公司 | 一种多模式启动的嵌入式系统 |
CN102360569A (zh) * | 2011-08-24 | 2012-02-22 | 中兴通讯股份有限公司 | 非易失闪存芯片烧录方法、系统及装置 |
CN102388366A (zh) * | 2011-09-22 | 2012-03-21 | 华为技术有限公司 | 实现不同处理器兼容的方法及装置 |
-
2014
- 2014-06-30 CN CN201410305834.3A patent/CN105278974A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101169727A (zh) * | 2007-11-12 | 2008-04-30 | 中兴通讯股份有限公司 | 一种cpu系统的启动方法及系统 |
CN101699402A (zh) * | 2009-06-12 | 2010-04-28 | 苏州国芯科技有限公司 | 一种多模式启动的嵌入式系统 |
CN102360569A (zh) * | 2011-08-24 | 2012-02-22 | 中兴通讯股份有限公司 | 非易失闪存芯片烧录方法、系统及装置 |
CN102388366A (zh) * | 2011-09-22 | 2012-03-21 | 华为技术有限公司 | 实现不同处理器兼容的方法及装置 |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107958155A (zh) * | 2016-10-17 | 2018-04-24 | 深圳市中兴微电子技术有限公司 | 一种系统初始化方法和装置 |
WO2018072442A1 (zh) * | 2016-10-17 | 2018-04-26 | 深圳市中兴微电子技术有限公司 | 一种系统初始化方法和装置、存储介质 |
CN106528123A (zh) * | 2016-10-26 | 2017-03-22 | 珠海全志科技股份有限公司 | 一种基于eFuse模块的SoC启动方法和装置 |
CN108021812A (zh) * | 2016-10-28 | 2018-05-11 | 深圳市中兴微电子技术有限公司 | 一种芯片的安全启动方法及装置 |
CN108021812B (zh) * | 2016-10-28 | 2020-08-18 | 深圳市中兴微电子技术有限公司 | 一种芯片的安全启动方法及装置 |
CN106528155A (zh) * | 2016-11-10 | 2017-03-22 | 深圳怡化电脑股份有限公司 | 一种验钞控制器的固件启动的系统、方法及装置 |
CN106528155B (zh) * | 2016-11-10 | 2020-01-14 | 深圳怡化电脑股份有限公司 | 一种验钞控制器的固件启动的系统、方法及装置 |
CN108399932A (zh) * | 2017-02-04 | 2018-08-14 | 中兴通讯股份有限公司 | 多芯片初始化方法及装置 |
CN110858254A (zh) * | 2018-08-22 | 2020-03-03 | 北京芯愿景软件技术股份有限公司 | 一种安全芯片 |
CN112306782A (zh) * | 2020-11-24 | 2021-02-02 | 中国人民解放军军事科学院国防科技创新研究院 | 面向调测试的操作系统内核引导与加载硬件架构及方法 |
CN112306782B (zh) * | 2020-11-24 | 2022-04-26 | 中国人民解放军军事科学院国防科技创新研究院 | 面向调测试的操作系统内核引导与加载硬件及方法 |
CN115220978A (zh) * | 2022-09-19 | 2022-10-21 | 瀚博半导体(上海)有限公司 | 包括在线调试模式的芯片启动方法和装置、芯片和设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105278974A (zh) | 一种芯片启动方法及装置 | |
US10936327B2 (en) | Method of implementing magnetic random access memory (MRAM) for mobile system-on-chip boot | |
CN102646045B (zh) | 多处理器系统及其并行启动方法 | |
CN103207797B (zh) | 基于通用可扩展固件接口固件系统的胶囊式定制更新方法 | |
CN106293832B (zh) | 一种soc芯片引导启动方法及系统 | |
KR102152782B1 (ko) | 메모리 장치를 제조하는 방법과 작동 방법, 및 이를 포함하는 시스템의 작동 방법 | |
US8972975B1 (en) | Bounded installation time optimization of applications | |
US20140052403A1 (en) | Test system and test method thereof | |
WO2016091071A1 (zh) | 加载Linux内核驱动的方法及装置 | |
CN110389787B (zh) | 应用处理器、片上系统和引导设备的方法 | |
US9436480B1 (en) | Firmware RAM usage without overlays | |
US20230315213A1 (en) | Program download method for intelligent terminal and intelligent terminal | |
CN113961259A (zh) | 启动引导程序加载方法、装置、系统、电子设备及介质 | |
US20150317152A1 (en) | Patching of Program Code Executed from One Time Programmable Memory | |
CN102520976B (zh) | 一种dsp程序的固化方法 | |
CN108304313B (zh) | 一种用于数据测试的装置、客户端及方法 | |
CN106681755B (zh) | 产品id配置方法以及嵌入式设备的程序加载方法 | |
US9495146B2 (en) | Host and method of upgrading connection manager of dongles | |
WO2015006923A1 (en) | Techniques for dynamically redirecting device driver operations to user space | |
US8275981B2 (en) | Flash storage system and method for accessing a boot program | |
US20150248246A1 (en) | Semiconductor device | |
CN102799496A (zh) | 一种与非型闪存操作系统内核和文件系统校验方法及装置 | |
US20170131946A1 (en) | Method and device for formatting storage of mobile terminal | |
CN106648788B (zh) | 应用程序的安装方法及装置 | |
US8117427B2 (en) | Motherboard, storage device and controller thereof, and booting method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160127 |