Mailbox Client Intel® FPGA IP用户指南

ID 683290
日期 12/04/2023
Public
文档目录

1.10.2.5. 函数

表 28.  librsu_init
原型开发: Librsu_init (void,无类型函数)
参数: -
返回: 成功则返回0,否则返回错误码 17
描述: 初始化LibRSU HAL API
表 29.  librsu_exit
原型开发: librsu_exit (void)
参数: -
返回: 如果成功则返回0,否则返回错误代码17
描述: 停止LibRSU HAL API,并关闭Mailbox Client Intel FPGA IP(如果已开启)。
表 30.  rsu_slot_count
原型开发: rsu_slot_count (void)
参数: -
返回: 如果成功则返回0,否则返回错误代码17
描述: 获取定义的slot槽函数。
表 31.  rsu_slot_by_name
原型开发: rsu_slot_by_name (char *name)
参数:
  • name – 槽名称
返回: 如果成功则返回0,否则返回错误代码17
描述: 根据名称获取槽编号。
表 32.  rsu_slot_get_info
原型开发: rsu_slot_get_info (int slot, struct rsu_slot_info *info)
参数:
  • slot – 槽编号
  • info – 指向槽函数信息结构的指针
返回: 如果成功则返回0,否则返回错误代码17
描述: 获取槽函数的属性。
表 33.  rsu_slot_size
原型开发: rsu_slot_size (int slot)
参数:
  • slot – 槽编号
返回: 如果成功则返回槽的大小(以字节为单位),否则返回错误代码17
描述: 获取槽函数的大小。
表 34.  rsu_slot_priority
原型开发: rsu_slot_priority (int slot)
参数:
  • slot – 槽编号
返回: 如果成功则优先返回槽函数,否则返回错误代码17
描述: 槽函数获得优先加载。零优先极意味着该槽函数没有优先级并且被禁用。优先级为1的槽函数具有最高优先级。
表 35.  rsu_slot_erase
原型开发: rsu_slot_erase (int slot)
参数: slot – 槽编号
返回: 如果成功则返回0,否则返回错误代码17
描述: 擦除槽中的所有数据以便为编程做准备。如果该槽位于CPB中,则请将其移除。
表 36.  rsu_slot_program_buf
原型开发: rsu_slot_program_buf (int slot, void *buf, int size)
参数:
  • slot – 槽编号
  • Buf – 指向数据缓冲区的指针
  • size – 从缓冲区读取的字节数
返回: 如果成功则返回0,否则返回错误代码17
描述: 使用从缓冲区获取的Intel FPGA比特流数据对槽函数进行编程,并以最高优先级将槽函数输入到CPB中。必须首先擦除该槽。
表 37.  rsu_slot_program_callback
原型开发: rsu_slot_program_callback(int slot, rsu_data_callback callback)
参数:
  • slot – 槽编号
  • callback – 回调函数,以提供输入数据。
返回: 如果成功则返回0,否则返回错误代码17
描述: 该函数用于对插槽进行编程和验证,由Intel FPGA配置数据提供回调函数。将槽(分区)输入到CPB中。
表 38.  rsu_slot_program_verify_buf
原型开发: rsu_slot_verify_buf (int slot, void *buf, int size)
参数:
  • slot – 槽编号
  • Buf – 指向数据缓冲区的指针
  • size – 从缓冲区读取的字节数
返回: 如果成功则返回0,否则返回错误代码17
描述: 根据缓冲区验证槽中的FPGA配置数据。
表 39.  rsu_slot_verify_callback
原型开发: rsu_slot_verify_callback(int slot, rsu_data_callback callback)
参数:
  • slot – 槽编号
  • callback – 回调函数,以提供输入数据。
返回: 如果成功则返回0,否则返回错误代码17
描述: 使用回调函数提供的Intel FPGA比特流验证槽函数。
表 40.  rsu_slot_copy_to_buf
原型开发: rsu_slot_copy_to_buf(int slot, alt_u64 address)
参数:
  • slot – 槽编号
  • address -在quad SPI中储存数据的地址。
返回: 如果成功则返回0,否则返回错误代码17
描述: 读取槽中的数据,并写入缓冲区。
表 41.  rsu_slot_enable
原型开发: rsu_slot_enable (int slot)
参数:
  • slot – 槽编号
返回 如果成功则返回0,否则返回错误代码17
描述: 将所选槽设置为最高优先级。
表 42.  rsu_slot_disable
原型开发: rsu_slot_disable (int slot)
参数:
  • slot – 槽编号
返回: 如果成功则返回0,否则返回错误代码17
描述: 从优先级方案中删除选定的槽,但仍然保留该槽函数数据。
表 43.  rsu_slot_load
原型开发: rsu_slot_load (int slot)
参数:
  • slot – 槽编号
