1.10.1.1. Mailbox Client Driver API
原型开发: | mailbox_client_open(const char *name) |
包括: | <altera_s10_mailbox_client.h> |
参数: |
|
返回: | 如果成功返回non-NULL(非NULL),否则返回:
|
描述: | 检索指向Mailbox Client块实例的指针。在寄存的mailbox client实例列表中搜索具有所提供名称的实例。 |
原型开发: | mailbox_client_send_cmd (intel_mailbox_client* fd, alt_u8 id, alt_u32 cmd, alt_u32* arg, int arg_length, int cmd_length, alt_u32* input_data, alt_u32* resp_buf, alt_u32 resp_buf_len) 12 |
包括: | <altera_s10_mailbox_client.h> |
参数: |
|
返回: | 如果成功则返回0,否则返回:
|
描述: | 将命令和数据发送到Mailbox Client。当数据有效中断发生时,读回该响应。 |
原型开发: | Mailbox_client_flash_open(intel_mailbox_client* fd) |
包括: | <altera_s10_mailbox_client_flash.h> |
参数: |
|
返回 | 如果成功则返回0,否则返回:
|
描述: | 向mailbox client发送命令以进行QSPI打开和QSPI片选。提供对quad SPI接口的专属访问。确定QSPI flash存储器大小。 |
原型开发: | Mailbox_client_flash_close(intel_mailbox_client* fd) |
包括: | <altera_s10_mailbox_client_flash.h> |
参数: |
|
返回: | 如果成功则返回0,否则返回:
|
描述: | 向mailbox client发送命令以关闭QSPI。停止对quad SPI接口的独占访问。 |
原型开发: | mailbox_client_flash_get_info(intel_mailbox_client* fd, flash_region** info, int* number_of_regions) |
包括: | <altera_s10_mailbox_client_flash.h> |
参数: |
|
返回: | 如果成功则返回0,否则返回:
|
描述: | 提供nCSO[0]的对应信息。 返回flash存储器偏移量、flash存储器大小、flash存储器件数量、扇区数量和扇区大小值。 |
原型开发: | mailbox_client_flash_read (intel_mailbox_client* fd, int offset, void* dest_addr, int length) |
包括: | <altera_s10_mailbox_client_flash.h> |
参数: |
|
返回: | 如果成功则返回0,否则返回:
|
描述: | 从选定地址(以字节大小指定长度)读取数据。长度是一个非零值。 |
原型开发: | Mailbox_client_flash_erase_block (intel_mailbox_client* fd, int block_offset) |
包括: | <altera_s10_mailbox_client_flash.h> |
参数: |
|
返回: | 如果成功则返回0,否则返回:
|
描述: | 擦除单个flash扇区。 |
原型开发: | Mailbox_client_flash_write_block (intel_mailbox_client* fd, int block_offset, int data_offset, const void* data, int length) |
包括: | <altera_s10_mailbox_client_flash.h> |
参数: |
|
返回: | 如果成功则返回0,否则返回:
|
描述: | 将一个块或扇区的数据写入flash存储器。写数据的长度不能在相邻扇区之间分割。 该函数假设地址为空。您必须先将其擦除后才进行编程。 |
原型开发: | Mailbox_client_flash_write (intel_mailbox_client* fd, int offset, const void* src_addr, int length) |
包括: | <altera_s10_mailbox_client_flash.h> |
参数: |
|
返回: |
如果成功则返回0,否则返回:
|
描述: | 将数据编程到选定地址的flash存储器中。编程前根据需要自动擦除该块。 |
原型开发: | mailbox_client_flash_erase_block(intel_mailbox_client* fd, int block_offset, int block_size) |
包括: | <altera_s10_mailbox_client_flash.h> |
参数: |
|
返回: |
成功则返回0,否则返回:
|
描述: | 根据块的给定大小擦除单个flash存储器扇区。 |
原型开发: | Mailbox_client_flash_erase(intel_mailbox_client* fd, int offset, int length) |
包括: | <altera_s10_mailbox_client_flash.h> |
参数: |
|
返回: |
成功则返回0,否则返回:
|
描述: | 根据给定的长度擦除flash |
12 英特尔 Quartus Prime Pro Edition软件版本21.3之前,响应缓冲区的长度(resp_buf_len)被声明为指针而非整数。
13 自变量代表mailbox client操作需要的参数,不包括输入数据。
14 建议通过全系统重新配置实现错误代码恢复。
15 建议的错误代码恢复是复位Mailbox Client Intel® FPGA IP。
16 如果响应缓冲区长度不足,HAL API会丢弃从Mailbox Client Intel® FPGA IP采集的数据并返回ENOBUFS。