CN104583951A - 通过usb进行附件引导 - Google Patents
通过usb进行附件引导 Download PDFInfo
- Publication number
- CN104583951A CN104583951A CN201380044509.XA CN201380044509A CN104583951A CN 104583951 A CN104583951 A CN 104583951A CN 201380044509 A CN201380044509 A CN 201380044509A CN 104583951 A CN104583951 A CN 104583951A
- Authority
- CN
- China
- Prior art keywords
- annex
- main process
- process equipment
- firmware image
- firmware
- 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
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/4416—Network booting; Remote initial program loading [RIPL]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本发明描述了用于利用从主机设备所接收的附件固件图像来引导附件的方法、系统与装置。当主机设备检测到附件和主机设备之间的连接时,主机设备可向附件发送对附件标识符的请求。作为响应,附件可向主机设备发送附件标识符。主机设备可选择适用于附件的附件固件图像,并可向附件传输附件固件图像。附件固件图像可包括附件可用来使得附件能够与主机设备交换应用数据的信息。
Description
背景技术
本公开整体涉及与计算设备进行互操作的附件,并且更具体地涉及引导此类附件。
近年来,用户可用于执行功能诸如媒体存储和回放、联网、网络浏览、收发电子邮件、文字处理、数据存储、应用执行和/或任何其他计算或通信功能的计算设备的数量已显著增长。可执行这些功能的计算设备的范围从台式计算机、游戏控制台、媒体服务器/播放器到便携式计算设备,诸如膝上型电脑、上网本、平板电脑、移动电话、个人数字助理(PDA)、便携式媒体播放器/阅读器、便携式游戏设备等。计算设备的实例包括由本专利申请的受让人Apple Inc.制造和销售的各种和模型,以及由其他制造商和经销商在其相应商标名称下制造和销售的其他电子设备。
随着计算设备的数量的增长,还创建了与计算设备一起使用的附件。此类附件可使用一个或多个连接器、端口和/或通信接口来与计算设备进行通信。可使用此类附件来控制计算设备的特征或由计算设备用于与用户和/或环境进行交互。当附件被打开或初始接收功率时,附件可执行引导序列以加载该附件用于与计算设备进行互操作的附件软件。
然而,附件的附件软件可能不会始终与运行于计算设备上的软件兼容。因此,可能存在这样的情况,由于附件和计算设备之间的软件不兼容性,因此禁止附件与计算设备进行互操作。例如,假设用户具有附件诸如扬声器任务栏,其可与不同的计算设备诸如便携式媒体播放器(例如)或移动电话(例如)对接。用户可能具有运行移动设备软件的一个版本的移动电话,该移动设备软件与扬声器任务栏的软件兼容。同一用户可能具有运行移动设备软件的不同版本的便携式媒体播放器,该移动设备软件可能与扬声器任务栏的软件不兼容。在此类情况下,因为两个设备之间的软件不兼容性,可能禁止用户使用具有扬声器任务栏的便携式媒体播放器。
消除此类软件不兼容性的一种方法是确保附件(上文的实例中的扬声器任务栏)和移动电话以及便携式媒体播放器均被更新为具有彼此兼容的软件版本。然而,这是比较麻烦的并且要求用户经常确保他的所有设备均具有兼容的软件版本。在用户具有许多设备的情况下,此类方案将非常不切实际并且大大减弱了对这些设备的用户体验。
发明内容
本公开的各种实施例描述了用于引导附件的方法,其中从主机设备(例如计算设备)向附件传输附件固件图像。在一些实施例中,当检测到附件和主机设备之间的连接时,主机设备可通过向附件发送对附件标识符的请求来验证附件。当验证附件时,主机设备可选择适合于附件的附件固件图像,并向附件传输附件固件图像。附件固件图像可包括附件可用来使得附件能够与主机设备交换应用数据并进行互操作的信息。例如,附件固件图像可包括附件可执行以加载附件软件的程序代码,诸如操作系统(OS)和/或附件可运行以使用应用或特定于设备的协议来与主机设备进行通信并交换应用数据的一个或多个应用程序。
根据本发明的各种实施例,在从主机设备接收到附件固件图像之前,附件不将任何附件固件图像存储在附件中。换句话讲,在从主机设备接收到附件固件图像之前,非易失性存储器或附件的任何其他存储器(例如随机存取存储器)均不具有附件可用于引导其自身的预加载的附件固件图像。相反,当验证附件时,可使用该主机设备向附件发送的附件固件图像来引导附件。
本发明的各种实施例还提供了一种可具有存储于其中的多个固件图像的主机设备。主机设备可具有主机设备用于引导其自身的主机固件图像,以及用于引导主机设备可与其进行互操作的不同类型的附件的一个或多个附件固件图像。当检测到与附件的连接时,主机设备可为该特定附件选择合适的附件固件图像,并向附件传输附件固件图像,使得可使用由主机设备所选择的附件固件图像来引导附件。
以下详细描述连同附图一起将提供对本文所公开的实施例的实质和优点的更好的理解。
附图说明
图1A示出了根据本发明的一个实施例的耦接到主机设备的附件,该附件可使用该主机设备以用于引导该附件。
图1B示出了根据本发明的另一个实施例的耦接到主机设备的附件,该附件可使用该主机设备以用于引导该附件。
图2示出了根据本发明的一个实施例的耦接到主机设备的附件的框图。
图3示出了根据本发明的一个实施例的在附件的引导序列期间显示附件和主机设备之间的信息交换的图示。
图4示出了根据本发明的一个实施例的用于使用主机设备来引导附件的过程的流程图。
图5示出了根据本发明的另一个实施例的用于引导附件的过程的流程图。
图6示出了根据本发明的一个实施例的一种插头连接器的透视图。
图7A示出了根据本发明的一个实施例的与插头连接器兼容的插座连接器的透视图。
图7B示出了根据本发明的一个实施例的与插头连接器兼容的插座连接器的平面横截面图。
图8A示出了根据本发明的一个实施例的连接器的示例性引脚。
图8B示出了根据本发明的另一个实施例的连接器的示例性引脚。
具体实施方式
本发明的各种实施例涉及使用从主机设备所接收的信息来引导附件。根据本发明的一些实施例,附件不存储/具有预加载的附件固件图像,并且依赖主机设备向附件传输合适的附件固件图像。在一些实施例中,当主机设备检测到与附件的连接时,主机设备可验证附件并向附件传输附件固件图像。然后附件可在附件的引导序列期间使用从主机设备所接收的附件固件图像来加载附件软件,该附件软件可用于与主机设备交换数据并与主机设备进行互操作。
根据本发明的一些实施例,主机设备可存储用于引导或初始化主机设备的主机固件图像。此外,主机设备还可包括与不同类型的附件相关联的一个或多个附件固件图像。可将附件固件图像保持为与主机固件图像兼容的版本。因为主机设备中的附件固件图像被保持为与主机固件图像兼容的版本,所以可在运行于主机设备上的主机软件和使用来自主机设备的附件固件图像而被加载到附件中的附件软件之间确保兼容性。用户可将同一附件与不同的主机设备一起使用而无需用户在将附件与新的或不同的主机设备一起使用之前手动更新附件软件。此外,在一些实施例中,因为附件不具有预加载的附件固件图像,所以可将附件中的非易失性存储器的存储器容量减小以降低制造成本。
图1A示出了根据一个实施例的耦接到主机设备110的附件130,该附件130可使用该主机设备以用于进行引导。在该实施例中,主机设备110可以是如图所示的平板计算设备或是另一种类型的计算设备。主机设备110可包括用户界面112诸如触摸屏、以及一个或多个按钮114,用户可使用该一个或多个按钮来操作和控制主机设备110。主机设备110还可包括附件接口115(例如连接器、端口和/或通信接口)以将主机设备110耦接到附件130。根据该实施例,附件130可以是如图所示的可用于将主机设备110连接到外围设备150的软件狗。附件130可包括将附件130耦接到主机设备110的主机接口136(例如连接器、端口和/或通信接口),以及将附件130耦接到外围设备150的外围设备接口138(例如,连接器、端口和/或通信接口)。附件130的外围设备接口138可包括向外围设备150提供无线连接(例如无线USB、WiFi、蓝牙等)的无线通信接口。在其他实施例中,外围设备接口138和/或主机接口136中的任一者或两者可向相应的设备提供有线或无线连接。附件130可包括执行附件130的特定功能的特定于附件的硬件,诸如用于将来自主机设备110的数据转换成用于外围设备150的合适格式的电路。在该实施例中,外围设备150可以是如图所示的显示监视器。在其他实施例中,外围设备150可以是任何类型的附件。外围设备150可包括可用于显示通过附件130从主机设备110向外围设备150所传输的媒体文件和/或其他信息的屏幕152。
图1B示出了根据一个实施例的耦接到主机设备110的附件140,该附件140可使用该主机设备以用于进行引导。主机设备110可以是如图所示的平板计算设备或另一种类型的计算设备。主机设备110的附件接口(未示出)可包括可与附件140通信和交换数据的无线通信接口(例如无线USB、WiFi、蓝牙等)。根据该实施例,附件140可以是如图所示的显示监视器或可与主机设备110一起使用的任何类型的附件。附件140的主机接口(未示出)可包括提供无线连接(例如无线USB、WiFi、蓝牙等)的无线通信接口,以与主机设备110通信和交换数据。在其他实施例中,可使用电缆来将附件140的主机接口连接到主机设备110。
图1A-图1B中所示的主机设备110可以是不受限制的任何类型的计算和/或通信设备。例如,可使用台式计算机、游戏控制台、媒体服务器/播放器、膝上型电脑、上网本、平板电脑、移动电话、PDA、便携式媒体播放器/阅读器、便携式游戏设备等。主机设备110可提供媒体播放器功能、联网、网络浏览、收发电子邮件、文字处理、数据存储、应用执行和/或任何其他计算或通信功能中的一种或多种。
图1A-图1B中所示的附件130或140可以是能够与主机设备102进行通信的任何设备,诸如例如软件狗、插接站、集线器、外部扬声器系统、外部视频设备(例如显示监视器或投影仪)、多媒体设备、消费电子设备、测试仪器、家用电器(例如冰箱或洗碗机)、训练设备、安全系统、家用或办公自动化系统、相机、用户输入设备(例如键盘、鼠标、游戏控制器)、测量设备、医疗设备(例如血糖监视器或胰岛素监视器)、销售点设备、汽车、汽车配件(例如汽车音响系统或汽车导航系统)、无线电部件(例如FM、AM和/或卫星)、飞机、公共汽车、火车或其他大众交通工具上的娱乐控制台等。可将能够与主机设备一起使用的任何类型的设备用作附件。
图2示出了根据一些实施例的可通信地耦接到附件280(例如,图1A-图1B的实现附件130或140)的主机设备210(例如,图1A-图1B的实现主机设备110)的框图。主机设备210可经由有线通信信道诸如通用串行总线(“USB”)、火线(IEEE 1394标准)或通用异步接收器/发射器(“UART”)等或无线通信信道诸如无线USB、蓝牙(由Bluetooth SIG开发并以商标被许可的短程无线通信标准)、WiFi(符合IEEE802.11系列标准中的任一标准)等通信地耦接到附件280。
主机设备210可包括处理器211、存储部件212、用户界面(UI)213、网络接口214和附件接口215。可被实现为一个或多个集成电路(包括例如一个或多个微处理器和/或微控制器和/或多核处理器)的处理器211可控制主机设备210的操作。例如,响应于由用户界面213所提供的用户输入信号,处理器211可执行各种任务,诸如选择和播放可存储于存储部件212中的媒体资产、访问各种网络(例如移动电话网络、互联网、局域网等)以使用网络接口214来发送和/或检索数据、执行软件诸如驻留在存储部件212中的操作系统(OS)和/或应用程序,等等。处理器211还可管理经由附件接口215与附件通信和交换数据。
用户界面213可包括输入控件诸如触摸板、触摸屏、滚轮、点击式触摸转盘、拨号盘、按钮、小键盘、麦克风等,以及输出设备诸如显示屏、指示灯、扬声器、耳机接口等,连同配套的电子器件(例如,数模转换器或模数转换器、信号处理器等)。用户可操作用户界面213的各种输入控件以调用主机设备210的功能,并且还可经由用户界面213来查看和/或收听来自主机设备210的输出。
例如可使用磁盘、非易失性存储器诸如闪存存储器、ROM、PROM、EPROM或其他非易失性存储介质或它们的组合来实现存储部件212。存储部件212还可包括随机存取存储器(RAM)。在一些实施例中,存储部件212可使用例如非易失性存储器来存储主机固件图像216。当主机设备210接通电源时,处理器211可执行主机固件图像216中的程序代码以将软件诸如操作系统(OS)加载到例如存储部件212的RAM(未示出)中。处理器211然后可运行来自存储部件212的RAM的OS以管理主机设备210的操作。
在一些实施例中,存储部件212可存储可用于引导不同类型的附件的一个或多个附件固件图像217(1)-(n),该主机设备210可与该不同类型的附件进行互操作。在一些实施例中,根据附件的数量和存储部件212的存储器容量,“n”可以是任意数。附件固件图像217(1)-(n)可由附件用于加载与主机软件兼容的附件软件,主机固件图像216将该主机软件加载到主机设备210中。例如,附件固件图像217(1)-(n)可由附件用于加载相同类型和/或版本的OS和/或一个或多个应用程序,主机固件图像216将该相同类型和/或版本的OS和/或一个或多个应用程序加载到主机设备210中。附件固件图像217(1)-(n)可部分地基于主机固件图像216,并且可从主机固件图像216导出或构建。例如,附件固件图像217(1)-(n)可包括主机固件图像216的某些部分或片段。因此,附件固件图像217(1)-(n)可包括一些与主机固件图像216相同的程序代码。除此之外或作为另外一种选择,附件固件图像217(1)-(n)可包括与主机固件图像216相同的涉及相同一组函数调用或使用相同一组库函数的程序代码。在其他实施例中,与主机固件图像216相比,附件固件图像217(1)-(n)可包括更多或更少的信息。附件固件图像中的一些附加信息可特定于使用附件固件图像的附件的类型。此外,在一些实施例中,基于使用附件固件图像的附件的类型,附件固件图像也可彼此不同。例如,用于视频附件的附件固件图像可与用于音频附件的附件固件图像不同。在一些实施例中,附件可支持多个版本和/或类型的附件固件图像。
每个附件固件图像均可与能够与主机设备210一起使用的至少一种类型的附件相关联。例如,一个附件固件图像可与外部视频设备相关联,并且该特定附件固件图像可由外部视频设备(例如显示监视器或投影仪)用于加载附件软件,外部视频设备可运行该附件软件以执行与视频相关的功能,诸如用于显示来自主机设备210的视频的视频编码/解码功能。又如,另一个附件固件图像可与外部扬声器系统相关联,并且该特定附件固件图像可由外部扬声器系统用于加载附件软件,外部扬声器系统可运行该附件软件以执行音频处理功能并播放来自主机设备210的音频文件。在一些实施例中,可由多于一种类型的附件来使用附件固件图像。换句话讲,在一些实施例中,多种类型的附件可使用同一附件固件图像。此类附件固件图像可包括由若干不同类型的附件共同执行的一些程序代码以及可以是特定于特定类型的附件的程序代码。使用此类附件固件图像进行引导的特定附件可选择性地仅加载和/或执行附件固件图像的与特定附件相关的部分。
在一些实施例中,附件固件图像217(1)-(n)可存储于存储部件212的非易失性存储器中或存储于存储部件212中的其他类型的存储器诸如RAM或磁盘中。附件固件图像217(1)-(n)可由制造商预加载到存储部件212中。也可使用例如网络接口214或通过主机设备210的连接器/端口的连接来从外部设备将附件固件图像217(1)-(n)加载到存储部件212中。在其他实施例中,主机设备210可从主机固件图像216编译和构建附件固件图像217(1)-(n)。例如,在一个实施例中,可仅将主机固件图像216预加载到存储部件212的非易失性存储器中。当主机设备210加电时,处理器211可从存储部件212读取主机固件图像216,并使用主机固件图像216的至少一些部分来构建附件固件图像217(1)-(n)。由处理器211所构建的附件固件图像217(1)-(n)可存储于存储部件212中的RAM或其他类型的存储器中,以用于后续至附件的传输。
根据一些实施例,可将存储于主机设备210中的附件固件图像217(1)-(n)保持为与主机固件图像216兼容的版本。例如,无论何时修改主机设备210中的主机固件图像216(例如,更新到新版本或恢复回到更旧的版本),主机设备210均可使用主机固件图像216的所修改的版本来重建附件固件图像217(1)-(n)。在其他实施例中,可与修改/更新的主机固件图像216一起将附件固件图像217(1)-(n)的兼容版本加载到主机设备210中。
在一些实施例中,存储部件212还可存储一个或多个附件引导加载器,该一个或多个附件引导加载器可由附件用于加载来自主机设备210的附件固件图像。例如,附件引导加载器可包括附件可执行以初始化附件的主存储器和/或附件的其他部件的程序代码。附件引导加载器可指导附件在附件的主存储器中的特定存储器位置处加载来自主机设备210的附件固件图像。附件引导加载器还可向附件提供仅执行或加载附件固件图像的与特定附件相关的特定部分的指令。
存储部件212还可存储可由处理器211执行的应用程序和可在管理与各种附件的通信的过程中所使用的各种数据。应用程序可包括可由处理器211执行的任何程序。在一些实施例中,某些应用程序可由其制造商安装在主机设备210上,而其他应用程序可由用户进行安装。应用程序的实例可包括视频游戏程序、个人信息管理程序、用于播放媒体资产和/或导航媒体资产数据库的程序、用于控制电话接口以拨打和/或接收呼叫的程序等等。某些应用程序可提供与附件的通信和/或对附件的控制,并且某些应用程序可响应于来自附件的控制信号或其他输入。
在一些实施例中,存储部件212还可存储可由主机设备210或通信地耦接到主机设备210的附件诸如附件280播放的媒体资产诸如音频、视频、静态图像等,连同存储描述媒体资产(例如资产名称、艺术家、标题、流派等)、播放列表(可顺序地或按随机次序播放的资产列表)等的元数据。存储部件212还可存储任何其他类型的信息诸如关于用户的联系方式的信息(姓名、地址、电话号码等);所安排的约会和事件;记事本;和/或其他个人信息。
网络接口214可提供至一个或多个通信网络的接口。例如,网络接口214可结合射频(RF)收发器和用于经由移动通信网络诸如移动电话网络进行通信的合适部件。除此之外或另选地,网络接口214可结合至互联网(例如,WiFi收发器、3G/4G(例如LTE)收发器等)、至个人局域网(例如蓝牙网络)或至任何其他网络的无线连接。在其他实施例中,可提供有线网络连接(例如,以太网)。在一些实施例中,可使用相同的硬件来支持至多个网络的连接;因此,网络接口214可包括模数电路和/或数模电路、基带处理部件(例如,编解码器、信道估算器等)、调制器、解调器、振荡器、放大器、发射器、接收器、收发器、内部天线和/或外部天线等。在一些实施例中,可将与网络连接性相关联的一些操作完全或部分地被实现为在处理器211上所执行的程序(例如,编码、解码和/或数字域中的其他处理)或者可提供专用数字信号处理器。
附件接口215可包括被配置为在主机设备210和附件诸如附件280之间传送各种信号的多个信号通道。在一个实施例中,附件接口215可包括对应于由Apple Inc.制造并销售的或产品上所使用的连接器的30管脚连接器,或其他类型的连接器和/或端口诸如USB连接器、火线连接器等。在其他实施例中,可使用具有4到30个管脚的连接器或可配置的连接器和/或可逆的连接器。作为另外一种选择或除此之外,附件接口215可包括通信接口诸如无线接口(例如,无线USB、WiFi、蓝牙等)。附件接口215还可由主机设备210用于与其他设备诸如主计算机或附件设备280进行通信。
附件280可包括控制器(MCU)281、非易失性存储器(NVM)282、主存储器283、特定于附件的硬件285和主机接口286。在一些实施例中,附件280还可包括ID模块284和/或外围设备接口288。根据一些实施例,可将控制器281、非易失性存储器282和主存储器283集成到片上系统(SoC)289中。在其他实施例中,可独立地提供这些部件中的一个或多个部件。
控制器281可包括例如执行程序代码以执行各种功能的一个或多个微处理器或一个或多个微控制器,该各种功能诸如数字音频解码、模拟或数字音频和/或视频处理、处理用户输入、控制附件功能等。控制器281还可管理经由主机接口286与主机设备诸如主机设备210的通信。在一些实施例中,控制器281还可管理经由外围设备接口288与外围设备的通信。
非易失性存储器(NVM)282可包括一个或多个各种类型的闪存存储器、ROM、PROM和/或EPROM。在一些实施例中,NVM 282不具有存储于其中的任何附件固件图像。相反,NVM 282可存储主机接口初始化代码,附件280在加电时可使用该主机接口初始化代码来对主机接口286进行初始化。例如,主机接口初始化代码可包括具有指令集的程序代码,以使得主机接口286能够与主机设备诸如主机设备210进行通信。应当指出的是,根据一些实施例,主机接口初始化代码不包括用于建立OS和/或将任何应用程序加载到附件280上的任何程序代码。换句话讲,仅执行主机接口初始化代码不会将任何附件软件加载到附件280上。相反,主机接口初始化代码用来使得主机接口286能够与主机设备(例如主机设备210)进行通信,使得附件280可从主机设备获得附件280可用于加载附件软件的更多的信息或指令(例如,附件引导加载器、附件固件图像、或两者)。
根据一些实施例,因为NVM 282不存储任何附件固件图像,所以NVM 282的存储器容量可小于由附件280所使用的附件固件图像的大小。NVM 282可包括一个或多个非易失性存储器设备,并且由附件280所使用的附件固件图像的大小可大于每个非易失性存储器设备的存储器容量。在一些实施例中,由附件280所使用的附件固件图像的大小可大于附件280中的所有非易失性存储器设备的组合存储器容量。
在一些实施例中,NVM 282可存储附件引导加载器,该附件引导加载器包括使得控制器281能够正确地加载来自主机设备210的附件固件图像的信息。例如,附件引导加载器可包括可由控制器281执行以对附件280的其他部件和/或主存储器283进行初始化的程序代码。附件引导加载器可包括指导该控制器281在附件280的主存储器283中的特定存储器位置处加载从主机设备210所接收的附件固件图像的程序代码。附件引导加载器还可向控制器281提供指令以仅执行或加载附件固件图像的与附件280相关的特定部分。应当指出的是,根据一些实施例,附件引导加载器不包括用于建立OS和/或将任何应用程序加载到附件280上的任何程序代码。换句话讲,仅执行附件引导加载器不会将任何附件软件加载到附件280上。相反,附件引导加载器用于使得附件280能够获得附件固件图像或附件固件图像的部分并将附件固件图像或附件固件图像的部分存储到附件280的主存储器中。
在其他实施例中,NVM 282可不具有存储于其中的任何附件引导加载器。在此类实施例中,可从主机设备向附件280提供附件引导加载器。在一些实施例中,附件280可在验证附件280期间使用被发送到主机设备的附件标识符来向主机设备指示附件280是否需要主机设备向附件280提供附件引导加载器。
可使用任何类型的易失性存储器诸如各种类型的随机存取存储器(RAM)和/或当从附件280移除电力时不保留数据的其他存储介质来实现主存储器283。主存储器283可存储由附件280的其他部件或控制器281所使用的软件和/或数据,例如主存储器283可存储附件软件,该附件软件可提供用于使控制器281与主机设备210、特定于附件的硬件285和/或附件280的用户界面(未示出)进行交互的指令。附件280还可从主机设备210接收也可存储于主存储器283中的信息(例如用户输入、元数据和/或应用数据)。根据一些实施例,可将从主机设备210所接收的附件固件图像存储于主存储器283中。在可能不具有存储于附件280的NVM 282中的预加载的附件引导加载器的实施例中,可将从主机设备210所接收的附件引导加载器存储于主存储器283中,并且控制器281可执行来自主存储器283的附件引导加载器以将从主机设备210所接收的附件固件图像加载到主存储器283中。控制器281可执行来自主存储器283的附件固件图像以将附件软件诸如操作系统(OS)和/或一个或多个应用程序加载到主存储器283中。控制器281可运行来自主存储器283的OS和/或一个或多个应用程序以管理和执行附件280的功能。
应当指出的是,根据一些实施例,即使在附件280从主机设备210接收到附件固件图像之后,附件280也不将任何附件固件图像存储在附件280的NVM 282中。换句话讲,附件280不将从主机设备210所接收的附件固件图像加载到NVM 282中。因此,这与可将固件下载到附件的NVM中的固件更新程序不同。此外,当从附件280移除电力时,附件280不会保留附件固件图像,因为来自主机设备210的附件固件图像存储于附件280的主存储器(例如RAM)中。因此,每次移除电力并随后使附件280恢复时,附件280可需要正与附件280一起使用的主机设备向附件280发送附件固件图像。不论正与附件280一起使用的是哪个特定或哪种类型的主机设备,这允许运行于附件280上的软件(例如,OS和/或一个或多个应用程序)均与运行于主机设备上的软件兼容。
应当理解,根据本发明的实施例从主机设备获得附件固件图像的过程与从主机设备获得设备驱动程序不同。在从主机设备获得并执行附件固件图像之前,附件可不运行附件中的任何附件软件。为了使附件获得设备驱动程序(可以是相关的操作系统),必须首先在附件中建立操作系统。一旦建立了操作系统并在附件中运行,附件然后就可与主机设备进行通信以获得设备驱动程序。相反,在附件中未运行操作系统的情况下,执行根据本发明的实施例从主机设备获得附件固件图像的过程。
特定于附件的硬件285可表示启用附件280的所期望的功能所需的任何硬件。例如,特定于附件的硬件285可包括信号处理部件,在向控制器281发送信号之前,该信号处理部件处理在主机接口286、外围设备接口288和/或特定于附件的硬件285的其他部件上所接收的信号,和/或转换来自控制器281的信号以用于至主机设备(例如主机设备210)或外围设备的传输。
在一些实施例中,特定于附件的硬件285可包括网络接口和/或通信接口。例如,特定于附件的硬件285可包括RF接收器(例如,用于FM、AM、卫星无线电和/或其他频带)和/或RF发射器(例如,用于个人用途的短程发射器)。在其他实施例中,特定于附件的硬件285可包括至个人局域网的通信接口,诸如蓝牙收发器或其他短程无线通信接口。在其他实施例中,特定于附件的硬件285可包括电话接口、GSM、CDMA和/或其他语音和/或数据网络接口。
根据一些实施例,特定于附件的硬件285可包括一个或多个数据采集设备诸如传感器和/或仪表。特定于附件的硬件285可包括计算机可控设备。计算机可控设备的实例包括传感器、仪表、电动机、致动器、灯、相机、阀门、扬声器、显示屏、打印机和/或可由控制器281控制的任何其他设备。在一些实施例中,在主机设备210上执行的应用程序可向附件280发送控制信号,并且控制器281可响应于控制信号来操作特定于附件的硬件285。在一些实施例中,特定于附件的硬件285可包括用户界面的部件。因此,在主机设备210上执行的应用程序可从附件280接收用户输入,经由附件280向用户提供输出,和/或控制附件280能够执行的任何操作、与该任何操作进行交互或对该任何操作作出响应。
因此,可期望特定于附件的硬件285可涵盖与主机设备诸如计算和/或通信设备进行互操作性的任何硬件部件。
在一些实施例中,附件280可包括用户界面(未示出),该用户界面可包括输入控件诸如触摸板、触摸屏、滚轮、点击式触摸转盘、拨号盘、按钮、小键盘、麦克风、探头等,以及输出设备诸如视频屏、指示灯、扬声器、耳机接口等,以及配套的电子器件(例如,数模转换器或模数转换器、信号处理器等)。用户可操作用户界面的各种输入控件以调用附件280的功能,并且可经由用户界面来查看和/或收听来自附件280的输出。此外,在一些实施例中,用户可经由附件280的用户界面来操作主机设备210(或在其上执行的应用程序)。
主机接口286可包括被配置为在附件280和主机设备210之间传送各种信号的多个信号通道。在一个实施例中,主机接口286可包括适用于与Apple Inc.制造和销售的和产品上所使用的30管脚连接器配合的连接器。也可使用其他连接器,例如USB连接器、火线连接器等。在其他实施例中,可使用具有4到30个管脚的连接器或可配置的连接器。作为另外一种选择或除此之外,主机接口286可包括通信接口诸如无线接口(例如,无线USB、WiFi、蓝牙等)。
在一些实施例中,附件280可包括向外围设备提供连接性的外围设备接口288,例如另一种附件设备诸如外部视频设备(例如显示监视器、投影仪)、打印机等。外围设备接口288可包括被配置为在附件280和外围设备之间传送各种信号的多个信号通道。在一些实施例中,外围设备接口288可包括连接器诸如USB连接器、火线连接器等。在其他实施例中,外围设备接口288可包括其他类型的多媒体连接器诸如HDMI、VGA、DisplayPort、复合连接器等。作为另外一种选择或除此之外,外围设备接口288可包括通信接口诸如以太网端口和/或无线接口(例如,无线USB、WiFi、蓝牙等)。
在各种实施例中,附件280还可包括识别(ID)模块284,附件280可使用该ID模块来向主机设备210验证其自身。根据一些实施例,ID模块284可具有执行附件验证过程的专用硬件电路,并且也可具有其自身的微控制器、存储器和软件。ID模块284可包括存储于其中的附件标识符,其识别附件280的类型、功能、制造商和/或型号。在一些实施例中,附件标识符还可表示附件280是否包括存储于附件280的NVM 282中的附件引导加载器。ID模块284可包括适用于针对附件标识符对来自主机设备210的请求作出响应的硬件和/或软件以用于识别附件280。例如,ID模块284可包括检测主机接口286上的可表示对附件标识符的请求的特定电压、电流、阻抗、电容、频率或其他电气特性或此类电气特性的变化的电路。除此之外或作为另外一种选择,ID模块284可包括可根据通信协议/标准的格式来解释ID请求命令的硬件和/或软件。当在主机接口286上接收到对附件标识符的请求时,ID模块284可通过主机接口286来向主机设备210发送存储于ID模块284中的附件标识符。ID模块284也可由附件280用于识别或验证耦接到外围设备接口288的外围设备。
在其他实施例中,可使用控制器281和存储于NVM 282中的程序代码来实现ID模块284的一些或全部功能。例如,在一些实施例中,附件280可将识别附件280的附件标识符以及可由控制器281执行以响应于从主机设备接收到对附件标识符的请求来向主机设备发送识别附件280的附件标识符的程序代码存储在NVM 282中。
应当理解,本文描述的系统配置和部件是示例性的并且变型和修改是可能的。主机设备210和/或附件280可具有本文未具体描述的其他功能。尽管本文参考特定块描述了附件280和主机设备210,但应当理解,定义这些块是为了描述方便,而并非旨在暗示部件部分的特定物理布置。此外,块不必对应于物理上不同的部件。
图3示出了根据一个实施例的在附件380的引导序列期间示出主机设备310和附件380之间的信息交换的图示。当打开附件380时(例如,当附件380初始从主机设备310或其他电源接收功率时、或当从用户界面接收到打开附件380的命令时等等)和/或当附件380从重置或休眠状态中恢复时,附件380可发起其引导序列。
在一些实施例中,附件380通过执行可存储于附件380的非易失性存储器(NVM)中的主机接口初始化代码来开始其引导序列。执行主机接口初始化代码可启用附件380的主机接口,从而使得附件380能够与主机设备310进行通信。主机接口初始化代码可包括附件380可用于启用附件380的主机接口的程序代码,以经由附件380的主机接口来在附件380和主机设备310之间建立通信信道。可利用通过物理附接的有线连接(例如,在主机设备310和附件380的相应配对连接器之间)、利用间接附接诸如电缆或通过建立无线连接来实现通信信道。可使用多种通信信道,包括有线信道诸如USB、火线或UART或无线信道诸如无线USB、蓝牙、WiFi、无线个人局域网、红外线等等。因此,主机接口初始化代码可包括用于在主机设备310和附件380之间建立连接的程序代码,该程序代码符合主机设备310和附件380之间的连接中所使用的特定通信协议/标准。在一些实施例中,可使用有线和无线信道两者来进行通信。在一些实施例中,可使用主机设备和附件之间的多个通信信道,或者主机设备可同时连接到多个附件,其中每个附件使用不同的通信信道。
在一些实施例中,主机接口初始化代码还可包括由附件380用于向主机设备310验证其自身的程序代码。在其他实施例中,可使用附件380中的独立的ID模块来执行验证过程。当主机设备310检测到主机设备310和附件380之间所建立的连接时,主机设备310可向附件380发送对附件标识符的请求302。对附件标识符的请求302可以是主机设备310向附件380的主机接口提供的特定电压、电流、阻抗、电容、频率或其他电气特性或此类电气特性的变化。除此之外或作为另外一种选择,对附件标识符的请求302可包括以根据主机设备310和附件380之间的连接中所使用的通信协议/标准的格式的ID请求命令。
响应于接收到对附件标识符的请求302,附件380可向主机设备310发送附件标识符304。在一些实施例中,附件标识符304可指示附件380的类型、功能、制造商和/或型号。附件标识符304还可包括指示附件380是否具有预加载的附件引导加载器的信息或指示附件380当前处于引导序列的哪个阶段的引导状态。主机设备310可使用这一信息来确定主机设备310是否需要向附件380发送附件引导加载器。在一些实施例中,附件标识符304可以是符合主机设备310和附件380之间的连接中所使用的通信协议/标准的设备ID。例如,在使用USB链路(例如有线或无线)作为附件380和主机设备310之间连接的实施例中,附件标识符304可以是附件380的USB描述符。附件标识符304还可包括其他信息,诸如附件380的主机接口可支持的速度、带宽和/或电压水平。
应当理解,在一些实施例中,可将向主机设备310验证附件380的验证过程实现为主机设备310和附件380之间的连接中所使用的通信协议/标准的一部分。例如,在示例性实施例中,可使用USB链路(例如,有线或无线)来将主机设备310连接到附件380。为了建立USB链路,遵守USB标准可能要求主机设备310发出USB设备请求,并且附件380利用USB描述符来对USB设备请求作出响应。在此类实施例中,根据USB标准的来自主机设备310的USB设备请求可充当请求302,和/或根据USB标准的来自附件380的USB描述符可充当附件标识符304。因此,在一些实施例中,如果此类验证过程已是正在使用的通信协议/标准的正常协议的一部分,则在正在使用的通信协议/标准的正常协议之外,主机设备310可能不需要单独发送请求302和/或附件380可能不需要单独发送附件标识符304。
当主机设备310从附件380接收到附件标识符304时,如果由主机设备310所识别的附件标识符304是有效的,则主机设备310可验证附件380。如果附件308是可与主机设备310一起使用的有效附件,则主机设备310可从存储于主机设备310中的一个或多个附件固件图像中选择合适的附件固件图像308。主机设备310可基于附件标识符304中所提供的信息(例如附件308的类型、功能、制造商和/或型号)来选择附件固件图像308。
在一些实施例中,主机设备310还可使用附件标识符304来确定附件380是否需要主机设备310向附件380传输附件引导加载器,以使得附件380能够加载附件固件图像308。如果附件标识符304指示附件380在附件380中不具有预加载的附件引导加载器,则主机设备310可为附件380选择合适的附件引导加载器306并向附件380传输附件引导加载器306。如果附件标识符304指示附件308具有预加载的附件引导加载器(例如,在附件380的NVM中),则主机附件380可忽略向附件380发送附件引导加载器306。在其他实施例中,主机设备310可任选地向附件380发送请求,以询问附件380是否需要附件引导加载器。附件380可向主机设备310发送指示附件380是否需要附件引导加载器的响应。主机设备310可相应地向附件380发送合适的附件引导加载器306。
接下来,附件380可执行附件引导加载器306(或附件380的NVM中的预加载的附件引导加载器),以将来自主机设备310的附件固件图像308加载到附件380的主存储器(例如RAM)中。在一些实施例中,附件引导加载器306(或预加载的附件引导加载器)可包括指示附件380在附件380的主存储器(例如RAM)中的特定存储器位置处加载附件固件图像308的程序代码。附件引导加载器306(或预加载的附件引导加载器)还可向附件380提供指令,以仅执行或加载附件固件图像308的与附件380相关的特定部分。在一些实施例中,作为执行附件引导加载器306(或预加载的附件引导加载器)的一部分,附件380可向主机设备310发送信号(例如,命令、具有更新的引导状态的后续附件标识符等等),以向主机设备310指示附件380已准备好从主机设备310接收附件固件图像308。当接收到此信号时,主机设备310可向附件380传输附件固件图像308。作为另外一种选择,在其他实施例中,主机设备310可自动地向附件380传输附件固件图像308而无需来自附件380的信号。附件380然后可将从主机设备310所接收的附件固件图像308存储到附件308的主存储器(例如RAM)中。
一旦附件固件图像308被存储在附件380的主存储器(例如RAM)中,附件380就可通过执行来自附件380的主存储器(例如RAM)的附件固件图像308来完成其引导序列。附件固件图像308可包括指示附件380加载该附件380可运行以管理和执行附件380的功能的OS和/或一个或多个应用程序的程序代码。在一些实施例中,因为附件380依赖于针对附件380用于进行引导的附件固件图像的主机设备310,所以可确保由附件固件图像308所加载的附件软件和运行于主机设备310上的软件之间的兼容性。例如,在一些实施例中,无论何时主机设备310的主机固件图像被更新,主机设备310均可更新存储于主机设备310中的附件固件图像。这样,可将存储于主机设备310中的附件固件图像保持为与主机设备310利用其进行引导的主机固件图像一致且兼容的版本。
在附件380建立兼容的OS和/或完成加载可由附件380用于与主机设备310进行互操作的一个或多个应用程序之后,附件380可开始与主机设备310交换应用数据322(例如,视频数据、音频数据等)。在一些实施例中,在附件380中成功加载附件软件之后,可将附件380和主机设备310之间的连接重新配置或重新提供成适用于交换应用数据322的模式或配置(例如,速度、带宽、电压、协议等)。例如,在一个示例性实施例中,主机设备310和附件380之间的连接可以是USB链路并且应用数据322可以是视频流。USB链路可能已被设置成低速模式以用于传输附件固件图像308。然而,为了正确地流传输该USB链路上的视频,可能需要高速模式。因此,在附件380完成其引导序列之后,可将USB链路重新配置或重新提供成高速模式。在一些实施例中,连接的重新配置或重新提供可包括从附件380向主机设备310发送新的附件标识符。可使用新的附件标识符来向主机设备310指示附件380已完成其引导序列,并可重新配置或重新提供附件380和主机设备310之间的连接以用于传输应用数据322。例如,新的附件标识符可包括指示该连接可用于交换应用数据322的速度、带宽、电压水平和/或协议的信息。
图4示出了根据本发明的一个实施例的用于使用主机设备(例如,主机设备110、210或310)来引导附件(例如,附件130、140、280或380)的过程400的流程图。在框402处,主机设备可检测到在主机设备和附件之间所建立的连接。如上所述可使用多种连接方案。
在框404处,响应于检测到主机设备和附件之间的连接,主机设备可向附件发送对附件标识符例如如上所述的附件标识符的请求。在框406处,主机设备可从附件接收用于识别附件的附件标识符。附件标识符可包括如上所述的一个或多个信息项。在框408处,主机设备可基于在附件标识符中所提供的信息来确定是否可验证附件,即附件是否是可与主机设备一起使用的有效附件。如果主机设备未识别附件标识符(即附件是未知设备),或确定附件的特征或功能不能与主机设备一起使用,或主机设备不具有适用于该特定附件的附件固件图像,则可以终止该过程,因为该特定附件不能与主机设备一起使用。如果主机设备基于在附件标识符中所提供的信息将附件识别为有效附件,则该过程可继续进行到框410。
在框410处,主机设备确定附件是否在附件中已具有预加载的附件引导加载器。在一些实施例中,如上所述,主机设备可使用附件标识符中的信息来确定附件是否具有预加载的附件引导加载器。如果主机设备确定附件具有预加载的附件引导加载器,则该过程可继续进行到框414。如果主机设备确定附件不具有预加载的附件引导加载器,则主机设备可从可存储于主机设备中的一个或多个附件引导加载器中选择适用于附件的附件引导加载器(例如,基于在附件标识符中所提供的信息)。在向附件传输附件固件图像之前,在框412处,主机设备可向附件传输所选择的附件引导加载器。附件引导加载器可包括附件可用于正确地加载来自主机设备的附件固件图像的信息诸如可执行的程序代码。例如,在一些实施例中,附件引导加载器可包括指示附件在特定存储器位置处加载来自主机设备的附件固件图像和/或指示附件仅执行或加载附件固件图像的与附件相关的特定部分的信息。
在框414处,主机设备从可存储于主机设备中的一个或多个附件固件图像中选择针对附件的合适的附件固件图像。主机设备可基于在附件标识符中所提供的信息(例如附件的类型、功能、制造商和/或型号)来选择附件固件图像。所选择的附件固件图像可包括附件可用来使得附件能够与主机设备交换应用数据(例如,视频数据、音频数据等)并与主机设备进行互操作的信息诸如可执行的程序代码。例如,所选择的附件固件图像可包括附件可执行以加载附件软件的程序代码,该附件软件诸如运行于主机设备上的与该软件兼容的OS和/或与一个或多个应用程序。在框416处,主机设备可经由主机设备和附件之间的连接来向附件传输所选择的附件固件图像。附件然后可通过存储并执行从主机设备所接收的所选择的附件固件图像来完成其引导序列。
应当理解,本文所述的过程400是示例性的并且变型和修改是可能的。可并行执行动作(该动作被描述为是顺序的),可以改动作的次序,并可修改或组合动作。
图5示出了根据一个实施例的用于引导附件(例如,附件130、140、280或380)的过程500的流程图。可例如由图3的附件380来执行过程500。在一些实施例中,可在多个阶段中实施附件的引导序列,其中每个阶段可按照特定次序来执行一条或多条程序代码,以使得附件能够通过例如将软件诸如OS和/或一个或多个应用程序加载到附件的主存储器中来与主机设备交换应用数据并与该主机设备进行互操作。例如,在一些实施例中,附件可使用3阶段引导序列,该引导序列按照次序执行以下程序代码:(1)主机接口初始化代码;(2)附件引导加载器;以及(3)附件固件图像。
在根据一些实施例的引导序列的第一阶段中,当附件接收到功率或被打开时,或当附件退出重置或休眠状态时,附件可开始执行存储于附件的非易失性存储器中的主机接口初始化代码。在框502处,执行主机接口初始化代码可使得附件对附件的主机接口进行初始化以使得主机接口能够与主机设备进行通信。对主机接口进行初始化可包括通过主机接口向该主机接口提供电力并向主机设备验证附件来与主机设备建立通信信道。
在一些实施例中,验证附件可包括从主机设备接收对提供附件标识符的请求以识别附件(框504)。对提供附件标识符的请求可为在附件的主机接口上所检测到的特定电压、电流、阻抗、电容、频率或其他电气特性,或此类电气特性的变化或根据通信协议/标准的设备ID请求(例如USB设备请求)。
响应于在框504处的请求,在框506处,附件可向主机设备发送附件标识符。附件标识符可表示附件的类型、功能、制造商和/或型号。附件标识符还可包括指示附件是否已在附件中具有预加载的附件引导加载器的信息。主机设备可使用此信息来确定主机设备是否向附件发送附件引导加载器。在一些实施例中,附件标识符可以是根据通信协议/标准的设备ID(例如USB描述符)。附件标识符还可包括指示附件的主机接口可支持的速度、带宽和/或电压水平的其他信息。
在一些实施例中,如果附件不具有存储于其中的预加载的附件引导加载器,则在框508处附件可从主机设备接收附件引导加载器。主机接口初始化代码可包括附件可执行的程序代码,以将从主机设备所接收的附件引导加载器存储到附件的主存储器中。例如,主机接口初始化代码可包括指示附件在附件的主存储器中的特定位置处加载从主机设备所接收的附件引导加载器的包含指令的程序代码。
在根据一些实施例的引导序列的第二阶段中,附件开始执行附件引导加载器。在框510处,附件执行附件引导加载器中的程序代码以对附件的主存储器(例如RAM)进行初始化并使其能够存储附件固件图像。在一些实施例中,这可包括指示附件在附件主存储器(例如RAM)中的特定存储器位置处加载附件固件图像和/或仅执行或加载附件固件图像的与附件相关的特定部分。在框512处,附件从主机设备接收附件固件图像。在框514处,附件根据在附件引导加载器中所提供的指令将从主机设备所接收的附件固件存储到附件的主存储器(例如RAM)中。
在根据一些实施例的引导序列的第三阶段中,附件执行来自附件的主存储器(例如RAM)的附件固件图像。附件固件图像可包括附件可执行以建立OS或加载附件可运行的一个或多个应用程序或其他附件软件的程序代码,以与主机设备交换应用数据(例如,视频数据、音频数据等)。在框516处,附件建立与主机设备兼容并可与主机设备进行互操作的操作系统(OS)。OS可由附件用于管理其部件(例如主存储器、特定于附件的硬件、用户界面等)和功能。在框518处,附件加载附件可用于与主机设备进行互操作(例如交换应用数据)的一个或多个应用程序和/或执行附件的功能。在一些实施例中,可在附件完成其引导序列之后,重新提供或重新配置主机设备和附件之间的连接。可将连接重新提供或重新配置成适用于根据附件的功能来交换应用数据的模式或配置(例如,速度、带宽、协议等)。
应当理解,本文所述的过程500是示例性的并且变型和修改是可能的。可并行执行动作(该动作被描述为顺序的),可改变动作的次序,并可修改或组合动作。
图6示出了可用于实现上述一些连接器的插头连接器1000的一个实施例的简化透视图。如图6中所示,插头连接器1000包括主体1003和插片部分1004,该插片部分在平行于连接器的长度的方向上远离主体1003纵向延伸。插片部分1004的尺寸被设定为在配对事件期间插入对应的插座连接器中。插片部分1004包括形成于第一主表面1004a上的第一接触区域1006a和形成于与表面1004a相对的第二主表面1004b处的第二接触区域1006b。表面1004a和1004b从插片部分1004的远侧末端延伸到脊部1009。当将插片部分1004插入到对应的主机插座连接器中时,脊部1009邻接主机插座连接器或主机设备的外壳。插片部分1004还包括在第一主表面1004a和第二主表面1004b之间延伸的第一相对侧表面1004c和第二相对侧表面1004d。在一个具体实施例中,插片部分1004为6.6mm宽、1.5mm厚,并且插入深度(从插片部分1004的顶端到脊部1009的距离)为7.9mm。
插片部分1004的结构和形状由接地环1005限定,该接地环可由不锈钢或另一种硬的导电材料制成。插头连接器1000包括被形成为接地环1005的侧面中的弯曲凹陷的保持结构1002a和1002b,该接地环1005也可被用作接地触点。图6中所示的主体1003为透明形式(经由虚线),以使得主体1003内部的某些部件是可见的。如图所示,在主体1003内是印刷电路板(PCB)1007,该印刷电路板朝插头连接器1000的远侧末端延伸到接触区域1006a和1006b之间的接地环1005中。一个或多个集成电路(IC)诸如专用集成电路(ASIC)芯片1008a和1008b可被耦接到PCB1007,以提供关于与连接器1000相关联的设备的信息和/或执行特定功能诸如验证、识别、触点配置、电流或功率调节和/或信号和/或功率变换。
也可在PCB1007的端部附近的主体1003内形成结合焊盘1010。每个结合焊盘可连接到接触区域1006a和1006b内的触点或触点对。然后可将金属丝(未示出)焊接到结合焊盘,以提供从触点到与连接器1000相关联的设备内的电路的电连接。然而,在一些实施例中,结合焊盘不是必要的,并且相反,通过电路耦接到的PCB上的迹线和/或借助于与连接器1000相关联的设备内的多个PCB之间的互连来形成插头连接器1000的触点与部件和与连接器1000相关联的设备内的其他电路之间的所有电连接。
如图6中所示,最多八个外触点1006(1)...1006(8)可沿接触区域1006a中的单行间隔开。相似组的八个触点(未示出)可沿接触区域1006b中的单行间隔开。两行触点彼此直接相对并且接触区域1006a中的每个触点被电连接到连接器的相对侧上的接触区域1006b中的对应触点。触点1006(1)...1006(8)可用于传送多种信号,包括数字信号和模拟信号以及功率和接地信号。当插头连接器1000与插座连接器正确接合时,触点1006(1)-1006(8)中的每个触点均与插座连接器的对应触点电连接。
图7A示出了插头连接器1000可耦接的插座连接器1040的一个实施例的简化透视图。插座连接器1040包括限定空腔1047并在空腔1047内容纳最多八个触点1046(1)-1046(8)的外壳1042。可将外壳1042集成到主机设备的外壳中。在操作中,可将连接器插头诸如插头连接器1000插入空腔1047中,以将触点1006(1)-1006(8)电耦接到相应的触点1046(1)-1046(8)。插座触点1046(1)-1046(8)中的每个插座触点均将其相应的插头触点电连接到与容纳插座连接器1040的电气设备(例如主机设备)相关联的电路。需注意,插座连接器1040包括单侧上的触点,使其可做得更薄。在其他实施例中,插座连接器1040可在每侧上均具有触点,而插头连接器1000可仅在单侧上具有触点。
图7B示出了插座连接器1040的平面截面图。如图7B中所示,插座连接器1040中的触点1046(1)-1046(8)在单行中间隔开。触点位于由外壳1042所限定的空腔1047内。插座连接器1040还包括侧面保持机构1046a和1046b(未示出),一旦配合了连接器,侧面保持机构就与插头连接器1000中的保持结构1002a和1002b结合以在空腔1047内固定插头连接器1000。插座连接器1040还包括两个触点1048(1)和1048(2),它们被定位成在信号触点的行的稍后方,并且可用于检测插头连接器1000何时被插入空腔1047内,并检测当连接器彼此脱离时插头连接器1000何时退出空腔1047。
当在配对事件期间将插头连接器1000的插片部分1004完全插入插座连接器1040的空腔1047内时,根据插头连接器1000相对于插座连接器1040的插入取向,来自接触区域1006a的触点1006(1)...1006(8)中的每个触点或来自1006b的触点被物理和电耦接到触点1046(1)...1046(8)中的一个触点。因此,根据插入取向,连接器1046(1)将被物理地连接到触点1006(1)或1006(8)中的任一个触点;数据触点1046(2)和1046(3)将根据插入取向等来与数据触点1006(2)和1006(3)中的任一个触点或与数据触点1006(7)和1006(6)连接。
图8A示出了根据本发明的一个实施例的用于插头连接器1000的引脚1101(或用于兼容的插座连接器1040的引脚)的一种特定具体实施。在插头连接器1000用于接触区域1006a的一侧,图8A中所示的引脚1101包括电耦接在一起以充当专用于传送电力的单个触点的两个主机电力触点1006(4)和1006(5);附件ID触点1006(8);附件电力触点1006(1);以及四个数据触点1006(2)、1006(3)、1006(6)和1006(7)。主机电力触点1006(4)和1006(5)的尺寸可被设定成处理主机设备的任何合理的电力需求,并且例如,可被设计为从附件传送3-20伏之间的电压以对连接到插头连接器1000的主机设备进行充电。主机电力触点1006(4)和1006(5)被定位在接触区域1006a和1006b的中心中,以通过使电源距接地环1005的一侧尽可能远来改善信号完整性。
附件电力触点1006(1)可用于附件功率信号,该附件功率信号从主机向附件提供电力。附件功率信号是通常比通过主机电力触点1006(4)和1006(5)所接收的信号中的功率更低的电压信号,例如,与5伏或更高的电压相比的3.3伏。附件ID触点1006(8)提供通信信道使得主机设备能够验证附件并使得附件能够向主机设备传送关于附件功能的信息。
数据触点1006(2)、1006(3)、1006(6)和1006(7)可用于使用一个或多个通信协议来在主机设备和附件之间进行数据通信。数据触点1006(2)和1006(3)被定位成与主机电力触点1006(4)和1006(5)相邻并在其一侧上,而数据触点1006(6)和1006(7)被定位成与主机电力触点1006(4)和1006(5)相邻但在另一侧上。附件电力触点1006(1)和附件ID触点1006(8)定位在连接器的每一端处。数据触点可以是高速数据触点,其以比通过附件ID触点1006(8)所发送的任何信号快两个或三个数量级的速率工作,这使得附件ID信号看起来基本上像是至高速数据线的DC信号。因此,在附件电力触点1006(1)和主机电力触点1006(4)之间定位数据触点1006(2)和1006(3),并在主机电力触点1006(5)和附件ID触点1006(8)之间定位数据触点1006(6)和1006(7),通过将数据信号夹置于为DC信号或基本DC信号所指定的触点之间来改善信号完整性。
图8B示出了根据本发明的另一个实施例的用于插头连接器1000的引脚1151(或用于兼容的插座连接器1040的引脚)的另一种特定具体实施。类似于引脚1101,具有引脚1151的插头连接器是可逆连接器。换句话讲,基于插头连接器与主机设备的对应主机连接器配合的取向,接触区域1006a或1006b上的任一触点与主机设备的对应主机连接器中的触点物理和电接触。如图8B中所示,存在布置于接触区域1006a中的八个触点以及布置于接触区域1006b中的八个触点。
图8B中所示的引脚1151包括两个触点1006(1)和1006(12),其可充当附件ID触点,以在适配器40和主机设备之间传送适配器识别信号。触点1006(1)和1006(12)彼此电连接。图8B中所示的引脚可具有四对数据触点:(a)1006(2)和1006(3);(b)1006(6)和1006(7);(c)1006(10)和1006(12);以及(d)1006(14)和1006(15)。在该具体实施例中,相对的数据触点例如1006(2)和1006(10)彼此电连接。引脚1151还包括可彼此电连接的主机电力触点1006(4)或1006(13)。主机电力触点1006(4)或1006(13)可向与插头连接器1000配合的主机设备传送电力。例如,插头连接器1000可以是被设计为向主机设备提供电力的电源系统的一部分。在这种情况下,任一主机电力触点1006(4)或1006(13)可将电力从电源传送到主机设备,例如为主机设备中的电池充电。
图8B中的引脚1151还可包括可彼此电连接的附件电力触点1006(5)和1006(16)。附件电力触点将电力从主机设备传送到所连接的附件。例如,在一些情况下,连接到主机设备的附件可以不是自供电的,并且可以从主机设备获得其电力。在这种情况下,根据插头连接器1000的取向,主机设备可通过任一个附件触点来向附件提供电力。图8B中的引脚1151还可包括彼此电连接的两个接地触点1006(8)和1006(9)。接地触点为插头连接器1000提供接地路径。
在本文中可将电路、逻辑模块、处理器和/或其他部件描述为“被配置为”执行各种操作。本领域的技术人员将会认识到,根据具体实施,可通过特定部件的设计、设置、互连和/或编程来完成此类配置,并且另外根据具体实施,配置的部件针对不同的操作可为可重新配置的或可不为可重新配置的。例如,可通过提供合适的可执行代码来配置可编程处理器;可通过合适地连接逻辑门和其他电路元件来配置专用逻辑电路;等等。
尽管上述实施例可参考特定硬件和软件部件,但本领域的技术人员将会知道,也可使用硬件和/或软件部件的不同组合,并且被描述为在硬件中实现的特定操作也可在软件中实现,或反之亦然。
可在各种非暂态计算机可读存储介质上编码结合本发明的各种特征的计算机程序;合适的介质包括磁盘或磁带、光学存储介质诸如光盘(CD)或DVD(数字通用光盘)、闪存存储器等。计算机可读存储介质利用程序代码进行编码,该程序代码可与兼容设备一起封装或从其他设备独立地提供。此外,可经由符合多种协议的有线光学和/或无线网络(包括互联网)来编码和传输程序代码,从而允许例如经由互联网下载的分布。
因此,尽管已相对于具体实施例描述了本发明,但应当理解,本发明旨在覆盖以下权利要求范围之内的所有修改形式和等同形式。
Claims (20)
1.一种用于使用主机设备来引导附件的方法,所述主机设备包括存储于其中的主机固件图像和多个附件固件图像,所述方法包括:
由所述主机设备来检测所述主机设备和所述附件之间的连接;
由所述主机设备来向所述附件发送对附件标识符的请求;
由所述主机设备来从所述附件接收所述附件标识符;
由所述主机设备来至少部分地基于所述附件标识符从所述多个附件固件图像中选择附件固件图像,其中所选择的附件固件图像包括可由所述附件用来使得所述附件能够与所述主机设备交换应用数据的信息;以及
由所述主机设备来向所述附件传输所选择的附件固件图像,其中在所述附件的引导序列期间由所述附件来执行所选择的附件固件图像。
2.根据权利要求1所述的方法,还包括:
在传输所选择的附件固件图像之前,由所述主机设备来向所述附件传输附件引导加载器,其中由所述附件来执行所述附件引导加载器以将所选择的附件固件图像加载到所述附件的随机存取存储器中。
3.根据权利要求1所述的方法,其中存储在所述主机设备中的所述多个附件固件图像中的每个附件固件图像部分地基于所述主机固件图像。
4.根据权利要求3所述的方法,其中存储在所述主机设备中的所述多个附件固件图像中的每个附件固件图像保持为与所述主机固件图像兼容的版本。
5.根据权利要求1所述的方法,其中所选择的附件固件图像经由所述主机设备和所述附件之间的通用串行总线(USB)链路被传输,并且所述附件标识符为USB描述符。
6.一种用于引导附件的方法,所述方法包括:
由所述附件来从被耦接到所述附件的主机设备接收对附件标识符的请求;
由所述附件来向所述主机设备发送所述附件标识符;
由所述附件来从所述主机设备接收与所述附件标识符相关联的附件固件图像;以及
由所述附件来执行所述附件固件图像以引导所述附件;
其中在从所述主机设备接收到所述附件固件图像之前,所述附件不存储任何附件固件图像。
7.根据权利要求6所述的方法,还包括:
由所述附件使用所述附件固件图像中的信息来在所述附件中建立操作系统。
8.根据权利要求6所述的方法,还包括:
在接收到所述附件固件图像之前,由所述附件来从所述主机设备接收附件引导加载器,以及
由所述附件使用所述附件引导加载器来将所述附件固件图像加载到所述附件的随机存取存储器中。
9.根据权利要求6所述的方法,其中所述附件包括一个或多个非易失性存储器设备,并且所述附件固件图像的大小大于所述一个或多个非易失性存储器设备中的每个非易失性存储器设备的存储器容量。
10.根据权利要求6所述的方法,所选择的附件固件图像经由所述主机设备之间的通用串行总线(USB)链路被传输,并且所述附件标识符为USB描述符。
11.一种主机设备,包括:
处理器;以及
耦接到所述处理器的存储部件,所述存储部件存储多个固件图像,所述多个固件图像包括与所述主机设备相关联的主机固件图像以及各自与至少一个附件相关联的多个附件固件图像;
其中所述处理器结合所述存储部件被配置为:
检测附件与所述主机设备的连接;
从所述附件接收附件标识符;
至少部分地基于所述附件标识符从所述多个附件固件图像中选择附件固件图像,其中所选择的附件固件图像在所述附件的引导序列期间可由所述附件使用;以及
向所述附件传送所选择的附件固件图像。
12.根据权利要求11所述的主机设备,其中所选择的附件固件可由所述附件用来在所述附件中建立操作系统。
13.根据权利要求11所述的主机设备,其中所述处理器结合所述存储部件被进一步配置为:
在向所述附件传送所选择的附件固件图像之前,向所述附件传送附件引导加载器,其中所述引导加载器可由所述附件用来将所选择的附件固件图像加载到所述附件的存储器中。
14.根据权利要求11所述的主机设备,其中存储在所述主机设备中的所述多个附件固件图像中的每个附件固件图像保持为与所述主机固件图像兼容的版本。
15.根据权利要求11所述的主机设备,其中所选择的附件固件图像经由所述主机设备之间的通用串行总线(USB)链路被传送,并且所述附件标识符为USB描述符。
16.一种附件,包括:
控制器;
耦接到所述控制器的随机存取存储器(RAM);以及
耦接到所述控制器的非易失性存储器,
其中所述控制器被配置为:
从主机设备接收附件固件图像;
将所述附件固件图像存储在所述RAM中;以及
执行来自所述RAM的所述附件固件图像以使得所述附件能够与所述主机设备交换应用数据;
其中在从所述主机设备接收到所述附件固件图像之前,所述附件不将任何附件固件图像存储在所述RAM中或所述非易失性存储器中。
17.根据权利要求16所述的附件,其中所述控制器被进一步配置为:
在接收到所述附件固件图像之前从所述主机设备接收附件引导加载器,其中所述附件引导加载器由所述附件用来将所述附件固件图像加载到所述附件的所述RAM中。
18.根据权利要求16所述的附件,其中所述附件固件图像的大小大于所述非易失性存储器的存储器容量。
19.根据权利要求16所述的附件,其中所述附件固件图像经由所述主机设备和所述附件之间的通用串行总线(USB)链路被接收。
20.根据权利要求19所述的附件,其中所述附件标识符为USB描述符。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/607,454 US9092233B2 (en) | 2012-09-07 | 2012-09-07 | Accessory booting over USB |
US13/607,454 | 2012-09-07 | ||
PCT/US2013/037632 WO2014039113A1 (en) | 2012-09-07 | 2013-04-22 | Accessory booting over usb |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104583951A true CN104583951A (zh) | 2015-04-29 |
Family
ID=48289658
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380044509.XA Pending CN104583951A (zh) | 2012-09-07 | 2013-04-22 | 通过usb进行附件引导 |
Country Status (6)
Country | Link |
---|---|
US (1) | US9092233B2 (zh) |
JP (1) | JP2015531132A (zh) |
CN (1) | CN104583951A (zh) |
AU (1) | AU2013204725B2 (zh) |
TW (1) | TWI604310B (zh) |
WO (1) | WO2014039113A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110321170A (zh) * | 2018-03-29 | 2019-10-11 | 纬创资通股份有限公司 | 开机方法 |
Families Citing this family (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
USD731434S1 (en) | 2012-07-06 | 2015-06-09 | Apple Inc. | Connector |
USD684976S1 (en) | 2012-09-07 | 2013-06-25 | Jody Akana | Adapter |
USD684539S1 (en) | 2012-07-06 | 2013-06-18 | Apple Inc. | Connector |
USD960106S1 (en) | 2012-07-06 | 2022-08-09 | Apple Inc. | Connector |
USD781785S1 (en) | 2012-09-11 | 2017-03-21 | Apple Inc. | Adapter |
US10425471B2 (en) * | 2012-10-02 | 2019-09-24 | Razer (Asia-Pacific) Pte. Ltd. | Multi-tasker |
US9910660B2 (en) * | 2013-08-05 | 2018-03-06 | Harman International Industries, Incorporated | Operating system replacement for in-vehicle computing system |
CN104424442A (zh) * | 2013-08-26 | 2015-03-18 | 联想(北京)有限公司 | 一种保护数据的方法及电子设备 |
CN103491248B (zh) * | 2013-09-16 | 2016-01-20 | 华为技术有限公司 | 一种低电量开机的方法及用户设备 |
TWI540508B (zh) * | 2013-11-01 | 2016-07-01 | 慧榮科技股份有限公司 | 韌體載入系統以及其韌體載入方法 |
EP3087548A4 (en) * | 2013-12-26 | 2017-09-13 | Tandem Diabetes Care, Inc. | Safety processor for wireless control of a drug delivery device |
US9668298B1 (en) * | 2014-03-27 | 2017-05-30 | Amazon Technologies, Inc. | Network-enabled user device charger |
US9753874B2 (en) * | 2015-02-20 | 2017-09-05 | Qualcomm Incorporated | Multi-step programming of heat-sensitive non-volatile memory (NVM) in processor-based systems |
US9692967B1 (en) * | 2015-03-23 | 2017-06-27 | Snap Inc. | Systems and methods for reducing boot time and power consumption in camera systems |
US10055236B2 (en) * | 2015-07-02 | 2018-08-21 | Sandisk Technologies Llc | Runtime data storage and/or retrieval |
US9766899B2 (en) * | 2015-12-28 | 2017-09-19 | Google Inc. | Bootloader control via device identifier |
US10541987B2 (en) | 2016-02-26 | 2020-01-21 | Tandem Diabetes Care, Inc. | Web browser-based device communication workflow |
USD797751S1 (en) * | 2016-08-22 | 2017-09-19 | Ypb Group Ltd. | Portable OTG anti-counterfeit scanner |
US10464675B1 (en) * | 2017-05-30 | 2019-11-05 | Thales Avionics, Inc. | In-flight entertainment systems that constrain Bluetooth connection setup through docking stations |
TWI635438B (zh) * | 2017-05-10 | 2018-09-11 | 晨臻股份有限公司 | 可擴充指令之通用序列匯流排音訊指令解碼電路 |
CN108629175B (zh) * | 2018-05-14 | 2020-07-17 | 深圳市江波龙电子股份有限公司 | Usb大容量存储设备的访问控制方法及访问控制装置 |
TWI678624B (zh) * | 2018-05-31 | 2019-12-01 | 艾訊股份有限公司 | 模組化計算機系統及其運算核心板 |
US20200004522A1 (en) * | 2018-06-27 | 2020-01-02 | Hewlett Packard Enterprise Development Lp | Selective download of a portion of a firmware bundle |
US11216211B1 (en) * | 2018-09-25 | 2022-01-04 | Amazon Technologies, Inc. | Emulated block storage for devices |
JP7074020B2 (ja) * | 2018-10-24 | 2022-05-24 | Tdk株式会社 | メモリコントローラ、及びメモリシステム |
US11119951B2 (en) * | 2019-10-25 | 2021-09-14 | International Business Machines Corporation | Updating host discovery records based on target reconfiguration |
WO2020171838A1 (en) | 2019-02-19 | 2020-08-27 | Tandem Diabetes Care, Inc. | System and method of pairing an infusion pump with a remote control device |
EP3946514A4 (en) | 2019-03-26 | 2022-12-21 | Tandem Diabetes Care, Inc. | METHOD OF PAIRING AN INFUSION PUMP WITH A REMOTE CONTROL DEVICE |
US11681536B2 (en) * | 2019-12-06 | 2023-06-20 | Lattice Semiconductor Corporation | Fast boot systems and methods for programmable logic devices |
US11100230B1 (en) | 2019-12-31 | 2021-08-24 | Management Services Group, Inc. | Modular embedded chassis with firmware for removably coupled compute devices, and methods and systems for the same |
US11640466B2 (en) * | 2020-04-20 | 2023-05-02 | Honeywell International Inc. | Firmware for small MCU carrying a large set of features |
CN111897544B (zh) * | 2020-05-30 | 2022-04-22 | 华为技术有限公司 | 一种控制应用程序安装的方法及装置 |
US20220058279A1 (en) * | 2020-08-24 | 2022-02-24 | Analog Devices, Inc. | Techniques of tracking software usage on a remote device |
KR20220045764A (ko) * | 2020-10-06 | 2022-04-13 | 에스케이하이닉스 주식회사 | 저장 장치 및 그 동작 방법 |
TWI819424B (zh) * | 2021-12-06 | 2023-10-21 | 大陸商星宸科技股份有限公司 | 用來控制電子裝置之方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002095581A2 (en) * | 2001-05-19 | 2002-11-28 | International Business Machines Corporation | Electronic system and method for booting of an electronic system |
CN1653445A (zh) * | 2002-05-22 | 2005-08-10 | 摩托罗拉公司(在特拉华州注册的公司) | 用于建立接口以控制附属设备的方法及电子设备 |
CN101017440A (zh) * | 2006-02-09 | 2007-08-15 | 恩益禧电子股份有限公司 | 多处理器系统以及从系统的启动方法 |
CN102053849A (zh) * | 2009-10-30 | 2011-05-11 | 杭州华三通信技术有限公司 | 分布式系统及其主系统和从系统以及代码加载方法 |
EP2378454A2 (en) * | 2010-04-19 | 2011-10-19 | Apple Inc. | Booting and configuring a subsystem securely from non-local storage |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001216167A (ja) * | 2000-02-04 | 2001-08-10 | Minolta Co Ltd | 本体と周辺装置からなるシステム |
SG118066A1 (en) * | 2000-08-25 | 2006-01-27 | Serial System Ltd | A reconfigurable communication interface and method therefor |
US6971002B2 (en) | 2001-08-09 | 2005-11-29 | International Business Machines Corporation | Method, system, and product for booting a partition using one of multiple, different firmware images without rebooting other partitions |
JP2005222287A (ja) * | 2004-02-05 | 2005-08-18 | Canon Inc | 端末装置 |
US7895378B2 (en) * | 2004-04-27 | 2011-02-22 | Apple Inc. | Method and system for allowing a media player to transfer digital audio to an accessory |
US20050278774A1 (en) * | 2004-05-17 | 2005-12-15 | Toshiba America Consumer Products, Llc | Method and system for dynamic integration of external devices with a video device |
SG119377A1 (en) * | 2004-08-06 | 2006-02-28 | Yamaha Corp | Electrical music apparatus capable of connecting with external device |
US7823214B2 (en) * | 2005-01-07 | 2010-10-26 | Apple Inc. | Accessory authentication for electronic devices |
JP2006190132A (ja) * | 2005-01-07 | 2006-07-20 | Ricoh Co Ltd | 制御プログラムダウンロード装置 |
US20060242395A1 (en) | 2005-03-09 | 2006-10-26 | Wyse Technology Inc. | Operating system boot from network location |
JP4687151B2 (ja) * | 2005-03-09 | 2011-05-25 | 日本電気株式会社 | 携帯端末、それを含む通信システム、その通信方法ならびに制御プログラム |
TW200634717A (en) * | 2005-03-24 | 2006-10-01 | Coretronic Corp | Display with the capability of firmware upgrade |
JP2006323612A (ja) * | 2005-05-18 | 2006-11-30 | Ricoh Co Ltd | ファームウェアファイルの書き込みシステム及びファームウェアファイルの書き込み方法 |
US7363480B1 (en) | 2005-06-30 | 2008-04-22 | American Megatrends, Inc. | Method, system, and computer-readable medium for updating the firmware of a computing device via a communications network |
JP2008059360A (ja) * | 2006-08-31 | 2008-03-13 | Funai Electric Co Ltd | プリンタ |
JP4827693B2 (ja) * | 2006-11-02 | 2011-11-30 | キヤノン株式会社 | 光学機器 |
JP2008262528A (ja) * | 2007-03-19 | 2008-10-30 | Ricoh Co Ltd | 情報処理装置、インストール方法及びインストールシステム |
JP5135979B2 (ja) * | 2007-10-04 | 2013-02-06 | 日本電気株式会社 | プログラム管理システム |
JP4535143B2 (ja) * | 2008-02-20 | 2010-09-01 | セイコーエプソン株式会社 | 情報管理システム及びそれを利用した情報管理方法 |
JP5393199B2 (ja) * | 2009-03-02 | 2014-01-22 | キヤノン株式会社 | 起動制御方法及び装置 |
JP5566054B2 (ja) * | 2009-06-24 | 2014-08-06 | キヤノン株式会社 | 情報処理装置、情報処理装置の制御方法、及びプログラム |
US20110107317A1 (en) | 2009-10-30 | 2011-05-05 | International Business Machines Corporation | Propagating Firmware Updates In A Raid Array |
JP2011150499A (ja) * | 2010-01-21 | 2011-08-04 | Dainippon Printing Co Ltd | シンクライアントシステム、シンクライアント端末およびシンクライアントプログラム |
WO2011119985A2 (en) | 2010-03-26 | 2011-09-29 | Maxlinear, Inc. | Firmware authentication and deciphering for secure tv receiver |
US8561207B2 (en) * | 2010-08-20 | 2013-10-15 | Apple Inc. | Authenticating a multiple interface device on an enumerated bus |
US9256745B2 (en) * | 2011-03-01 | 2016-02-09 | Microsoft Technology Licensing, Llc | Protecting operating system configuration values using a policy identifying operating system configuration settings |
-
2012
- 2012-09-07 US US13/607,454 patent/US9092233B2/en active Active
-
2013
- 2013-04-12 AU AU2013204725A patent/AU2013204725B2/en active Active
- 2013-04-22 WO PCT/US2013/037632 patent/WO2014039113A1/en active Application Filing
- 2013-04-22 CN CN201380044509.XA patent/CN104583951A/zh active Pending
- 2013-04-22 JP JP2015527449A patent/JP2015531132A/ja active Pending
- 2013-05-06 TW TW102116096A patent/TWI604310B/zh active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002095581A2 (en) * | 2001-05-19 | 2002-11-28 | International Business Machines Corporation | Electronic system and method for booting of an electronic system |
CN1653445A (zh) * | 2002-05-22 | 2005-08-10 | 摩托罗拉公司(在特拉华州注册的公司) | 用于建立接口以控制附属设备的方法及电子设备 |
CN101017440A (zh) * | 2006-02-09 | 2007-08-15 | 恩益禧电子股份有限公司 | 多处理器系统以及从系统的启动方法 |
CN102053849A (zh) * | 2009-10-30 | 2011-05-11 | 杭州华三通信技术有限公司 | 分布式系统及其主系统和从系统以及代码加载方法 |
EP2378454A2 (en) * | 2010-04-19 | 2011-10-19 | Apple Inc. | Booting and configuring a subsystem securely from non-local storage |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110321170A (zh) * | 2018-03-29 | 2019-10-11 | 纬创资通股份有限公司 | 开机方法 |
CN110321170B (zh) * | 2018-03-29 | 2022-07-29 | 纬创资通股份有限公司 | 开机方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2014039113A1 (en) | 2014-03-13 |
TWI604310B (zh) | 2017-11-01 |
AU2013204725A1 (en) | 2014-03-27 |
TW201411356A (zh) | 2014-03-16 |
JP2015531132A (ja) | 2015-10-29 |
US9092233B2 (en) | 2015-07-28 |
US20140075169A1 (en) | 2014-03-13 |
AU2013204725B2 (en) | 2015-06-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104583951A (zh) | 通过usb进行附件引导 | |
CN102483728B (zh) | 非对称串行协议的模式之间的取决于设备的选择 | |
US10886672B2 (en) | Connector for connecting antenna and electronic device having the same | |
CN108075325B (zh) | 接口设备 | |
US9495307B2 (en) | Context aware functionality in an electronic device | |
EP2504766B1 (en) | Configurable connector for system-level communication | |
CN102845046B (zh) | 用于系统级通信的连接器的动态配置 | |
CN203277905U (zh) | 适配器 | |
US20130159559A1 (en) | Customizing and/or multiplexing universal serial bus pins | |
EP2860638B1 (en) | Serial communication over communication control pin | |
CN111209026B (zh) | 移动终端、电源适配器及其升级方法 | |
US20170323559A1 (en) | System and method for integrating infrared remote controls of home appliances | |
CN102546584B (zh) | 附件特定的用户体验的调用 | |
CN104364777A (zh) | 协议翻译适配器 | |
WO2017049549A1 (zh) | 移动终端、电源适配器及其升级方法 | |
CN104737141B (zh) | 基于设备的条件配置信号 | |
CN102148631B (zh) | 可拆卸的无线通讯模块以及其启动的方法 | |
US10521385B2 (en) | Inter-device digital audio | |
US20110264825A1 (en) | Port sharing on a computing device | |
CN102571881A (zh) | 移动存储装置及其读取数据的方法 | |
CN202838646U (zh) | 应用于可携式电子装置的无线控制系统 | |
CN111096064A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20150429 |