返回: 如果成功则返回0,否则返回错误代码17
描述: 请求立即加载选择的槽。
表 44.  rsu_slot_load_factory
原型开发: rsu_slot_load_factory (void)
参数: -
返回: 如果成功则返回0,否则返回错误代码17
描述: 请求立即加载工厂映像。
表 45.  rsu_slot_rename
原型开发: rsu_slot_rename (int slot, char *name)
参数:
  • slot – 槽编号
  • name – 槽名称
返回: 如果成功则返回0,否则返回错误代码17
描述: 重命名选择的槽。
表 46.  rsu_slot_create
原型开发: rsu_slot_create (char *name, alt_u64 address, unsigned int size)
参数:
  • name – 槽名称
  • address – 槽起始地址
  • size – 槽大小
返回: 如果成功则返回0,否则返回错误代码17
描述: 使用未使用的空间对SPT创建一个新槽。
表 47.  rsu_slot_delete
原型开发: rsu_slot_delete (int slot)
参数:
  • slot – 槽编号
返回: 如果成功则返回0,否则返回错误代码17
描述: 从SPT中删除选定的槽。
表 48.  rsu_status_log
原型开发: rsu_status_log (struct rsu_status_info *info)
参数:
  • info – 指向要填写的rsu_status_info结构的指针
返回: 如果成功则返回0,否则返回错误代码17
描述: 将固件状态日志复制到rsu_status_info结构中。
表 49.  rsu_clear_error_status
原型开发: rsu_clear_error_status (void,无类型函数)
参数: -
返回: 如果成功则返回0,否则返回错误代码17
描述: 从当前状态日志中清除错误字段。
表 50.  rsu_dcmf_version
原型开发: rsu_dcmf_version (alt_u32 *version)
参数:
  • versions – 指向存储四个DCMF版本所在位置的指针
返回: 如果成功则返回0,否则返回错误代码17
描述: 检索flash中四个决策固件副本中每个副本的版本。
表 51.  rsu_max_retry
原型开发: rsu_max_retry (alt_u8 *value)
参数:
  • value – 指向储存max_retry的位置的指针
返回: 如果成功则返回0,否则返回错误代码17
描述: 从flash检索max_retry参数。
表 52.  rsu_dcmf_status
原型开发: rsu_dcmf_status (int *status)
参数:
  • status – 指向储存状态的位置的指针
返回: 如果成功则返回0,否则返回错误代码17
描述: 确定flash中的决策固件副本是否损坏,以当前使用的决策固件作为参考。“状态”是包含四个值的一个数组,每个值对应一个决策固件副本。值0表示副本完好,其它值表示副本已损坏。
表 53.  rsu_create_empty_cpb
原型开发: rsu_create_empty_cpb (void)
参数: -
返回: 如果成功则返回0,否则返回错误代码17
描述: 创建一个空的CPB,其中仅包含CPB头(header)。所有条目均标记为未使用。
表 54.  rsu_restore_cpb
原型开发: rsu_restore_cpb (alt_u64 address)
参数:
  • address –缓冲区地址,从其中恢复CPB
返回: 如果成功则返回0,否则返回错误代码17
描述: 从存储器中的缓冲区恢复CPB。该缓冲区必须包含4096字节的CPB数据,其后跟随的4个字节包含数据的CRC32校验和。
表 55.  rsu_save_cpb
原型开发: rsu_save_cpb (alt_u64 address)
参数:
  • address – 保存CPB的缓冲区的地址。
返回: 如果成功则返回0,否则返回错误代码17
描述: 将CPB保存到存储器缓冲区。总共写入4100个字节:4096个字节用于数据,加上4个字节以及数据的CRC32校验和。
表 56.  rsu_restore_spt
原型开发: rsu_restore_spt (alt_u64 address)
参数:
  • address – 缓冲区地址,从其中恢复SPT
返回: 如果成功则返回0,否则返回错误代码17
描述: 从存储器中的缓冲区恢复SPT。该缓冲区必须包含4096字节的SPT数据,其后跟随的4个字节包含数据的CRC32校验和。
表 57.  rsu_save_spt
原型开发: rsu_save_spt (alt_u64 address)
参数:
  • address – 保存SPT和CRC32校验和的地址
返回: 如果成功则返回0,否则返回错误代码17
描述: 将spt保存到存储器中的地址。总共写入4100个字节:4096个字节用于数据,加上4个字节以及数据的CRC32校验和。
表 58.  rsu_running_factory
原型开发: rsu_running_factory (int *factory)
参数:
  • factory – 如果当前正在运行出厂映像,则此地址处的值设置为1,否则设置为0
返回: 如果成功则返回0,否则返回错误代码17
描述: 确定当前运行的是否为出厂映像。
17 请参阅Error Codes了解更多信息。