System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种无线投屏设备的快速启动方法技术_技高网

一种无线投屏设备的快速启动方法技术

技术编号:41983510 阅读:11 留言:0更新日期:2024-07-12 12:13
本发明专利技术公开了一种无线投屏设备的快速启动方法,该方法通过优化引导加载程序、利用多核CPU并行处理以及分层启动策略,实现了快速启动。具体包括:1.使用轻量级引导程序SPL,仅包含必要的硬件初始化和栈初始化程序;2.SPL直接从扁平化镜像树(FIT)加载Linux内核镜像到内存,绕过U‑Boot,加快启动速度;3.使用RAM磁盘启动小型Linux系统,并根据场景对内核模块和应用程序进行优先级划分,一级模块放在RAM中运行。4.在多核系统上,充分利用多核CPU的优势,利用INITRD_ASYNC和INITCALL_ASYNC实现异步初始化和并行执行,让启动链路的SPL loader、Kernel boot init能安全的在每个CPU核上并行运行,进一步提高启动速度。

【技术实现步骤摘要】

本专利技术属于无线投屏设备,具体涉及一种无线投屏设备的快速启动方法


技术介绍

1、现有技术中,投屏器启动引导程序复杂、启动流程串行化、网络连接时间长,通常在7秒左右完成启动,达到就绪状态。个别解决方案通过增加电池以缩短启动时间至4秒,但这提高了硬件成本,不利于最大程度实现环保和确保产品航空运输的安全性,而且对pc的功耗消耗也会有所增加。因此急需一种既能最大程度提高启动速度,同时又能降低能耗,并提升安全性和做到环保无电池的方法。


技术实现思路

1、本专利技术的目的在于提供一种新颖的无线投屏设备的快速启动方法,解决现有技术的不足。该方法通过优化开机流程架构,充分利用cpu多核特性,实现系统启动链路的并行处理与预加载,对网络管理应用做优先执行,使用信道记忆机制来实现快速连接wifi,通过网络自检来决定是否要启用dhcp来租借ip地址,省去来回租借ip地址的流程和时间消耗,从而实现快速建立网络连接;对usb部分做功能拆分,实现迅速唤醒pc软件,利用预留的ram内存获取图像,以便快速判断type-c dp或hdmi输入信号的状态,显著缩短设备的启动时间,同时降低能耗并让产品更环保,解决上述
技术介绍
中提出的问题。

2、为实现上述目的,本专利技术提供如下技术方案:一种无线投屏设备的快速启动方法,该启动方法主要包含三个大模块:引导程序、引导程序加载linux系统镜像到内存、投屏相关程序;

3、具体包括如下步骤:

4、步骤一:选用引导程序spl,删除或禁用引导加载程序不需要的功能是优化引导加载程序的首要任务,所以系统引导程序选用较小的引导程序spl而不是完整的引导程序uboot,spl的配置只包含内存控制器、时钟、内存等基础硬件初始化及栈初始化程序,这样使得引导加载程序尽可能最小;

5、步骤二:spl从启动媒介上读取数据后加载到内存中,跳过引导传统的主程序uboot,spl直接从fit启动系统内核,加快内核启动速度,引导程序启动流程参照图2中实线走向引导linux内核;

6、步骤三:引导程序加载linux系统镜像到内存,使用ram磁盘启动小型linux是一种较快的启动方式,ram磁盘中只包含关键应用程序,ram磁盘的使用减少了物理磁盘i/o操作,大幅提高了启动速度。此外,启动过程中cpu频率运行在高速率,根据场景将内核模块和应用程序的启动等级放在不同的分区上;

7、步骤四:在多核系统上,启用initrd_async让内核以异步的方式初始化ram临时磁盘文件系统,启用initcall_async允许一些初始化函数在多个cpu核心上并行执行,提高启动速度;

8、步骤五:启动投屏相关程序,将应用端的无线wifi、usb、type-c dp或hdmi信号检测相关程序放在ram磁盘中作为一级启动模块并行运行,,并利用操作系统的多线程能力实现并行初始化,从而大幅缩短了无线连接和信号处理的时间,实现了更快的启动速度;

9、步骤六:网卡驱动程序加载后,网络程序根据配对的网络信息,在无线环境下找到匹配的wi-fi访问点后,将访问点信息保存到信息存储区中,以便下次开机后直接快速找到配对的访问接入点。投屏器成功连接无线网络访问点,将动态网络配置服务获取到的网络信息保存到信息存储区,保存的信息用于在后续开机时执行网络自检程序,快速判断是否要重新执行动态配置。利用信息存储区保存的网络配置数据,极大缩短了网络连接和配置的时间;

10、步骤七:usb部分所涉及的功能多,特别是usb摄像头功能的枚举还涉及到应用程序端,将gadget拆分阶段来运行,避免应用程序启动的快慢还影响到pc识别usb设备的时间。例如,将usb gadget分为两个阶段:第一个阶段运行在ram磁盘的一级启动模块中,第二个阶段运行在二级启动模块中;

11、步骤八:投屏程序检测到有dp或hdmi等图像信号输入,并且与投屏接收端设备已建立好网络通信连接时,使用直接对输入的图像信号数据进行编码的方式来投屏;如果没有dp或hdmi等图像信号输入,投屏器通过与用户从usb存储盘中安装的pc软件之间传输数据来实现投屏;通过全链路优化,实现从插入投屏器到电脑后,3s内达到就绪状态(可投屏),与有线直连的使用体验基本一致。

