forked from xuos/xiuos
fix bugs
This commit is contained in:
parent
ad5acb644b
commit
f1bbde5216
|
@ -19,12 +19,12 @@ Modification: rename the file name, and re-develop all OS abstract layer functio
|
||||||
#include "usb_osal.h"
|
#include "usb_osal.h"
|
||||||
#include "usb_mem.h"
|
#include "usb_mem.h"
|
||||||
#include "libserial.h"
|
#include "libserial.h"
|
||||||
#include "syscall.h"
|
// #include "syscall.h"
|
||||||
#include "usyscall.h"
|
#include "usyscall.h"
|
||||||
|
|
||||||
|
|
||||||
usb_osal_thread_t usb_osal_thread_create(const char *name, uint32_t stack_size, uint32_t prio, usb_thread_entry_t entry, void *args){
|
usb_osal_thread_t usb_osal_thread_create(const char *name, uint32_t stack_size, uint32_t prio, usb_thread_entry_t entry, void *args){
|
||||||
int ret;
|
long ret;
|
||||||
char *task_param[] = { args, NULL };
|
char *task_param[] = { args, NULL };
|
||||||
ret = thread(entry, name, task_param);
|
ret = thread(entry, name, task_param);
|
||||||
|
|
||||||
|
@ -34,8 +34,8 @@ usb_osal_thread_t usb_osal_thread_create(const char *name, uint32_t stack_size,
|
||||||
|
|
||||||
|
|
||||||
void usb_osal_thread_delete(usb_osal_thread_t thread){
|
void usb_osal_thread_delete(usb_osal_thread_t thread){
|
||||||
int thread_id;
|
long thread_id;
|
||||||
thread_id = (int)thread;
|
thread_id = (long)thread;
|
||||||
|
|
||||||
kill(thread_id);
|
kill(thread_id);
|
||||||
}
|
}
|
||||||
|
@ -43,7 +43,7 @@ void usb_osal_thread_delete(usb_osal_thread_t thread){
|
||||||
|
|
||||||
|
|
||||||
usb_osal_sem_t usb_osal_sem_create(uint32_t initial_count){
|
usb_osal_sem_t usb_osal_sem_create(uint32_t initial_count){
|
||||||
int sem_id;
|
long sem_id;
|
||||||
|
|
||||||
sem_id = semaphore_new(initial_count);
|
sem_id = semaphore_new(initial_count);
|
||||||
|
|
||||||
|
@ -53,16 +53,16 @@ usb_osal_sem_t usb_osal_sem_create(uint32_t initial_count){
|
||||||
|
|
||||||
|
|
||||||
void usb_osal_sem_delete(usb_osal_sem_t sem){
|
void usb_osal_sem_delete(usb_osal_sem_t sem){
|
||||||
int sem_id;
|
long sem_id;
|
||||||
sem_id = (int)sem;
|
sem_id = (long)sem;
|
||||||
semaphore_free(sem_id);
|
semaphore_free(sem_id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
int usb_osal_sem_take(usb_osal_sem_t sem, uint32_t timeout){
|
int usb_osal_sem_take(usb_osal_sem_t sem, uint32_t timeout){
|
||||||
int sem_id;
|
long sem_id;
|
||||||
sem_id = (int)sem;
|
sem_id = (long)sem;
|
||||||
|
|
||||||
if(sem_id < 0)
|
if(sem_id < 0)
|
||||||
return -1;
|
return -1;
|
||||||
|
@ -75,8 +75,8 @@ int usb_osal_sem_take(usb_osal_sem_t sem, uint32_t timeout){
|
||||||
|
|
||||||
|
|
||||||
int usb_osal_sem_give(usb_osal_sem_t sem){
|
int usb_osal_sem_give(usb_osal_sem_t sem){
|
||||||
int sem_id;
|
long sem_id;
|
||||||
sem_id = (int)sem;
|
sem_id = (long)sem;
|
||||||
|
|
||||||
if(sem_id < 0)
|
if(sem_id < 0)
|
||||||
return -1;
|
return -1;
|
||||||
|
@ -89,7 +89,7 @@ int usb_osal_sem_give(usb_osal_sem_t sem){
|
||||||
|
|
||||||
|
|
||||||
usb_osal_mutex_t usb_osal_mutex_create(void){
|
usb_osal_mutex_t usb_osal_mutex_create(void){
|
||||||
int mutex_id;
|
long mutex_id;
|
||||||
|
|
||||||
mutex_id = semaphore_new(1);
|
mutex_id = semaphore_new(1);
|
||||||
|
|
||||||
|
@ -99,16 +99,16 @@ usb_osal_mutex_t usb_osal_mutex_create(void){
|
||||||
|
|
||||||
|
|
||||||
void usb_osal_mutex_delete(usb_osal_mutex_t mutex){
|
void usb_osal_mutex_delete(usb_osal_mutex_t mutex){
|
||||||
int mutex_id;
|
long mutex_id;
|
||||||
mutex_id = (int)mutex;
|
mutex_id = (long)mutex;
|
||||||
semaphore_free(mutex_id);
|
semaphore_free(mutex_id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
int usb_osal_mutex_take(usb_osal_mutex_t mutex){
|
int usb_osal_mutex_take(usb_osal_mutex_t mutex){
|
||||||
int mutex_id;
|
long mutex_id;
|
||||||
mutex_id = (int)mutex;
|
mutex_id = (long)mutex;
|
||||||
|
|
||||||
if(mutex_id < 0)
|
if(mutex_id < 0)
|
||||||
return -1;
|
return -1;
|
||||||
|
@ -121,8 +121,8 @@ int usb_osal_mutex_take(usb_osal_mutex_t mutex){
|
||||||
|
|
||||||
|
|
||||||
int usb_osal_mutex_give(usb_osal_mutex_t mutex){
|
int usb_osal_mutex_give(usb_osal_mutex_t mutex){
|
||||||
int mutex_id;
|
long mutex_id;
|
||||||
mutex_id = (int)mutex;
|
mutex_id = (long)mutex;
|
||||||
|
|
||||||
if(mutex_id < 0)
|
if(mutex_id < 0)
|
||||||
return -1;
|
return -1;
|
||||||
|
@ -142,8 +142,8 @@ osal_msg_queue_t osal_mq_create(const char *name,
|
||||||
size_t buf_size;
|
size_t buf_size;
|
||||||
|
|
||||||
/* Unused now */
|
/* Unused now */
|
||||||
(void *)name;
|
// (void *)name;
|
||||||
(void *)flag;
|
// (void *)flag;
|
||||||
|
|
||||||
|
|
||||||
if(msg_size <= 0 || max_msgs <=0)
|
if(msg_size <= 0 || max_msgs <=0)
|
||||||
|
@ -187,14 +187,14 @@ osal_msg_queue_t osal_mq_create(const char *name,
|
||||||
|
|
||||||
|
|
||||||
void osal_mq_delete(osal_msg_queue_t mq){
|
void osal_mq_delete(osal_msg_queue_t mq){
|
||||||
int mutex_id;
|
long mutex_id;
|
||||||
if(mq == NULL)
|
if(mq == NULL)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if(mq->data)
|
if(mq->data)
|
||||||
usb_free(mq->data);
|
usb_free(mq->data);
|
||||||
|
|
||||||
mutex_id = (int)(mq->mutex);
|
mutex_id = (long)(mq->mutex);
|
||||||
if(mutex_id > 0)
|
if(mutex_id > 0)
|
||||||
usb_osal_mutex_delete(mq->mutex);
|
usb_osal_mutex_delete(mq->mutex);
|
||||||
|
|
||||||
|
@ -208,7 +208,7 @@ int osal_mq_send(osal_msg_queue_t mq,
|
||||||
size_t msg_len,
|
size_t msg_len,
|
||||||
uint32_t timeout){
|
uint32_t timeout){
|
||||||
uint16_t header, tail, tail_nxt;
|
uint16_t header, tail, tail_nxt;
|
||||||
int mutex_id;
|
long mutex_id;
|
||||||
osal_mq_msg_header_t msg_tail;
|
osal_mq_msg_header_t msg_tail;
|
||||||
uint8_t *msg_buf;
|
uint8_t *msg_buf;
|
||||||
|
|
||||||
|
@ -218,7 +218,7 @@ int osal_mq_send(osal_msg_queue_t mq,
|
||||||
if(msg_len > mq->msg_size)
|
if(msg_len > mq->msg_size)
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
mutex_id = (int)(mq->mutex);
|
mutex_id = (long)(mq->mutex);
|
||||||
if(mutex_id <= 0)
|
if(mutex_id <= 0)
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
|
@ -251,7 +251,7 @@ int osal_mq_recv(osal_msg_queue_t mq,
|
||||||
size_t msg_len,
|
size_t msg_len,
|
||||||
uint32_t timeout){
|
uint32_t timeout){
|
||||||
uint16_t header, tail;
|
uint16_t header, tail;
|
||||||
int mutex_id;
|
long mutex_id;
|
||||||
osal_mq_msg_header_t msg_header;
|
osal_mq_msg_header_t msg_header;
|
||||||
uint8_t *msg_buf;
|
uint8_t *msg_buf;
|
||||||
size_t copy_len;
|
size_t copy_len;
|
||||||
|
@ -262,7 +262,7 @@ int osal_mq_recv(osal_msg_queue_t mq,
|
||||||
if(msg_len > mq->msg_size)
|
if(msg_len > mq->msg_size)
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
mutex_id = (int)(mq->mutex);
|
mutex_id = (long)(mq->mutex);
|
||||||
if(mutex_id <= 0)
|
if(mutex_id <= 0)
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
|
|
|
@ -57,7 +57,7 @@ void usb_osal_msleep(uint32_t delay);
|
||||||
* Defination of the Message queue.
|
* Defination of the Message queue.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define MAX_MSG_QUEUE_BUF_SIZE 65535 * 65535
|
#define MAX_MSG_QUEUE_BUF_SIZE 65535
|
||||||
|
|
||||||
struct osal_msg_queue{
|
struct osal_msg_queue{
|
||||||
uint16_t msg_size;
|
uint16_t msg_size;
|
||||||
|
|
Loading…
Reference in New Issue