CN116610388A - 一种快速启动ADC和linux系统的方法及装置 - Google Patents
一种快速启动ADC和linux系统的方法及装置 Download PDFInfo
- Publication number
- CN116610388A CN116610388A CN202310885423.5A CN202310885423A CN116610388A CN 116610388 A CN116610388 A CN 116610388A CN 202310885423 A CN202310885423 A CN 202310885423A CN 116610388 A CN116610388 A CN 116610388A
- Authority
- CN
- China
- Prior art keywords
- adc
- file
- task
- linux
- rpu
- 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
- 238000000034 method Methods 0.000 title claims abstract description 33
- 230000006835 compression Effects 0.000 claims abstract description 12
- 238000007906 compression Methods 0.000 claims abstract description 12
- 238000004590 computer program Methods 0.000 claims description 13
- 238000009825 accumulation Methods 0.000 abstract 1
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000000903 blocking effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
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/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉及一种快速启动ADC和linux系统的方法及装置,包括:在RPU端构建一个RTOS的实时操作系统,并创建多个并行运行的task任务,每个task任务配置一片ADC且对自身的ADC校准,在多片ADC同步后与APU端进行通信;在APU端运行linux系统,在系统里面运行多任务处理数据以及文件系统管理,加载和运行对应的程序、对对应的FPGA软件进行压缩加载以及对linux进行裁剪压缩,更改文件系统格式为ext4,启动后与RPU通信。本发明把ADC多片顺序进行配置累加的时间缩减到多片并行处理配置变成一片配置的时间,分工ADC配置和Linux启动,把顺序执行变成并行执行,极大地减少了启动时间。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种快速启动ADC和linux系统的方法及装置。
背景技术
在现阶段汇总很多雷达、数据链项目中都需要使用高带宽高性能采集收发ADC(模数转换器)芯片,同时还要有高性能SOC处理器并且带有linux操作系统来处理大量多任务数据,但是ADC芯片初始化配置和校准完成的时间大多会在15s以上,这还只是单片的配置,而一个项目会用到多组收发通道,一般需要两片以上的ADC芯片,同时linux操作系统启动需要的时间也是在17s以上;ADC芯片的一些控制和状态信息需要被linux系统控制和读取,所以ADC的配置和linux启动运行都是使用一片SOC芯片。
按照目前现有技术的启动方法为:SOC复位启动->配置ADC->启动Linux->ADC和Linux通信->获取自检状态上报自检状态的流程,对于一个大的系统来说启动自检时间越短就越有优势,而现有技术启动完成到自检的时间至少需要32s,如果使用N片ADC芯片则ADC芯片初始化配置和校准完成的时间将会在15Ns以上,整体时间就会更长;因此,如何快速启动ADC和linux系统,是目前需要考虑的问题。
需要说明的是,在上述背景技术部分公开的信息只用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本发明的目的在于克服现有技术的缺点,提供了一种快速启动ADC和linux系统的方法及装置,解决了现有技术存在的问题。
本发明的目的通过以下技术方案来实现:一种快速启动ADC和linux系统的方法,所述方法包括:
在zynqMP芯片的RPU端构建运行一个RTOS的实时操作系统,并在RTOS创建多个并行运行的task任务,每个task任务配置一片ADC,每个task任务对自身的ADC校准,再进行多片ADC同步后与APU(应用处理单元)端进行通信;
在zynqMP芯片的APU端运行linux系统,在系统里面运行多任务处理数据以及文件系统管理,加载和运行对应的程序、对对应的FPGA软件进行压缩加载以及对linux进行裁剪压缩,更改文件系统格式为ext4,系统启动后与RPU(实时处理单元)通信。
所述每个task任务对自身的ADC校准,再进行多片ADC同步后与APU端进行通信依次包括:复位ADC、接口初始化、参考时钟配置、ADC初始化、ADC校准等待、多片ADC同步、协议初始化、等待协议握手和等待数据交换。
所述APU端执行的具体内容包括:通过Ubuntu虚拟机构建petalinux操作系统,使用petalinux-build工具进行系统生成,生成文件中取出第一文件、第二文件、第三文件和第四文件,并将第一文件、第二文件、第三文件与RPU端生成的第五文件固化到flash中,格式化EMMC存储器为ext4文件系统,将第四文件和使用在线加载的FPGA.bit文件存入EMMC中;
在petalinux操作系统中编译出包含libmetal需要的头文件和库文件的root文件系统,并搭建petalinux操作系统的libmetal与RPU端进行通信。
一种快速启动ADC和linux系统的装置,它包括zynqMP芯片,所述zynqMP芯片包括RPU端和APU端;
所述RPU端:用于构建运行一个RTOS的实时操作系统,并在RTOS创建多个并行运行的task任务,每个task任务配置一片ADC,每个task任务对自身的ADC校准,再进行多片ADC同步后与APU端进行通信;
所述APU端:用于运行linux系统,在系统里面运行多任务处理数据以及文件系统管理,加载和运行对应的程序、对对应的FPGA软件进行压缩加载以及对linux进行裁剪压缩,更改文件系统格式为ext4,系统启动后与RPU通信。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述方法。
一种终端设备,包括存储器和处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现所述方法。
本发明具有以下优点:一种快速启动ADC和linux系统的方法及装置,把ADC多片顺序进行配置累加的时间缩减到多片并行处理配置变成一片配置的时间,分工ADC配置和Linux启动,把顺序执行变成并行执行,最终把启动时间由改进方法之前的32s以上缩减到改进之后的15s。
附图说明
图1 为本发明zynqMP芯片RPU端的流程示意图;
图2 为本发明zynqMP芯片APU端的流程示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下结合附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的保护范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。下面结合附图对本发明做进一步的描述。
本发明其中一种实施方式涉及一种zynqMP芯片快速启动ADC和linux系统的方法,zynqMP芯片是多核处理器,内部含有一颗RPU(内部有2个contex-R5)、一颗APU(内部含有4个contex-A5x);RPU进行ADC配置校准,APU运行Linux操作系统。两个处理单元各施其职,方法具体包括以下内容:
如图1所示,在zynqMP芯片的RPU端使用lsdk构建一个contex-R5的freeRtos的实时操作系统,运行在contex-R5上,创建3个task任务,把原有的ADC配置工程移植到task上;使用lsdk搭建libmetal工程,移植lebmetal到freeRtos工程中。
由于RPU处理能力很强远超过SPI总线速率,所以对于RPU来说宏观的多任务都是并行的,每片ADC的校准是ADC内部进行,芯片是等待阻塞的,所以每一个task任务等待的是自己负责配置的ADC,这样不管是一片ADC还是多片ADC,在配置校准过程中几乎是并行的,时间基本都是在15s。
如图2所示,在zynqMP芯片的APU端使用Ubuntu 虚拟机构建petalinux操作系统工程,具体构建是使用vivado工程生成的硬件描述文件hdf文件作为配置文件进行linux系统构建,构建配置kernel时取消spi驱动,裁剪不需要的驱动;然后使用petalinux-build工具进行系统生成,生成文件当中取出zynqmp_fsbl.elf、pmufw.elf、bl31.elf、image.ub,使用zynqmp_fsbl.elf、pmufw.elf、bl31.elf和RPU端用lsdk生成的freeRtos.elf制作成一个Uboot.bin文件固化到flash中,格式化EMMC存储器为ext4文件系统减少linux启动时间到12s~14s之间,并且放入image.ub、FPGA.bit两个文件,FPGA.bit使用在线加载,EMMC速度比spiflash速度快很多,这里把大文件FPGA.bit放在EMMC加载提高启动时间。
在petalinux工程使用petalinux-build -s命令编译出linux的root文件系统,此文件系统里面包含由libmetal需要的头文件和库文件,搭建petalinux端的libmetal的工程,工程setting配置中Librarys添加root文件系统库环境。编译生成libmetal.elf用于与RPU通信。
本发明的另一种实施方式涉及一种zynqMP芯片快速启动ADC和linux系统的装置,它包括zynqMP芯片,所述zynqMP芯片包括RPU端和APU端;
所述RPU端:用于构建运行一个RTOS的实时操作系统,并在RTOS创建多个并行运行的task任务,每个task任务配置一片ADC,每个task任务对自身的ADC校准,再进行多片ADC同步后与APU端进行通信;
所述APU端:用于运行linux系统,在系统里面运行多任务处理数据以及文件系统管理,加载和运行对应的程序、对对应的FPGA软件进行压缩加载以及对linux进行裁剪压缩,更改文件系统格式为ext4,系统启动后与RPU通信。
本发明的又一实施方式涉及一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述方法。
其中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
本发明的再一实施方式涉及一种终端设备,包括存储器和处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现所述方法。
以上所述仅是本发明的优选实施方式,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。
Claims (6)
1.一种快速启动ADC和linux系统的方法,其特征在于:所述方法包括:
在zynqMP芯片的RPU端构建运行一个RTOS的实时操作系统,并在RTOS创建多个并行运行的task任务,每个task任务配置一片ADC,每个task任务对自身的ADC校准,再进行多片ADC同步后与APU端进行通信;
在zynqMP芯片的APU端运行linux系统,在系统里面运行多任务处理数据以及文件系统管理,加载和运行对应的程序、对对应的FPGA软件进行压缩加载以及对linux进行裁剪压缩,更改文件系统格式为ext4,系统启动后与RPU通信。
2.根据权利要求1所述的一种快速启动ADC和linux系统的方法,其特征在于:所述每个task任务对自身的ADC校准,再进行多片ADC同步后与APU端进行通信依次包括:复位ADC、接口初始化、参考时钟配置、ADC初始化、ADC校准等待、多片ADC同步、协议初始化、等待协议握手和等待数据交换。
3.根据权利要求1所述的一种快速启动ADC和linux系统的方法,其特征在于:所述APU端执行的具体内容包括:通过Ubuntu虚拟机构建petalinux操作系统,使用petalinux-build工具进行系统生成,生成文件中取出第一文件、第二文件、第三文件和第四文件,并将第一文件、第二文件、第三文件与RPU端生成的第五文件固化到flash中,格式化EMMC存储器为ext4文件系统,将第四文件和使用在线加载的FPGA.bit文件存入EMMC中;
在petalinux操作系统中编译出包含libmetal需要的头文件和库文件的root文件系统,并搭建petalinux操作系统的libmetal与RPU端进行通信。
4.一种快速启动ADC和linux系统的装置,其特征在于:它包括zynqMP芯片,所述zynqMP芯片包括RPU端和APU端;
所述RPU端:用于构建运行一个RTOS的实时操作系统,并在RTOS创建多个并行运行的task任务,每个task任务配置一片ADC,每个task任务对自身的ADC校准,再进行多片ADC同步后与APU端进行通信;
所述APU端:用于运行linux系统,在系统里面运行多任务处理数据以及文件系统管理,加载和运行对应的程序、对对应的FPGA软件进行压缩加载以及对linux进行裁剪压缩,更改文件系统格式为ext4,系统启动后与RPU通信。
5.一种计算机可读存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现权利要求1-3中任意一项所述方法。
6.一种终端设备,包括存储器和处理器,所述存储器上存储有计算机程序,其特征在于:所述处理器执行所述计算机程序时实现权利要求1-3中任意一项所述方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310885423.5A CN116610388B (zh) | 2023-07-19 | 2023-07-19 | 一种快速启动ADC和linux系统的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310885423.5A CN116610388B (zh) | 2023-07-19 | 2023-07-19 | 一种快速启动ADC和linux系统的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116610388A true CN116610388A (zh) | 2023-08-18 |
CN116610388B CN116610388B (zh) | 2023-09-19 |
Family
ID=87683903
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310885423.5A Active CN116610388B (zh) | 2023-07-19 | 2023-07-19 | 一种快速启动ADC和linux系统的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116610388B (zh) |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103052051A (zh) * | 2012-12-28 | 2013-04-17 | 成都泰格微电子研究所有限责任公司 | 一种无线自组通信系统及其通信方法 |
CN108519146A (zh) * | 2018-03-29 | 2018-09-11 | 中国人民解放军国防科技大学 | 基于zynq系列fpga的光纤矢量水听器解调系统 |
CN109558174A (zh) * | 2018-11-28 | 2019-04-02 | 江苏艾萨克机器人股份有限公司 | 基于zynq双核处理器的rtos-gpos双操作系统机器人控制器 |
US10657265B1 (en) * | 2017-12-20 | 2020-05-19 | Xilinx, Inc. | Outputting internal states of an integrated circuit after initiation of a secure lockdown mode |
CN111585571A (zh) * | 2020-07-13 | 2020-08-25 | 成都泰格微电子研究所有限责任公司 | 一种高速adc中输入信号幅度的快速检测模块及检测方法 |
CN111694678A (zh) * | 2020-05-29 | 2020-09-22 | 科大智能电气技术有限公司 | 一种基于linux平台的连续周期数据采样方法及系统 |
CN111830541A (zh) * | 2020-06-19 | 2020-10-27 | 浙江时空道宇科技有限公司 | 一种卫星导航接收板卡、装置和系统 |
CN112005211A (zh) * | 2018-04-18 | 2020-11-27 | 赛灵思公司 | 用于异构片上系统的软件定义多域创建和隔离 |
CN113095137A (zh) * | 2021-03-10 | 2021-07-09 | 南京大学 | 一种基于机器学习的信号特征识别装置和方法 |
CN113561916A (zh) * | 2021-08-31 | 2021-10-29 | 长沙德壹科技有限公司 | 一种车载显示系统、车辆及车载摄像头图像显示方法 |
CN215180868U (zh) * | 2021-04-02 | 2021-12-14 | 湖南纳雷科技有限公司 | 一种基于mpsoc的远距离、多目标毫米波雷达信号处理平台 |
CN116302122A (zh) * | 2022-12-09 | 2023-06-23 | 深圳市德驰微视技术有限公司 | 多核异构域控制器、外设适配方法以及存储介质 |
-
2023
- 2023-07-19 CN CN202310885423.5A patent/CN116610388B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103052051A (zh) * | 2012-12-28 | 2013-04-17 | 成都泰格微电子研究所有限责任公司 | 一种无线自组通信系统及其通信方法 |
US10657265B1 (en) * | 2017-12-20 | 2020-05-19 | Xilinx, Inc. | Outputting internal states of an integrated circuit after initiation of a secure lockdown mode |
CN108519146A (zh) * | 2018-03-29 | 2018-09-11 | 中国人民解放军国防科技大学 | 基于zynq系列fpga的光纤矢量水听器解调系统 |
CN112005211A (zh) * | 2018-04-18 | 2020-11-27 | 赛灵思公司 | 用于异构片上系统的软件定义多域创建和隔离 |
CN109558174A (zh) * | 2018-11-28 | 2019-04-02 | 江苏艾萨克机器人股份有限公司 | 基于zynq双核处理器的rtos-gpos双操作系统机器人控制器 |
CN111694678A (zh) * | 2020-05-29 | 2020-09-22 | 科大智能电气技术有限公司 | 一种基于linux平台的连续周期数据采样方法及系统 |
CN111830541A (zh) * | 2020-06-19 | 2020-10-27 | 浙江时空道宇科技有限公司 | 一种卫星导航接收板卡、装置和系统 |
CN111585571A (zh) * | 2020-07-13 | 2020-08-25 | 成都泰格微电子研究所有限责任公司 | 一种高速adc中输入信号幅度的快速检测模块及检测方法 |
CN113095137A (zh) * | 2021-03-10 | 2021-07-09 | 南京大学 | 一种基于机器学习的信号特征识别装置和方法 |
CN215180868U (zh) * | 2021-04-02 | 2021-12-14 | 湖南纳雷科技有限公司 | 一种基于mpsoc的远距离、多目标毫米波雷达信号处理平台 |
CN113561916A (zh) * | 2021-08-31 | 2021-10-29 | 长沙德壹科技有限公司 | 一种车载显示系统、车辆及车载摄像头图像显示方法 |
CN116302122A (zh) * | 2022-12-09 | 2023-06-23 | 深圳市德驰微视技术有限公司 | 多核异构域控制器、外设适配方法以及存储介质 |
Non-Patent Citations (1)
Title |
---|
陈伟等: ""\'三元素、四模块\'嵌入式系统项目化教学平台研究与构建"", 《大学》, pages 58 - 60 * |
Also Published As
Publication number | Publication date |
---|---|
CN116610388B (zh) | 2023-09-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109558344B (zh) | 一种适用于网络传输的dma传输方法及dma控制器 | |
CN111124704B (zh) | 一种数据处理方法、处理器及终端设备 | |
CN108897547B (zh) | 一种软件自动化部署方法及装置 | |
CN101840332B (zh) | 一种java智能卡的数据处理方法、装置及系统 | |
CN111104178A (zh) | 一种动态库加载方法、终端装置及存储介质 | |
CN116610388B (zh) | 一种快速启动ADC和linux系统的方法及装置 | |
CN111159265A (zh) | 一种etl数据迁移方法和系统 | |
CN103544076A (zh) | 一种数据备份方法及装置 | |
CN111327319A (zh) | 一种多通道模拟信号采样方法及装置 | |
CN114003375A (zh) | 一种芯片采样控制方法、装置、系统、设备及存储介质 | |
CN115098436B (zh) | 一种多核SoC及继电保护系统 | |
CN106484375B (zh) | 一种指令块加载方法、软交换设备及系统 | |
CN110830385A (zh) | 一种捕包处理方法、网络设备、服务器及存储介质 | |
CN110806891A (zh) | 嵌入式设备软件版本的生成方法及装置 | |
CN113434244B (zh) | 实例创建和数据处理方法、设备、系统及存储介质 | |
CN114168151B (zh) | 基于容器的程序编译方法、装置、电子设备及存储介质 | |
CN116028093A (zh) | 用于zynq片上系统的软件更新及功能重构的系统 | |
CN104915206A (zh) | 一种基于文本解析的dsp上的属性和数据的管理方法 | |
CN115442233A (zh) | Ecu升级方法、装置、电子设备、存储介质及车辆 | |
CN110874214B (zh) | 一种功能调用方法、装置、电子设备和存储介质 | |
CN114356289A (zh) | 一种基于多平台的着色器使用方法和相关设备 | |
CN111355491A (zh) | 一种单通道模拟信号采样方法及装置 | |
RU2441272C2 (ru) | Способ эмуляции компьютерных систем с гетерогенной памятью и устройство для реализации способа | |
CN111399896A (zh) | 补丁获取方法、装置、设备及存储介质 | |
CN113419871B (zh) | 基于同步槽的对象处理方法及相关产品 |
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 |