一种片上系统启动的方法和装置制造方法及图纸

技术编号:3910400 阅读:238 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种片上系统启动的方法和装置,该方法包括:片上系统上电并启动初始引导程序后,枚举所有可启动接口;依次读取每个启动接口的测试数据,当检测到某个启动接口已连接上启动设备且该启动设备唯一时,从该接口加载后续的引导程序完成系统启动。所述装置包括:接口枚举模块和启动接口获取模块。本发明专利技术提供的方法解决了现有技术中存在的片上系统只能从固定的接口或设备以固定配置启动、一旦外界启动环境改变片上系统将无法启动的问题。

【技术实现步骤摘要】

本专利技术涉及嵌入式设备领域,尤其涉及一种SoC(System on Chip,片上系统)启动 的方法和装置。
技术介绍
SoC是一种高度集成化、固件化的系统集成芯片。它是以应用为中心,对功能、性 能、可靠性、成本、体积、功耗等综合指标严格要求的专用计算机系统,它是包含完整的硬件 与软件系统,可以完成特定功能的微小型计算机系统。SoC主要由嵌入式处理器(CPU(Central Processing Unit,中央处理单元)或 DSP (Digital Signal Processing,数字信号处理))、存储器、相关支撑硬件、嵌入式操作系 统及应用软件等组成,从狭义角度讲,它是信息系统核心的芯片集成,是将系统关键部件集 成在一块芯片上;从广义角度讲,SoC是一个微小型系统。SoC是由硬件与软件两部分组成,它的构成可以是系统级芯片控制逻辑模块、微处 理器/微控制器CPU内核模块、数字信号处理器DSP模块、嵌入的存储器模块、和外部进行 通讯的接口模块、含有ADC(Analog to Digital Converter,模数转换器)/DAC(Digital to Analog Converter,数模转换器)的模拟前端模块、电源提供和功耗管理模块,对于一个无 线SoC还有射频前端模块、用户定义逻辑以及微电子机械模块,更重要的是一个SoC芯片内 嵌有基本软件模块或可载入的用户软件等。SoC的软件部分主要包括Boot loader,系统内核和应用软件,并且在很多SoC软 件系统中,系统内核与应用软件视为一个整体密不可分。Boot loader是硬件系统加电或 复位后执行的第一段代码,它的主要任务包括初始化必要的硬件环境,装载并执行系统内 核。SoC在上电或复位时,通常会从一个特定的内部地址开始按固定的硬件逻辑加载 并开始执行代码、或直接开始执行代码,而这个地址处存放的就是系统的Boot loader程 序,由于在硬件设计完成流片之后,该代码不可改变,我们亦称该代码为“固件”。现在的SoC —般都是将Boot loader代码保存在固件中,当SoC上电之后,通过某 一特定的接口从外部加载系统程序并执行,通过这样的方式来启动SoC,具体的SoC外接通 用启动设备的系统结构图如图1所示。由于SoC芯片在流片后固件不可更改的特性,而该 固件在SoC的初始化与系统的加载过程中扮演了决定性的角色,一旦SoC的外部启动环境 (接口或设备)发生了改变,将直接导致SoC不能工作。因此,本领域需要一种更为灵活的 Boot loader 方法。
技术实现思路
本专利技术提供一种片上系统启动的方法和装置,用以解决现有技术中存在的片上系 统只能从固定的接口或设备以固定配置启动、一旦外界启动环境改变片上系统将无法启动 的问题。本专利技术的一种片上系统启动的方法,包括以下步骤步骤1、片上系统上电并启动初始引导程序后,枚举所有可启动接口 ;步骤2、依次读取每个启动接口的测试数据,当检测到某个启动接口已连接上启动 设备且该启动设备不唯一时,从该接口加载后续的引导程序完成系统启动。其中,所述测试数据包括用以指示当前接口是否已连接上启动设备的指示参数。具体的,所述测试数据还包括用以指示启动接口优先级的优先级参数。进一步的,所述步骤2中,当检测到某个启动接口已连接上启动设备且该启动设 备不唯一时,依次检测并获取所有连接上启动设备的启动接口及其优先级参数,将其中优 先级最高的接口作为启动接口,从该接口加载后续的引导程序完成系统启动。所述步骤2还包括当检测到枚举的所有启动接口均未连接上启动设备时,输出 错误信息。本专利技术还提供一种片上系统启动的装置,包括接口枚举模块,用于在系统上电并启动初始引导程序后,枚举所有可启动接口 ;启动接口获取模块,用于依次读取每个启动接口的测试数据,当检测到某个启动 接口已连接上启动设备且该启动设备唯一时,从该接口加载后续的引导程序完成系统启 动。其中,所述测试数据包括用以指示当前接口是否已连接上启动设备的指示参数。所述测试数据还包括用以指示启动接口优先级的优先级参数。进一步的,所述启动接口获取模块,还用于当检测到某个启动接口已连接上启动 设备且该启动设备不唯一时,依次检测并获取所有连接上启动设备的启动接口及其优先级 参数,将其中优先级最高的接口作为启动接口,从该接口加载后续的引导程序完成系统启 动。所述启动接口获取模块,还用于当检测到枚举的所有启动接口均未连接上启动设 备时,输出错误信息。与现有技术相比,本专利技术具有以下优点本专利技术采用的方法取得了硬件与软件通用性设计上的进步,有效地降低了系统的 硬件成本和片上系统SoC成本,并且当外界平台发生变化,需要SoC以不同的接口及模式启 动的时候,在SoC芯片不重新流片、不修改固件版本、不作其它修改的前提下,能自动地适 应该需求,达到了 SoC集成时的更高适应性及更广的适应范围,提高了 SoC芯片启动及集成 时的适用性及健壮性,降低了系统的硬件成本与SoC成本,并有效地延长了 SoC的有效生命 周期。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图进行简单地介绍,显而易见地,下面描述中的附图仅仅是 本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可 以根据这些附图获得其他的附图。图1为现有技术中SoC外接通用启动设备的系统结构图;图2为本专利技术提供的一种片上系统启动方法流程图3为本专利技术实施例中提供的SoC外接可选启动设备的系统结构图;图4为本专利技术实施例提供的SoC枚举启动设备流程图;图5为本专利技术实施例提供的又一 SoC枚举启动设备流程图;图6为本专利技术实施例提供的又一 SoC外接可选启动设备的系统结构图;图7为本专利技术实施例提供的SOC系统启动主体流程图;图8为本专利技术提供的一种片上系统启动装置结构图。具体实施例方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于 本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他 实施例,都属于本专利技术保护的范围。针对现有技术中SoC只能从固定的接口或设备以固定配置启动,当外界启动环境 一旦改变SoC将无法启动的问题,本专利技术提供了一种片上系统启动的方法和装置,使SoC能 自行枚举SoC的多个接口尝试启动接口或设备,通过枚举行为,在SoC的外部启动环境(接 口或设备)发生了改变之后,SoC将枚举有效的启动接口或设备,一旦枚举成功,则从有效 的启动接口启动,并采用多段式引导的方法,提高了 SoC启动的适应性及灵活性,并且针对 不同的SoC集成平台来配置不同的启动时硬件参数的方式,来优化其启动性能。本专利技术并 不需要对外接的启动接口或设备本身作任何修改,同时也不需要修改任何SoC内部硬件电 路即可实现。具体的,本专利技术提供的一种片上系统启动的方法,如图2所示,包括以下步骤步骤S201、片上系统上电并启动初始弓I导程序后,枚举所有可启动接口。步骤S202、依次读取每个启动接口的测试数据,当检测到某个启动接口已连接上 启动设备且该启动设备唯一时,从该接口加载本文档来自技高网
...

【技术保护点】
一种片上系统启动的方法,其特征在于,包括以下步骤:步骤1、片上系统上电并启动初始引导程序后,枚举所有可启动接口;步骤2、依次读取每个启动接口的测试数据,当检测到某个启动接口已连接上启动设备且该启动设备唯一时,从该接口加载后续的引导程序完成系统启动。

【技术特征摘要】

【专利技术属性】
技术研发人员:翁云峰
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:94[中国|深圳]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1