Other Parts Discussed in Thread: SYSBIOS
Hello, there.
I use PSDK RTOS and PSDK QNX. And I added my TIOVX custom kernels to ${PSDK_RTOS_PATH}/vision_apps/kernels using PyTIOVX as follows:
from tiovx import *
code = KernelExportCode("my_custom_kernel", "r5f", "CUSTOM_APPLICATION_PATH")
code.setCoreDirectory("r5f")
kernel = Kernel("my_custom_kernel")
kernel.setParameter(Type.USER_DATA_OBJECT, Direction.INPUT, ParamState.REQUIRED, "configuration", ['my_custom_kernel_input_t'])
kernel.setParameter(Type.USER_DATA_OBJECT, Direction.OUTPUT, ParamState.REQUIRED, "recognition_result", ['my_custom_kernel_output_t'])
kernel.setTarget(Target.IPU2)
code.export(kernel)
// ...
#include <ti/net/bsd/arpa/inet.h>
#include <ti/net/bsd/netinet/in.h>
#include <ti/net/bsd/sys/socket.h>
#include <ti/net/slneterr.h>
#include <ti/net/slnetif.h>
// ...
static vx_status VX_CALLBACK tivxMyCustomKernelProcess(tivx_target_kernel_instance kernel,
tivx_obj_desc_t* obj_desc[],
uint16_t num_params, void* priv_arg) {
// ...
int server_fd;
int client_fd;
int result;
struct sockaddr_in server_addr;
result = SlNetSock_init(0);
printf("SlNetSock_init(): %d\n", result);
server_fd = socket(AF_INET, SOCK_STREAM, 0);
printf("socket: %d\n", server_fd);
memset(&server_addr, 0, sizeof(server_addr));
server_addr.sin_family = AF_INET;
server_addr.sin_addr.s_addr = htonl(INADDR_ANY);
server_addr.sin_port = htons(2000);
result = bind(server_fd, (struct sockaddr*)&server_addr, sizeof(server_addr));
printf("bind: %d\n", result);
result = listen(server_fd, 10);
printf("listen: %d\n", result);
client_fd = accept(server_fd, (struct sockaddr*)NULL, NULL);
printf("accept: %d\n", client_fd);
close(client_fd);
close(server_fd);
// ...
}
# ... IDIRS += $(NS_PATH)/source IDIRS += $(NS_PATH)/source/ti/net/bsd # ...
# ... LDIRS += $(NS_PATH)/source/ti/net/lib/ccs/r5f/ # ... ADDITIONAL_STATIC_LIBS += slnetsock_$(TARGET_BUILD).a # ...
[MCU3_0] 5.809413 s: SlNetSock_init(): 0 [MCU3_0] 5.809477 s: socket: 0 [MCU3_0] 5.809518 s: bind: -1 [MCU3_0] 5.809544 s: listen: -1 [MCU3_0] 5.809584 s: accept: -1