CN110442352B - 一种dsp的代码下载方法和装置 - Google Patents

一种dsp的代码下载方法和装置 Download PDF

Info

Publication number
CN110442352B
CN110442352B CN201910668725.0A CN201910668725A CN110442352B CN 110442352 B CN110442352 B CN 110442352B CN 201910668725 A CN201910668725 A CN 201910668725A CN 110442352 B CN110442352 B CN 110442352B
Authority
CN
China
Prior art keywords
data
mcu
dsp
code
writing
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.)
Active
Application number
CN201910668725.0A
Other languages
English (en)
Other versions
CN110442352A (zh
Inventor
陈建宇
谢炎飞
钟振华
胡毅
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Accelink Technologies Co Ltd
Original Assignee
Accelink Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Accelink Technologies Co Ltd filed Critical Accelink Technologies Co Ltd
Priority to CN201910668725.0A priority Critical patent/CN110442352B/zh
Publication of CN110442352A publication Critical patent/CN110442352A/zh
Application granted granted Critical
Publication of CN110442352B publication Critical patent/CN110442352B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/63Image based installation; Cloning; Build to order

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Optical Communication System (AREA)

Abstract

本发明实施例公开了一种数字信号处理器(DSP)的代码下载方法和装置,其中,所述光模块中包括微控制单元(MCU)和存储器件;所述方法包括:获得代码数据,将所述代码数据转换为特定格式的第一数据;所述特定格式为支持写入所述MCU内的存储组件的数据格式;将所述第一数据写入所述MCU内的存储组件中;向所述MCU发送代码装载指令,所述MCU执行所述代码装载指令将存储的所述第一数据写入所述存储器件中。

Description

一种DSP的代码下载方法和装置
技术领域
本发明涉及光通信技术领域,涉及但不限于一种DSP的代码下载方法、装置。
背景技术
400G光模块将在数据中心开始逐步商用。对于400G应用,最大的不同是引入了新型的调制格式:四脉冲幅度调制信号(4Pulse Amplitude Modulation,PAM-4),已达到在同样波特率(器件带宽)下传输速率翻倍的效果,比如应用于500米以下传输的***双倍速率同步动态随机存储器DR4,单波速率需要达到100Gbps。为了实现该种速率应用,数据中心光模块开始引入基于数字信号处理器(Digital Signal Processor,DSP)芯片取代过去的时钟恢复芯片,用以解决光器件带宽不足引起的灵敏度问题。DSP芯片将成为光模块最广泛的解决方案。
但DSP芯片内部没有只读存储器(Read-Only Memory,ROM)来存放代码,所以必须使用外部扩展的ROM,光模块中常用的是FLASH存储器。随着DSP代码越来越大,如何快速地将DSP代码写入FLASH中成为必须关注和解决的问题。现在通用的方法就是将DSP代码用自定义的协议通过个人电脑(Personal Computer,PC)软件和光模块内的微控制单元(Microcontroller Unit,MCU)通信,一帧一帧传给MCU,MCU再将DSP代码写入FLASH中。这个下载方法最大的缺点是时间长,特别是现在的DSP代码越来越大,下载时间会有十几分钟,效率非常低。而随着光模块的出货量越来越大,这种DSP代码下载方法显然需要改进。针对该问题,目前尚无有效解决方案。
发明内容
有鉴于此,本发明实施例期望提供一种DSP的代码下载方法和装置。
本发明实施例的技术实施例是这样实现的:
本发明实施例提供一种DSP的代码下载方法,所述光模块中包括微控制单元(MCU)和存储器件;所述方法包括:
获得代码数据,将所述代码数据转换为特定格式的第一数据;所述特定格式为支持写入所述MCU内的存储组件的数据格式;
将所述第一数据写入所述MCU内的存储组件中;
向所述MCU发送代码装载指令,所述MCU执行所述代码装载指令将存储的所述第一数据写入所述存储器件中。
在上述方案中,所述第一数据中包括所述存储组件中用于存储所述第一数据的地址信息;
所述将所述第一数据写入所述MCU内的存储组件中,包括:基于所述第一数据中的所述地址信息将所述第一数据写入所述MCU内的存储组件中。
在上述方案中,所述光模块中还包括DSP;所述DSP和所述MCU分别通过串行总线与所述存储器件连接;所述DSP和所述MCU通过通信接口连接;
所述MCU执行所述代码装载指令将存储的所述第一数据写入所述存储器件中,包括:
所述MCU基于所述代码装载指令向所述DSP发送第一配置信息,所述第一配置信息用于控制所述DSP处于第一模式;所述第一模式表征释放所述串行总线的模式;
所述MCU基于所述串行总线将存储的所述第一数据写入所述存储器件中。
在上述方案中,所述方法还包括:所述MCU向所述DSP发送第二配置信息以及控制自身处于所述第一模式;所述第二配置信息用于控制所述DSP处于第二模式;
所述DSP基于所述串行总线从所述存储器件中读取所述第一数据,所述第一数据用于所述DSP执行启动操作。
在上述方案中,所述方法还包括:
所述DSP基于所述第一数据执行启动操作,获得并存储启动操作结果;
所述MCU读取所述启动操作结果,基于所述启动操作结果向所述DSP发送第三配置信息。
本发明实施例提供一种DSP的代码下载方法,所述光模块代码处理装置包括:光模块、转换单元、写入单元和执行单元,所述光模块中包括MCU和存储器件;其中:
所述转换单元,用于获得代码数据,将所述代码数据转换为特定格式的第一数据;所述特定格式为支持写入所述MCU内的存储组件的数据格式;
所述写入单元,用于将所述转换单元获得的第一数据写入所述MCU内的存储组件中;
所述执行单元,用于向所述MCU发送代码装载指令;
所述MCU,用于执行所述执行单元发送的所述代码装载指令将存储的所述第一数据写入所述存储器件中。
在上述方案中,所述第一数据中包括所述存储组件中用于存储所述第一数据的地址信息;
所述写入单元,用于基于所述第一数据中的所述地址信息将所述第一数据写入所述MCU内的存储组件中。
在上述方案中,所述光模块中还包括DSP;所述DSP和所述MCU分别通过串行总线与所述存储器件连接;所述DSP和所述MCU通过通信接口连接;
所述MCU,用于基于所述代码装载指令向所述DSP发送第一配置信息,所述第一配置信息用于控制所述DSP处于第一模式;所述第一模式表征释放所述串行总线的模式;基于所述串行总线将存储的所述第一数据写入所述存储器件中。
在上述方案中,所述MCU,还用于向所述DSP发送第二配置信息以及控制自身处于所述第一模式;所述第二配置信息用于控制所述DSP处于第二模式;
所述DSP,用于基于所述串行总线从所述存储器件中读取所述第一数据,所述第一数据用于所述DSP执行启动操作。
在上述方案中,所述DSP,还用于基于所述第一数据执行启动操作,获得并存储启动操作结果;
所述MCU,还用于从所述DSP中读取所述启动操作结果,基于所述启动操作结果向所述DSP发送第三配置信息。
本发明实施例提供的一种DSP的代码下载方法和装置,其中,包括:获得代码数据,将所述代码数据转换为特定格式的第一数据;所述特定格式为支持写入所述MCU内的存储组件的数据格式;将所述第一数据写入所述MCU内的存储组件中;向所述MCU发送代码装载指令,所述MCU执行所述代码装载指令将存储的所述第一数据写入所述存储器件中。采用本发明实施例的技术方案,通过将所述代码数据转换为支持写入所述MCU内的存储组件的特定格式的第一数据,先将所述第一数据写入所述MCU内的存储组件中,再通过所述MCU执行所述代码装载指令将所述第一数据MCU外的存储器件中,相比于现有技术中通过自定义的协议将DSP代码一帧一帧传给MCU,再将DSP代码写入FLASH中,大大的节省了DSP代码下载的时间,提高了DSP代码下载的效率。
附图说明
图1为本发明实施例光模块代码处理方法实现流程示意图;
图2为本发明实施例光模块代码处理方法中MCU存储组件示意图;
图3为本发明实施例光模块代码处理方法又一实现流程示意图;
图4为本发明实施例光模块代码处理方法的一种应用场景示意图;
图5为本发明实施例光模块代码处理装置的组成结构示意图;
图6为本发明实施例中光模块代码处理设备的一种硬件实体结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对发明的具体技术方案做进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
图1为本发明实施例光模块代码处理方法实现流程示意图,如图1所示,所述光模块中包括MCU和存储器件;该方法包括:
步骤S101:获得代码数据,将所述代码数据转换为特定格式的第一数据;所述特定格式为支持写入所述MCU内的存储组件的数据格式。
需要说明的是,所述代码数据可以为DSP代码,该DSP代码是可以被DSP执行的代码,以及通过DSP执行该代码可以使DSP进行初始化,该DSP代码可以是DSP代码厂家提供的代码。该代码数据可以存储在通信设备中,该通信设备可以是接口类设备、光电转换类设备或电子类设备等,在此不做限定,作为一种示例,DSP代码厂家直接提供的代码可以存储在电子设备中,例如,电脑中,也可以存储在接口类设备中,例如,硬盘中。
这里,将所述代码数据转换为特定格式的第一数据;所述特定格式为支持写入所述MCU内的存储组件的数据格式。作为一种实施方式,若写入所述MCU内的存储组件的过程通过代码烧写工具利用代码烧写软件实现,则所述特定格式为所述代码烧写软件能够识别的格式。这里,所述代码数据的转换过程可以通过软件来实现,该软件可以根据实际情况进行设计,作为一种示例,该软件可以为电脑软件,该电脑软件可以为PC软件;所述特定格式为支持写入所述MCU内的存储组件的数据格式,为了方便理解,这里进行举例说明,该特定格式可以为HEX(Intel HEX)文件格式,所述第一数据可以为HEX文件格式的数据。
本实施例中,所述存储组件可以为所述MCU内的存储器,作为一种示例,该存储器可以为FLASH,具体可以为MCU片内FLASH。
步骤S102:将所述第一数据写入所述MCU内的存储组件中。
这里,可以通过设备将所述第一数据写入所述MCU内的存储组件中,该设备可以是通信设备,该通信设备可以是接口类设备、光电转换类设备或电子类设备等,在此不做限定,作为一种示例,该设备可以是MCU代码烧写设备,该设备可以通过接口与所述MCU连接,作为一种示例,该MCU代码烧写设备可以包括烧写工具和烧写软件,所述MCU可以通过烧写工具和烧写软件将所述第一数据写入所述MCU内的存储组件中,具体的,所述MCU可以通过烧写工具执行烧写软件将所述第一数据写入所述MCU内的存储组件中,该烧写工具既可以是硬件,也可以是软件,为了方便理解,举例说明,该烧写工具可以是一个单片机或者一个执行软件,而烧写软件可以是烧写工具执行烧写过程的代码程序,可以通过特定的语言编写。
在本发明的一种可选实施例中,所述第一数据中可以包括所述存储组件中用于存储所述第一数据的地址信息;所述将所述第一数据写入所述MCU内的存储组件中可以包括:基于所述第一数据中的所述地址信息将所述第一数据写入所述MCU内的存储组件中。
例如,假设获得的代码数据为DSP代码,特定格式为HEX文件格式,所述第一数据为HEX文件格式的数据,该第一数据可以包括DSP代码存储于MCU内的存储组件中的地址信息以及DSP代码数据。图2为本发明实施例光模块代码处理方法中MCU存储组件示意图,如图2所示,通过PC软件将代码数据转换为第一数据的过程中,设置hex文件格式的第一数据在MCU中存储组件中的地址信息,例如图2中MCU内的存储组件中DSP代码区的存储地0x08016000-0x0807FFFF,由于HEX文件格式中只有2字节表示地址,因此超过0xFFFF(64K)的地址必须要定义偏移地址,例如0x08016000的偏移地址可以为0x0801,当前地址可以为0x6000。第一数据可以包括数据长度、DSP代码对应的数据、数据的类型、偏移地址等,为了方便理解,这里假设将偏移地址为0x0801按数据类型0x04写入hex文件格式的第一数据,数据为:020000040801F1,其中,02表示数据长度;0000可以表示数据地址;04表示数据类型;0801表示偏移地址;F1表示为校验码。接着从DSP代码中读取16字节数据,如果读到的数据是16字节,则将当前地址和16字节的数据按数据类型0x00写入hex文件格式的第一数据,当前地址增加16,这样就一一将对应的DSP代码转为对应的hex文件格式的第一数据。如果DSP代码大于64K时,每64K需要重新设置偏移地址,在上一个偏移地址加1并将此偏移地址按数据类型0x04写入hex文件,当前地址可以改为0x0000。当读到的实际字节小于16字节时,说明这是DSP代码的最后一个包,将当前地址和剩余的字节按数据类型0x00写入hex文件格式的第一数据。最后将终止序列“:00000001FF\n”写入hex文件格式的第一数据。这样就生成了既包含DSP代码又包含地址信息的hex文件格式的第一数据。
这里,所述将所述第一数据写入所述MCU内的存储组件中,包括:通过代码烧写工具利用代码烧写软件将所述第一数据写入所述MCU内的存储组件。代码烧写工具利用代码烧写软件在从MCU的存储组件中读取第一数据的过程中,代码烧写软件可以识别出所述第一数据的地址信息,所述代码烧写工具基于所述第一数据中的所述地址信息将所述第一数据写入所述MCU内的存储组件中,即将所述第一数据的代码写入所述MCU内的存储组件中对应的位置上。
其中,所述代码烧写工具可通过烧写器或烧录器实现,是用来将数据写入MCU内的存储组件(如MCU内的FLASH)的工具。代码烧写工具结合代码烧写软件实现将数据写入MCU内的存储组件,作为一种示例,所述代码烧写工具通过执行代码烧写软件实现将数据写入MCU内的存储组件。
作为一种示例,所述代码烧写工具和所述存储有所述代码烧写软件的存储器之间可以通过通用串行总线(Universal Serial Bus,USB)连接,所述代码烧写工具可通过该USB连接从存储有所述代码烧写软件的存储器中获得所述代码烧写软件。其中,所述代码烧写软件和所述代码烧写工具可以为MCU代码烧写软件和MCU代码烧写工具,MCU代码烧写工具可利用MCU代码烧写软件可以读取hex文件格式的第一数据,识别出所述第一数据中的地址信息和代码信息,基于所述地址信息将所述代码信息写入到该地址信息对应的位置上。
在本发明的一种可选实施例中,所述将所述第一数据写入所述MCU内的存储组件后,代码烧写工具结合代码烧写软件还可以读取所述MCU内的存储组件中的代码,并校验该代码的写入是否正确。具体的,将该代码与代码烧写工具中存储的代码一一比对,如果完全相同,则说明该代码的写入是准确的,其中,代码烧写工具中存储的代码是代码烧写软件在识别出所述第一数据中的代码时,会通过代码烧写工具记录该代码,即存储该代码,以便后续对写入所述MCU存储组件中的代码进行校验。
步骤S103:向所述MCU发送代码装载指令,所述MCU执行所述代码装载指令将存储的所述第一数据写入所述存储器件中。
这里,可以通过软件向所述MCU发送代码装载指令,该软件可以存储在电子设备中,例如电脑中,作为一种示例,该软件可以是PC软件。
所述MCU执行所述代码装载指令将存储的所述第一数据写入所述存储器件中可以为所述MCU执行所述代码装载指令将存储的所述第一数据中的代码写入所述存储器件中,其中,所述代码装载指令可以是代码下载指令;所述第一数据可以是DSP代码;所述存储器件可以是任意的存储器件,作为一种示例,该存储器件可以是FLASH器件,具体的可以为片外FLASH。
本发明实施例提供的光模块代码处理方法,通过将所述代码数据转换为支持写入所述MCU内的存储组件的特定格式的第一数据,先将所述第一数据写入所述MCU内的存储组件中,再通过所述MCU执行所述代码装载指令将所述第一数据MCU外的存储器件中,相比于现有技术中通过自定义的协议将DSP代码一帧一帧传给MCU,再将DSP代码写入FLASH中,大大的节省了DSP代码下载的时间,提高了DSP代码下载的效率。
本实施例提出又一种DSP的代码下载方法,图3为本发明实施例光模块代码处理方法又一实现流程示意图,如图3所示,所述光模块中包括MCU、存储器件和DSP;所述DSP和所述MCU分别通过串行总线与所述存储器件连接;所述DSP和所述MCU通过通信接口连接;该方法包括:
步骤S201,获得代码数据,将所述代码数据转换为特定格式的第一数据;所述特定格式为支持写入所述MCU内的存储组件的数据格式。
本实施例中的步骤S201可参照前述实施例中的步骤S101中的描述,这里不再赘述。
步骤S202,将所述第一数据写入所述MCU内的存储组件中。
本实施例中的步骤S202可参照前述实施例中的步骤S102中的描述,这里不再赘述。
步骤S203,所述MCU接收代码装载指令,基于所述代码装载指令向所述DSP发送第一配置信息,所述第一配置信息用于控制所述DSP处于第一模式;所述第一模式表征释放所述串行总线的模式;所述MCU基于所述串行总线将存储的所述第一数据写入所述存储器件中。
这里,所述串行总线可以为通用的串行总线,在此不做限定,作为一种示例,该串行总线可以为串行外设接口(Serial Peripheral Interface,SPI)总线,所述DSP和所述MCU可分别通过SPI总线与所述存储器件连接,所述DSP与所述存储器件之间的总线和所述MCU与所述存储器件之间的总线可以为同一个SPI总线。所述第一配置信息可以根据实际情况进行设置,作为一种示例,所述第一配置信息可以为引脚电平设置为第一电平值或第一SPI的模式。例如,所述第一配置信息可以为复位(RESET)引脚置为低电平,所述复位(RESET)引脚置为低电平表示处于第一模式;相反的,所述复位(RESET)引脚置为高电平表示处于第二模式,所述第二模式表征使用所述串行总线(即SPI总线)的模式;此时,MCU处于所述第二模式,即MCU当前可使用SPI总线。则所述MCU基于所述代码装载指令可以向所述DSP发送第一配置信息,使所述DSP处于释放所述串行总线的模式。实际应用中,MCU可通过与DSP之间的通信接口向所述DSP发送所述第一配置信息,以使DSP的复位(RESET)引脚置为低电平。而此时MCU的SPI配置为主模式。
所述MCU基于所述串行总线将存储的所述第一数据写入所述存储器件中可以为所述MCU基于所述串行总线将存储的所述第一数据中的代码写入所述存储器件中,该代码可以为DSP代码。
需要说明的是,所述MCU执行所述代码装载指令将存储的所述第一数据写入所述存储器件中后,所述方法还可以包括:所述MCU读取所述存储器件中写入的所述第一数据,并校验所述第一数据,获得第二校验结果;所述第二校验结果表征将存储的所述第一数据写入所述存储器件是否正确。
这里,所述MCU可以读取所述存储器件中写入的第一数据中的代码,并将读取后的所述第一数据中的代码和所述MCU内的存储组件中存储的第一数据中的代码进行比对,如果两组数据相同,则表明将存储的所述第一数据写入所述存储器件中是正确的,可以继续执行后续的步骤;如果两组数据不相同,则表明将存储的所述第一数据中的代码写入所述存储器件中是不正确的,需要重新将存储的所述第一数据中的代码写入所述存储器件中。
步骤S204,所述MCU向所述DSP发送第二配置信息以及控制自身处于所述第一模式;所述第二配置信息用于控制所述DSP处于第二模式;所述DSP基于所述串行总线从所述存储器件中读取所述第一数据,所述第一数据用于所述DSP执行启动操作。
这里,由于所述DSP和所述MCU分别通过串行总线(例如SPI总线)与所述存储器件连接,该串行总线为同一个SPI总线。因此在同一时间,只能有一方的SPI总线起作用,另一方的SPI总线需要配置为开漏状态,即释放所述串行总线的模式。所述第二配置信息可以根据实际情况进行设置,作为一种示例,所述第二配置信息可以为引脚电平置为第二电平值或第二SPI的模式。具体的,所述第二配置信息可以为复位(RESET)引脚置为置为高电平,所述复位(RESET)引脚置为置为高电平表示处于第二模式。所述第一模式表征释放所述串行总线的模式,所述第二模式表征使用所述串行总线(即SPI总线)的模式;此时,所述MCU处于释放所述串行总线的第一模式,所述DSP处于使用所述串行总线的第二模式。本实施例中,所述MCU可通过与所述DPS之间的通信接口向所述DSP发送第二配置信息,使所述DSP处于使所述第二模式,以及所述MCU控制自身处于第一模式,在所述DSP处于所述第二模式后,便可以通过所述串行总线(例如SPI总线)从所述存储器件中读取所述第一数据中的代码,所述第一数据中的代码用于所述DSP执行启动操作。作为一种示例,MCU与DSP之间通过通信接口进行交互,MCU将自身的SPI引脚配置为开漏状态,释放所述串行总线的模式,所述MCU向所述DSP发送第二配置信息,以使DSP将复位(RESET)引脚置为高电平,所述DSP便可以基于所述串行总线从所述存储器件中读取所述第一数据中的代码,并执行启动操作。
步骤S205,所述DSP基于所述第一数据执行启动操作,获得并存储启动操作结果;所述MCU读取所述启动操作结果,基于所述启动操作结果向所述DSP发送第三配置信息。
这里,所述DSP基于所述第一数据执行启动操作可以为所述DSP基于所述第一数据中的代码执行启动操作。启动操作结果可以为DSP启动成功或DSP启动失败,该启动操作结果可以通过所述DSP内的特定寄存器进行存储。作为一种示例,该特定寄存器可以为DSP的状态寄存器。所述第三配置信息可以为参数配置信息,作为示例,该参数配置信息可以为光模块的参数配置。具体的,所述MCU读取所述启动操作结果,基于所述启动操作结果向所述DSP发送第三配置信息可以为所述MCU读取DSP的状态寄存器,基于所述状态寄存器的数据确定DSP启动成功时,向所述DSP发送光模块的参数配置,以使所述DSP正确工作。
图4为本发明实施例光模块代码处理方法的一种应用场景示意图,如图4所示,所述存储器和处理器都可以为通信设备中的存储器和处理器,该通信设备具备通信功能,可以是接口类设备、光电转换类设备或电子类设备等,在此不做限定,所述应用程序可以为任意的软件程序,作为一种示例,该应用程序可以为代码烧写软件,所述操作***可以为执行软件的工具,作为一种示例,该操作***可以为代码烧写工具。所述处理器可以将所述代码数据转换为特定格式的第一数据,该处理器可以是硬件也可以是软件,作为一种示例,该处理器可以是PC软件,可以将代码数据转换为特定格式的第一数据;所述特定格式为支持写入所述MCU内的存储组件的数据格式;该代码数据可以为DSP代码,该特定格式的第一数据可以为HEX文件中的数据。
本发明实施例的光模块代码处理方法,通过将所述代码数据转换为支持写入所述MCU内的存储组件的特定格式的第一数据,先将所述第一数据写入所述MCU内的存储组件中,再通过所述MCU执行所述代码装载指令将所述第一数据MCU外的存储器件中,相比于现有技术中通过自定义的协议将DSP代码一帧一帧传给MCU,再将DSP代码写入FLASH中,大大的节省了DSP代码下载的时间,提高了DSP代码下载的效率。
本实施例提出又一种DSP的代码下载方法,图5为本发明实施例光模块代码处理装置的组成结构示意图,如图5所示,所述光模块代码处理装置300包括:转换单元301、写入单元302、执行单元303和光模块304,所述光模块304中包括MCU3041和存储器件3042;其中:
所述转换单元301,用于获得代码数据,将所述代码数据转换为特定格式的第一数据;所述特定格式为支持写入所述MCU内的存储组件的数据格式。
所述写入单元302,用于将所述转换单元获得的第一数据写入所述MCU内的存储组件中。
所述执行单元303,用于向所述MCU发送代码装载指令;
所述MCU3041,用于执行所述执行单元发送的所述代码装载指令将存储的所述第一数据写入所述存储器件中。
在其他的实施例中,所述第一数据中包括所述存储组件中用于存储所述第一数据的地址信息;
所述写入单元302,用于基于所述第一数据中的所述地址信息将所述第一数据写入所述MCU内的存储组件中。
在其他的实施例中,所述光模块中还包括DSP;所述DSP和所述MCU分别通过串行总线与所述存储器件连接;所述DSP和所述MCU通过通信接口连接;
所述MCU3041,用于基于所述代码装载指令向所述DSP发送第一配置信息,所述第一配置信息用于控制所述DSP处于第一模式;所述第一模式表征释放所述串行总线的模式;基于所述串行总线将存储的所述第一数据写入所述存储器件中。
在其他的实施例中,所述MCU3041,用于向所述DSP发送第二配置信息以及控制自身处于所述第一模式;所述第二配置信息用于控制所述DSP处于第二模式;
所述DSP,用于基于所述串行总线从所述存储器件中读取所述第一数据,所述第一数据用于所述DSP执行启动操作。
在其他的实施例中,所述DSP,还用于基于所述第一数据执行启动操作,获得并存储启动操作结果;
所述MCU,还用于从所述DSP中读取所述启动操作结果,基于所述启动操作结果向所述DSP发送第三配置信息。
以上装置实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本发明装置实施例中未披露的技术细节,请参照本发明方法实施例的描述而理解。
需要说明的是,本发明实施例中,如果以软件功能模块的形式实现上述的光模块代码处理方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术实施例本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台光模块代码处理(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本发明实施例不限制于任何特定的硬件和软件结合。
对应地,本发明实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例提供的光模块代码处理方法中的步骤。
这里需要指出的是:以上存储介质和设备实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本发明存储介质和设备实施例中未披露的技术细节,请参照本发明方法实施例的描述而理解。
需要说明的是,图6为本发明实施例中光模块代码处理设备的一种硬件实体结构示意图,如图6所示,该光模块代码处理设备400的硬件实体包括:处理器401和存储器403,可选地,所述光模块代码处理设备400还可以包括通信接口402。作为一种实施方式,光模块可接入所述通信接口402,以通过所述处理器401执行所述存储器403中的计算机程序实现本发明实施例中的光模块代码的处理。
可以理解,存储器403可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM,Read Only Memory)、可编程只读存储器(PROM,Programmable Read-Only Memory)、可擦除可编程只读存储器(EPROM,Erasable Programmable Read-Only Memory)、电可擦除可编程只读存储器(EEPROM,Electrically Erasable Programmable Read-Only Memory)、磁性随机存取存储器(FRAM,ferromagnetic random access memory)、快闪存储器(Flash Memory)、磁表面存储器、光盘、或只读光盘(CD-ROM,Compact Disc Read-Only Memory);磁表面存储器可以是磁盘存储器或磁带存储器。易失性存储器可以是随机存取存储器(RAM,Random AccessMemory),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(SRAM,Static Random Access Memory)、同步静态随机存取存储器(SSRAM,Synchronous Static Random Access Memory)、动态随机存取存储器(DRAM,Dynamic Random Access Memory)、同步动态随机存取存储器(SDRAM,SynchronousDynamic Random Access Memory)、双倍数据速率同步动态随机存取存储器(DDRSDRAM,Double Data Rate Synchronous Dynamic Random Access Memory)、增强型同步动态随机存取存储器(ESDRAM,Enhanced Synchronous Dynamic Random Access Memory)、同步连接动态随机存取存储器(SLDRAM,SyncLink Dynamic Random Access Memory)、直接内存总线随机存取存储器(DRRAM,Direct Rambus Random Access Memory)。本发明实施例描述的存储器403旨在包括但不限于这些和任意其它适合类型的存储器。
上述本发明实施例揭示的方法可以应用于处理器401中,或者由处理器401实现。处理器401可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器401中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器401可以是通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器401可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本发明实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器403,处理器401读取存储器403中的信息,结合其硬件完成前述方法的步骤。
在示例性实施例中,光模块代码处理设备可以被一个或多个应用专用集成电路(ASIC,Application Specific Integrated Circuit)、DSP、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable LogicDevice)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)、通用处理器、控制器、微控制器(MCU,Micro Controller Unit)、微处理器(Microprocessor)、或其他电子元件实现,用于执行前述方法。
在本发明所提供的几个实施例中,应该理解到,所揭露的方法和装置,可以通过其他的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个观测量,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其他形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例的目的。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(ROM,Read-Only Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本发明实施例上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术实施例本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台光模块代码处理(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、磁碟或者光盘等各种可以存储程序代码的介质。
本发明是实例中记载的基于确定卫星观测量质量方法、装置和计算机存储介质只以本发明所述实施例为例,但不仅限于此,只要涉及到该基于确定卫星观测量质量方法、装置和计算机存储介质均在本发明的保护范围。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本发明的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
以上所述,仅为本发明的实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (8)

1.一种数字信号处理器DSP的代码下载方法,其特征在于,光模块中包括微控制单元MCU和存储器件;所述光模块中还包括DSP;所述DSP和所述MCU分别通过串行总线与所述存储器件连接;所述DSP和所述MCU通过通信接口连接;所述方法包括:
获得代码数据,将所述代码数据转换为特定格式的第一数据;所述特定格式为支持写入所述MCU内的存储组件的数据格式;所述第一数据中包括所述存储组件中用于存储所述第一数据的地址信息;
将所述第一数据写入所述MCU内的存储组件中;
向所述MCU发送代码装载指令,所述MCU执行所述代码装载指令将存储的所述第一数据写入所述存储器件中;
其中,所述MCU执行所述代码装载指令将存储的所述第一数据写入所述存储器件中,包括:
所述MCU基于所述代码装载指令向所述DSP发送第一配置信息,所述第一配置信息用于控制所述DSP处于第一模式;所述第一模式表征释放所述串行总线的模式;
所述MCU基于所述串行总线将存储的所述第一数据写入所述存储器件中。
2.根据权利要求1所述的方法,其特征在于,
所述将所述第一数据写入所述MCU内的存储组件中,包括:基于所述第一数据中的所述地址信息将所述第一数据写入所述MCU内的存储组件中。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:所述MCU向所述DSP发送第二配置信息以及控制自身处于所述第一模式;所述第二配置信息用于控制所述DSP处于第二模式;
所述DSP基于所述串行总线从所述存储器件中读取所述第一数据,所述第一数据用于所述DSP执行启动操作。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
所述DSP基于所述第一数据执行启动操作,获得并存储启动操作结果;
所述MCU读取所述启动操作结果,基于所述启动操作结果向所述DSP发送第三配置信息。
5.一种DSP的代码下载装置,其特征在于,所述装置包括:光模块、转换单元、写入单元和执行单元,所述光模块中包括微控制单元MCU和存储器件;所述光模块中还包括数字信号处理器DSP;所述DSP和所述MCU分别通过串行总线与所述存储器件连接;所述DSP和所述MCU通过通信接口连接;其中:
所述转换单元,用于获得代码数据,将所述代码数据转换为特定格式的第一数据;所述特定格式为支持写入所述MCU内的存储组件的数据格式;所述第一数据中包括所述存储组件中用于存储所述第一数据的地址信息;
所述写入单元,用于将所述转换单元获得的第一数据写入所述MCU内的存储组件中;
所述执行单元,用于向所述MCU发送代码装载指令;
所述MCU,用于执行所述执行单元发送的所述代码装载指令将存储的所述第一数据写入所述存储器件中;
所述MCU,还用于基于所述代码装载指令向所述DSP发送第一配置信息,所述第一配置信息用于控制所述DSP处于第一模式;所述第一模式表征释放所述串行总线的模式;基于所述串行总线将存储的所述第一数据写入所述存储器件中。
6.根据权利要求5所述的装置,其特征在于,
所述写入单元,用于基于所述第一数据中的所述地址信息将所述第一数据写入所述MCU内的存储组件中。
7.根据权利要求5所述的装置,其特征在于,所述MCU,还用于向所述DSP发送第二配置信息以及控制自身处于所述第一模式;所述第二配置信息用于控制所述DSP处于第二模式;
所述DSP,用于基于所述串行总线从所述存储器件中读取所述第一数据,所述第一数据用于所述DSP执行启动操作。
8.根据权利要求7所述的装置,其特征在于,所述DSP,还用于基于所述第一数据执行启动操作,获得并存储启动操作结果;
所述MCU,还用于从所述DSP中读取所述启动操作结果,基于所述启动操作结果向所述DSP发送第三配置信息。
CN201910668725.0A 2019-07-23 2019-07-23 一种dsp的代码下载方法和装置 Active CN110442352B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910668725.0A CN110442352B (zh) 2019-07-23 2019-07-23 一种dsp的代码下载方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910668725.0A CN110442352B (zh) 2019-07-23 2019-07-23 一种dsp的代码下载方法和装置

Publications (2)

Publication Number Publication Date
CN110442352A CN110442352A (zh) 2019-11-12
CN110442352B true CN110442352B (zh) 2023-11-07

Family

ID=68431310

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910668725.0A Active CN110442352B (zh) 2019-07-23 2019-07-23 一种dsp的代码下载方法和装置

Country Status (1)

Country Link
CN (1) CN110442352B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112157339B (zh) * 2020-09-23 2022-06-03 天津七所高科技有限公司 一种电阻焊设备数据初始化的方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103809987A (zh) * 2012-11-07 2014-05-21 中国科学院微电子研究所 一种soc芯片更换自身内部fpga ip程序的方法
CN103823698A (zh) * 2014-02-27 2014-05-28 四川九洲电器集团有限责任公司 Fpga和dsp目标程序的烧写和启动的方法及设备
CN106557351A (zh) * 2016-11-21 2017-04-05 广东高标电子科技有限公司 嵌入式应用程序的数据处理方法及装置
CN108363577A (zh) * 2018-02-01 2018-08-03 四川泰瑞创通讯技术股份有限公司 自动分类下载光模块固件程序的装置
CN109656591A (zh) * 2018-12-06 2019-04-19 上海荣泰健康科技股份有限公司 程序下载方法、电子设备及云端服务器
CN109710296A (zh) * 2018-12-14 2019-05-03 上海航天控制技术研究所 一种空天飞机惯导嵌入式软件在线更新方法
CN110035322A (zh) * 2018-01-11 2019-07-19 中兴通讯股份有限公司 一种启动***的方法、装置及计算机可读存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170177543A1 (en) * 2015-12-22 2017-06-22 Intel Corporation Aggregate scatter instructions

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103809987A (zh) * 2012-11-07 2014-05-21 中国科学院微电子研究所 一种soc芯片更换自身内部fpga ip程序的方法
CN103823698A (zh) * 2014-02-27 2014-05-28 四川九洲电器集团有限责任公司 Fpga和dsp目标程序的烧写和启动的方法及设备
CN106557351A (zh) * 2016-11-21 2017-04-05 广东高标电子科技有限公司 嵌入式应用程序的数据处理方法及装置
CN110035322A (zh) * 2018-01-11 2019-07-19 中兴通讯股份有限公司 一种启动***的方法、装置及计算机可读存储介质
CN108363577A (zh) * 2018-02-01 2018-08-03 四川泰瑞创通讯技术股份有限公司 自动分类下载光模块固件程序的装置
CN109656591A (zh) * 2018-12-06 2019-04-19 上海荣泰健康科技股份有限公司 程序下载方法、电子设备及云端服务器
CN109710296A (zh) * 2018-12-14 2019-05-03 上海航天控制技术研究所 一种空天飞机惯导嵌入式软件在线更新方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"一种基于以太网加载 FPGA 和 DSP 的实现方法;吴湘宁;微型机与应用;第55-58页 *

Also Published As

Publication number Publication date
CN110442352A (zh) 2019-11-12

Similar Documents

Publication Publication Date Title
US20220232091A1 (en) Memory system allowing host to easily transmit and receive data
TWI416409B (zh) 用於從多媒體卡/安全數位卡裝置將主機裝置開機之方法、可從多媒體卡/安全數位卡裝置開機之主機裝置、及可將主機裝置開機之多媒體卡/安全數位卡裝置
JP2004222298A (ja) トランシーバ
US20090172219A1 (en) Device and method for automatically launching applications residing on usb flash drives
CN111611184A (zh) 对扩展模式(xm)总线上的装置的广播/多播事务
TW201009588A (en) Information processing apparatus, information processing system, method of processing information, and computer program
US12008171B2 (en) Program download method for intelligent terminal with memory card identifier and intelligent terminal with memory card identifier
CN110442352B (zh) 一种dsp的代码下载方法和装置
CN102163158A (zh) 一种***级芯片利用nand闪存启动的方法
CN110297726B (zh) 具有串行存在检测数据的计算机***及内存模块控制方法
TWI507883B (zh) 記憶卡存取裝置、其控制方法與記憶卡存取系統
US20140214434A1 (en) Method for processing sound data and circuit therefor
CN108920389B (zh) 一种多协议usb设备协议类型与应用动态匹配的方法及设备
US7424580B2 (en) Data transfer control device, electronic instrument, program and method of fabricating electronic instrument
EP2194458A2 (en) Request processing device, request processing system, and access testing method
Bogdanov et al. Flash programming low power microcontrollers over the Internet
CN102650877A (zh) 用于增强的设备选择和数据验证的基金会现场总线设备信息的提取
CN102096589A (zh) 基于dm642的嵌入式通用启动加载***
WO2020129324A1 (ja) モジュール及びこれを備える情報処理装置、並びにモジュールのプログラムデータを更新するプログラムデータ更新方法
JPH04162300A (ja) 半導体メモリ
US20090300223A1 (en) Method for communication between an electronic device and a target input/output device in a secure digital input/output card through a secure digital interface, and system for implementing the same
CN113360433B (zh) 数据通信方法及装置
CN114003535B (zh) 一种设备带宽配置方法、***及电子设备和存储介质
JP3334602B2 (ja) Pciデバイスのコンフィギュレーションレジスタの変更・設定方法
CN112269564B (zh) 一种otp rom编程方法和***

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