12、作为本专利技术中一种优选的技术方案,所述步骤二中的fit为flattened imagetree,通常包括设备树、内核映像、ramdisk以及启动过程需要的单个启动映像。

13、作为本专利技术中一种优选的技术方案,在所述步骤二中,为内核映像选择合理的压缩技术对启动时间敏感的产品也至关重要,在读取时间和解压时间之间进行良好的权衡,如果使用的芯片带有硬件解压模块,优先选择硬件解码模块支持的压缩技术来对内核压缩,若主芯片不具备这样的能力,可使用gzip或lz4等压缩算法保持压缩比,同时不在解压任务上消耗过多时间。

14、作为本专利技术中一种优选的技术方案,所述步骤三中,分区设置为三个等级,其中:

15、一级是放在ram磁盘中的关键应用程序和驱动程序模块;

16、二级是放在overlay.img映像中;

17、其余的大型静态资源文件放在oem.img映像中。

18、作为本专利技术中一种优选的技术方案,在所述步骤三中,在内核的启动参数bootarg环境中手动设置lpj(loops_per_jiffy)参数,省去内核在启动过程中执行自动测量lpj的时间。

19、作为本专利技术中一种优选的技术方案,在所述步骤四中,initcall_async涉及初始化顺序,可观察内核初始调用的顺序,在保证异步初始化时不会因依赖导致初始化失败,按优先级对驱动程序之间的依赖链和加载顺序进行重新排序;另外,串口的调试输出也需要时间,因此因尽可能关闭串口调试输出。

20、作为本专利技术中一种优选的技术方案,在所述步骤七中:

21、usb进入一阶段仅保留单个输入输出功能,pc端后台服务程序检测到usb设备插入,建立与投屏器的会话,投屏器将系统信息和二阶段会话信息通过usb传输给pc端的后台应用,完成数据交互后,pc的后台应用迅速启动投屏应用窗口,一阶段的功能简单,投屏器在插入pc后,通常可以与pc在1秒左右完成交互,实现投屏的pc界面程序快速启动;

22、usb进入二阶段后会复合多个功能,与pc端投屏程序读取交换系统信息,pc投屏程序判断口令是否与一阶段一致,一致就进入投屏业务交互流程,不一致就请求使用新口令建立新会话,如果用户是首次使用还未安装pc后台程序,以usb存储盘的方式提供给用户安装。

23、与现有技术相比,本专利技术的有益效果是:

24、1.充分利用多核cpu的优势,让启动链路的spl loader、kernel boot init等任务能安全的在每个cpu核上并行运行;

25、2.将启动过程拆分不同等级启动,一级模块放在ram中运行,加快启动速度,同时也能做本文档来自技高网...

【技术保护点】

1.一种无线投屏设备的快速启动方法,其特征在于:该启动方法主要包含三个大模块:引导程序、引导程序加载linux系统镜像到内存、投屏相关程序;

2.根据权利要求1所述的一种无线投屏设备的快速启动方法,其特征在于:所述步骤二中的FIT为Flattened Image Tree,通常包括设备树、内核映像、ramdisk以及启动过程需要的单个启动映像。

3.根据权利要求1所述的一种无线投屏设备的快速启动方法,其特征在于:在所述步骤二中,为内核映像选择硬件解码模块支持的压缩技术来对内核压缩,若主控芯片不具备这样的能力,使用gzip或lz4等压缩算法保持压缩比。

4.根据权利要求1所述的一种无线投屏设备的快速启动方法,其特征在于:所述步骤三中,分区设置为不同的启动等级,其中:

5.根据权利要求1所述的一种无线投屏设备的快速启动方法,其特征在于:在所述步骤三中,在内核的启动参数bootarg环境中设置lpj(loops_per_jiffy)参数,省去内核在启动过程中自动测量lpj的时间。

6.根据权利要求1所述的一种无线投屏设备的快速启动方法,其特征在于:在所述步骤四中,INITCALL_ASYNC涉及初始化,通过串口输出观察内核初始调用的顺序,在保证异步初始化时不会因依赖导致初始化失败的前提下,对驱动程序之间的依赖链和加载顺序进行重新排序。另外,串口调试日志输出也需要时间,因此需要关闭所有窜口调试信息输出,以最大程度节省启动时间。

7.根据权利要求1所述的一种无线投屏设备的快速启动方法,其特征在于:在所述步骤七中:

...

【技术特征摘要】

1.一种无线投屏设备的快速启动方法,其特征在于:该启动方法主要包含三个大模块:引导程序、引导程序加载linux系统镜像到内存、投屏相关程序;

2.根据权利要求1所述的一种无线投屏设备的快速启动方法,其特征在于:所述步骤二中的fit为flattened image tree,通常包括设备树、内核映像、ramdisk以及启动过程需要的单个启动映像。

3.根据权利要求1所述的一种无线投屏设备的快速启动方法,其特征在于:在所述步骤二中,为内核映像选择硬件解码模块支持的压缩技术来对内核压缩,若主控芯片不具备这样的能力,使用gzip或lz4等压缩算法保持压缩比。

4.根据权利要求1所述的一种无线投屏设备的快速启动方法,其特征在于:所述步骤三中,分区设置为不同的启动等...

【专利技术属性】
技术研发人员:林江南杨飞
申请(专利权)人:深圳宜享科技有限公司
类型:发明
国别省市:

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

1