in your code you called FLEXCAN_DRV_Send just once, so it is correct CAN tool received it just once too. Call FLEXCAN_DRV_Send repeatedly to send message again. If using non-blocking function you should use FLEXCAN_DRV_GetTransferStatus to know if previous transfer was finished and Send/Receive can be called again.