YB_TX_RX_APE_PRJ/Common/inc/msg_interface.h

61 lines
2.1 KiB
C
Raw Normal View History

2025-03-02 13:41:38 +08:00
/******************************************************************
* @file msg_interface.h
* @brief: [file description]
* @author: guicheng.liu
* @Date 202272
* COPYRIGHT NOTICE: (c) smartlogictech. All rights reserved.
* Change_date Owner Change_content
* 202272 guicheng.liu create file
*****************************************************************/
#ifndef MSG_INTERFACE_H
#define MSG_INTERFACE_H
#include <type_define.h>
#include "msg_transfer_layer.h"
#include "debug_addr.h"
uint32_t osp_phy_msg_send( char* msg_ptr,
uint32_t msg_len);
uint32_t osp_phy_multi_msgs_send(uint32_t queue_num,
char** msg_ptr,
uint32_t* msg_len,
uint32_t msg_num);
//uint32_t osp_phy_msg_recv(uint32_t queue_num);
uint32_t osp_phy_msg_free(uint32_t queue_num,
uint32_t el_ind,
char* buf);
//uint32_t osp_phy_msg_open(uint32_t num_tx_queues, queue_info_s *tx_queue_info,
// uint32_t num_rx_queues, queue_info_s *rx_queue_info);
typedef enum
{
TASK_MSG_SEND=0,
TASK_MSG_SEND_OK,
TASK_MSG_SEND_ERR,
TASK_MSG_MAX //3
}task_msg_info_e;
#define TASK_MSG_RECORD(core_id, task_id, state) \
{\
uint32_t offset = ((core_id)*PHY_TASK_MAX + (task_id)*TASK_MSG_MAX + (state))*4;\
STORE_EX_W((char*)(DEBUG_TASK_MSG_ADDR+offset), LOAD_EX_W((char*)(DEBUG_TASK_MSG_ADDR+offset))+1);\
}
#define MSG_TRANSFER_RECORD(core_id, state) \
{\
uint32_t offset = ((core_id)*TASK_MSG_MAX + (state))*4;\
STORE_EX_W((char*)(DEBUG_MSG_TRAN_SEND_ADDR+offset), LOAD_EX_W((char*)(DEBUG_MSG_TRAN_SEND_ADDR+offset))+1);\
}
int32_t phy_et_msg_send(uint32_t msg_addr,
uint32_t msg_len,
uint8_t msg_type,
uint8_t src_core_id,
uint8_t dst_core_id,
uint8_t src_task_id,
uint8_t dst_task_id);
#endif