add socket wrapper for at framework
you can use at framework to send/recv data in socket API example: see examples\tcp_through_module_based_at_socket project: see board\TencentOS_tiny_EVB_MX_Plus\KEIL\tcp_through_module_based_at_socket
This commit is contained in:
@@ -67,9 +67,9 @@
|
||||
#endif
|
||||
|
||||
#ifndef TOS_CFG_CPU_HRTIMER_EN
|
||||
#error "UNDECLARED config, TOS_CFG_CPU_HRTIMER_EN should be declared in 'port.h'"
|
||||
#error "UNDECLARED config, TOS_CFG_CPU_HRTIMER_EN should be declared in 'port_config.h'"
|
||||
#elif (TOS_CFG_CPU_HRTIMER_EN > 0u) && !defined(TOS_CFG_CPU_HRTIMER_SIZE)
|
||||
#error "UNDECLARED config, TOS_CFG_CPU_HRTIMER_SIZE should be declared in 'port.h'"
|
||||
#error "UNDECLARED config, TOS_CFG_CPU_HRTIMER_SIZE should be declared in 'port_config.h'"
|
||||
#elif (TOS_CFG_CPU_HRTIMER_EN > 0u) && ((TOS_CFG_CPU_HRTIMER_SIZE != CPU_WORD_SIZE_08) && \
|
||||
(TOS_CFG_CPU_HRTIMER_SIZE != CPU_WORD_SIZE_16) && \
|
||||
(TOS_CFG_CPU_HRTIMER_SIZE != CPU_WORD_SIZE_32) && \
|
||||
@@ -78,18 +78,22 @@
|
||||
#endif
|
||||
|
||||
#ifndef TOS_CFG_CPU_LEAD_ZEROS_ASM_PRESENT
|
||||
#error "UNDECLARED config, TOS_CFG_CPU_LEAD_ZEROS_ASM_PRESENT, should be declared in 'port.h'"
|
||||
#error "UNDECLARED config, TOS_CFG_CPU_LEAD_ZEROS_ASM_PRESENT, should be declared in 'port_config.h'"
|
||||
#endif
|
||||
|
||||
#ifndef TOS_CFG_CPU_BYTE_ORDER
|
||||
#error "UNDECLARED config, TOS_CFG_CPU_BYTE_ORDER, should be declared in 'port_config.h'"
|
||||
#endif
|
||||
|
||||
#ifndef TOS_CFG_CPU_STK_GROWTH
|
||||
#error "UNDECLARED config, TOS_CFG_CPU_STK_GROWTH, should be declared in 'port.h'"
|
||||
#error "UNDECLARED config, TOS_CFG_CPU_STK_GROWTH, should be declared in 'port_config.h'"
|
||||
#elif ((TOS_CFG_CPU_STK_GROWTH != CPU_STK_GROWTH_ASCENDING) && \
|
||||
(TOS_CFG_CPU_STK_GROWTH != CPU_STK_GROWTH_DESCENDING))
|
||||
#error "INVALID config, TOS_CFG_CPU_STK_GROWTH"
|
||||
#endif
|
||||
|
||||
#ifndef TOS_CFG_CPU_ADDR_SIZE
|
||||
#error "UNDECLARED config, TOS_CFG_CPU_ADDR_SIZE, should be declared in 'port.h'"
|
||||
#error "UNDECLARED config, TOS_CFG_CPU_ADDR_SIZE, should be declared in 'port_config.h'"
|
||||
#elif ((TOS_CFG_CPU_ADDR_SIZE != CPU_WORD_SIZE_08) && \
|
||||
(TOS_CFG_CPU_ADDR_SIZE != CPU_WORD_SIZE_16) && \
|
||||
(TOS_CFG_CPU_ADDR_SIZE != CPU_WORD_SIZE_32) && \
|
||||
@@ -98,7 +102,7 @@
|
||||
#endif
|
||||
|
||||
#ifndef TOS_CFG_CPU_DATA_SIZE
|
||||
#error "UNDECLARED config, TOS_CFG_CPU_DATA_SIZE, should be declared in 'port.h'"
|
||||
#error "UNDECLARED config, TOS_CFG_CPU_DATA_SIZE, should be declared in 'port_config.h'"
|
||||
#elif ((TOS_CFG_CPU_DATA_SIZE != CPU_WORD_SIZE_08) && \
|
||||
(TOS_CFG_CPU_DATA_SIZE != CPU_WORD_SIZE_16) && \
|
||||
(TOS_CFG_CPU_DATA_SIZE != CPU_WORD_SIZE_32) && \
|
||||
|
@@ -99,14 +99,6 @@
|
||||
/////////////////////////////////////////
|
||||
|
||||
|
||||
/////////////////////////////////////////
|
||||
// disable default
|
||||
#ifndef TOS_CFG_MMBLK_EN
|
||||
#define TOS_CFG_MMBLK_EN 0u
|
||||
#endif
|
||||
/////////////////////////////////////////
|
||||
|
||||
|
||||
/////////////////////////////////////////
|
||||
// disable default
|
||||
#ifndef TOS_CFG_FAULT_BACKTRACE_EN
|
||||
@@ -232,10 +224,6 @@
|
||||
#define TOS_CFG_TASK_PRIO_MAX 8u
|
||||
#endif
|
||||
|
||||
#ifndef TOS_CFG_MMBLK_EN
|
||||
#define TOS_CFG_MMBLK_EN 0u
|
||||
#endif
|
||||
|
||||
#ifndef TOS_CFG_MMHEAP_EN
|
||||
#define TOS_CFG_MMHEAP_EN 0u
|
||||
#endif
|
||||
|
@@ -23,8 +23,8 @@
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#define TOS_MACRO_BEGIN do {
|
||||
#define TOS_MACRO_END } while (0)
|
||||
#define __MACRO_BEGIN do {
|
||||
#define __MACRO_END } while (0)
|
||||
|
||||
#define TOS_OFFSET_OF_FIELD(type, field) \
|
||||
((uint32_t)&(((type *)0)->field))
|
||||
@@ -34,59 +34,59 @@
|
||||
|
||||
#define TOS_COUNT_OF(array) (sizeof(array) / sizeof(array[0]))
|
||||
|
||||
#define TOS_PTR_SANITY_CHECK(ptr) \
|
||||
TOS_MACRO_BEGIN \
|
||||
if (unlikely(!(ptr))) { \
|
||||
return K_ERR_OBJ_PTR_NULL; \
|
||||
} \
|
||||
TOS_MACRO_END
|
||||
#define TOS_PTR_SANITY_CHECK(ptr) \
|
||||
__MACRO_BEGIN \
|
||||
if (unlikely(!(ptr))) { \
|
||||
return K_ERR_OBJ_PTR_NULL; \
|
||||
} \
|
||||
__MACRO_END
|
||||
|
||||
#define TOS_PTR_SANITY_CHECK_RC(ptr, return_code) \
|
||||
TOS_MACRO_BEGIN \
|
||||
if (unlikely(!(ptr))) { \
|
||||
return return_code; \
|
||||
} \
|
||||
TOS_MACRO_END
|
||||
#define TOS_PTR_SANITY_CHECK_RC(ptr, return_code) \
|
||||
__MACRO_BEGIN \
|
||||
if (unlikely(!(ptr))) { \
|
||||
return return_code; \
|
||||
} \
|
||||
__MACRO_END
|
||||
|
||||
#define TOS_IN_IRQ_CHECK() \
|
||||
TOS_MACRO_BEGIN \
|
||||
if (unlikely(knl_is_inirq())) { \
|
||||
return K_ERR_IN_IRQ; \
|
||||
} \
|
||||
TOS_MACRO_END
|
||||
#define TOS_IN_IRQ_CHECK() \
|
||||
__MACRO_BEGIN \
|
||||
if (unlikely(knl_is_inirq())) { \
|
||||
return K_ERR_IN_IRQ; \
|
||||
} \
|
||||
__MACRO_END
|
||||
|
||||
#if TOS_CFG_OBJECT_VERIFY_EN > 0u
|
||||
|
||||
#define TOS_OBJ_INIT(obj, obj_type) knl_object_init(&obj->knl_obj, obj_type)
|
||||
#define TOS_OBJ_DEINIT(obj) knl_object_deinit(&obj->knl_obj)
|
||||
|
||||
#define TOS_OBJ_VERIFY(obj, obj_type) \
|
||||
TOS_MACRO_BEGIN \
|
||||
if (!knl_object_verify(&obj->knl_obj, obj_type)) { \
|
||||
return K_ERR_OBJ_INVALID; \
|
||||
} \
|
||||
TOS_MACRO_END
|
||||
#define TOS_OBJ_VERIFY(obj, obj_type) \
|
||||
__MACRO_BEGIN \
|
||||
if (!knl_object_verify(&obj->knl_obj, obj_type)) { \
|
||||
return K_ERR_OBJ_INVALID; \
|
||||
} \
|
||||
__MACRO_END
|
||||
|
||||
#define TOS_OBJ_VERIFY_RC(obj, obj_type, return_code) \
|
||||
TOS_MACRO_BEGIN \
|
||||
if (!knl_object_verify(&obj->knl_obj, obj_type)) { \
|
||||
return return_code; \
|
||||
} \
|
||||
TOS_MACRO_END
|
||||
#define TOS_OBJ_VERIFY_RC(obj, obj_type, return_code) \
|
||||
__MACRO_BEGIN \
|
||||
if (!knl_object_verify(&obj->knl_obj, obj_type)) { \
|
||||
return return_code; \
|
||||
} \
|
||||
__MACRO_END
|
||||
|
||||
#define TOS_OBJ_TEST(obj, obj_type) \
|
||||
TOS_MACRO_BEGIN \
|
||||
if (knl_object_verify(&obj->knl_obj, obj_type)) { \
|
||||
return K_ERR_OBJ_INVALID; \
|
||||
} \
|
||||
TOS_MACRO_END
|
||||
#define TOS_OBJ_TEST(obj, obj_type) \
|
||||
__MACRO_BEGIN \
|
||||
if (knl_object_verify(&obj->knl_obj, obj_type)) { \
|
||||
return K_ERR_OBJ_INVALID; \
|
||||
} \
|
||||
__MACRO_END
|
||||
|
||||
#define TOS_OBJ_TEST_RC(obj, obj_type, return_code) \
|
||||
TOS_MACRO_BEGIN \
|
||||
if (knl_object_verify(&obj->knl_obj, obj_type)) { \
|
||||
return return_code; \
|
||||
} \
|
||||
TOS_MACRO_END
|
||||
#define TOS_OBJ_TEST_RC(obj, obj_type, return_code) \
|
||||
__MACRO_BEGIN \
|
||||
if (knl_object_verify(&obj->knl_obj, obj_type)) { \
|
||||
return return_code; \
|
||||
} \
|
||||
__MACRO_END
|
||||
|
||||
#else
|
||||
|
||||
|
@@ -20,8 +20,6 @@
|
||||
|
||||
__CDECLS_BEGIN
|
||||
|
||||
#if TOS_CFG_MMBLK_EN > 0u
|
||||
|
||||
#define K_MMBLK_NEXT_BLK(blk_curr, blk_size) ((void *)((cpu_addr_t)blk_curr + blk_size))
|
||||
#define K_MMBLK_ALIGN_MASK (sizeof(void *) - 1u)
|
||||
|
||||
@@ -107,5 +105,3 @@ __API__ k_err_t tos_mmblk_free(k_mmblk_pool_t *mbp, void *blk);
|
||||
|
||||
__CDECLS_END
|
||||
|
||||
#endif /* _TOS_MMBLK_H_ */
|
||||
|
||||
|
@@ -15,7 +15,7 @@
|
||||
* within TencentOS.
|
||||
*---------------------------------------------------------------------------*/
|
||||
|
||||
#include "tos_k.h"
|
||||
#include "tos_k.h"
|
||||
|
||||
#if TOS_CFG_MESSAGE_QUEUE_EN > 0u
|
||||
|
||||
|
@@ -17,13 +17,10 @@
|
||||
|
||||
#include "tos_k.h"
|
||||
|
||||
#if TOS_CFG_MMBLK_EN > 0u
|
||||
|
||||
__API__ k_err_t tos_mmblk_pool_create(k_mmblk_pool_t *mbp, void *pool_start, size_t blk_num, size_t blk_size)
|
||||
{
|
||||
uint32_t i;
|
||||
void *blk_curr;
|
||||
void *blk_next;
|
||||
void *blk_curr, *blk_next;
|
||||
|
||||
TOS_IN_IRQ_CHECK();
|
||||
TOS_PTR_SANITY_CHECK(pool_start);
|
||||
@@ -106,6 +103,7 @@ __API__ k_err_t tos_mmblk_free(k_mmblk_pool_t *mbp, void *blk)
|
||||
TOS_CPU_INT_ENABLE();
|
||||
return K_ERR_MMBLK_POOL_FULL;
|
||||
}
|
||||
|
||||
*(void **)blk = mbp->free_list;
|
||||
mbp->free_list = blk;
|
||||
++mbp->blk_free;
|
||||
@@ -113,5 +111,3 @@ __API__ k_err_t tos_mmblk_free(k_mmblk_pool_t *mbp, void *blk)
|
||||
return K_ERR_NONE;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
|
@@ -15,7 +15,7 @@
|
||||
* within TencentOS.
|
||||
*---------------------------------------------------------------------------*/
|
||||
|
||||
#include "tos_k.h"
|
||||
#include "tos_k.h"
|
||||
|
||||
#if TOS_CFG_PRIORITY_MESSAGE_QUEUE_EN > 0u
|
||||
|
||||
|
@@ -22,6 +22,7 @@
|
||||
__API__ k_err_t tos_rwlock_create(k_rwlock_t *rwlock)
|
||||
{
|
||||
k_err_t err;
|
||||
|
||||
TOS_PTR_SANITY_CHECK(rwlock);
|
||||
|
||||
err = tos_sem_create(&rwlock->signal, 0u);
|
||||
|
Reference in New Issue
Block a user