已开启
PR2需求,LOS接口替换为cmsis接口 #4967
huangzijian创建于 3 天前
PR2需求,LOS接口替换为cmsis接口 #4967
已开启
huangzijian创建于 3 天前
2 个文件变更+23-23
@@ -21,6 +21,9 @@
21#ifndef __LITEOS_M__21#ifndef __LITEOS_M__
22#include <pthread.h>22#include <pthread.h>
23#endif23#endif
24+#ifdef __LITEOS_M__
25+#include "cmsis_os2.h"
26+#endif
24#include "param_atomic.h"27#include "param_atomic.h"
25#ifdef __cplusplus28#ifdef __cplusplus
26#if __cplusplus29#if __cplusplus
@@ -39,11 +42,11 @@ typedef struct {
39} ParamMutex;42} ParamMutex;
40#else43#else
41typedef struct {44typedef struct {
42- uint32_t mutex;45+ osMutexId_t mutex;
43} ParamRWMutex;46} ParamRWMutex;
44 47 
45typedef struct {48typedef struct {
46- uint32_t mutex;49+ osMutexId_t mutex;
47} ParamMutex;50} ParamMutex;
48#endif51#endif
49 52 
@@ -22,9 +22,6 @@
22#include <sys/ipc.h>22#include <sys/ipc.h>
23#include <sys/mman.h>23#include <sys/mman.h>
24#include <sys/shm.h>24#include <sys/shm.h>
25-#else
26-#include "los_task.h"
27-#include "los_mux.h"
28#endif25#endif
29#include <sys/stat.h>26#include <sys/stat.h>
30#include <sys/time.h>27#include <sys/time.h>
@@ -256,72 +253,72 @@ INIT_LOCAL_API void paramMutexEnvInit(void)
256INIT_LOCAL_API int ParamRWMutexCreate(ParamRWMutex *lock)253INIT_LOCAL_API int ParamRWMutexCreate(ParamRWMutex *lock)
257{254{
258 PARAM_CHECK(lock != NULL, return -1, "Invalid lock");255 PARAM_CHECK(lock != NULL, return -1, "Invalid lock");
259- uint32_t ret = LOS_MuxCreate(&lock->mutex);256+ lock->mutex = osMutexNew(NULL);
260- PARAM_CHECK(ret == LOS_OK, return -1, "failed init mutex ret %d", ret);257+ PARAM_CHECK(lock->mutex != NULL, return -1, "Failed to init mutex");
261 return 0;258 return 0;
262}259}
263 260 
264INIT_LOCAL_API int ParamRWMutexWRLock(ParamRWMutex *lock)261INIT_LOCAL_API int ParamRWMutexWRLock(ParamRWMutex *lock)
265{262{
266 PARAM_CHECK(lock != NULL, return -1, "Invalid lock");263 PARAM_CHECK(lock != NULL, return -1, "Invalid lock");
267- uint32_t ret = LOS_MuxPend(lock->mutex, LOS_WAIT_FOREVER);264+ osStatus_t ret = osMutexAcquire(lock->mutex, osWaitForever);
268- PARAM_CHECK(ret == LOS_OK, return -1, "failed mutex lock ret %d %d", ret, lock->mutex);265+ PARAM_CHECK(ret == osOK, return -1, "Failed to mutex lock ret %d", ret);
269 return 0;266 return 0;
270}267}
271 268 
272INIT_LOCAL_API int ParamRWMutexRDLock(ParamRWMutex *lock)269INIT_LOCAL_API int ParamRWMutexRDLock(ParamRWMutex *lock)
273{270{
274 PARAM_CHECK(lock != NULL, return -1, "Invalid lock");271 PARAM_CHECK(lock != NULL, return -1, "Invalid lock");
275- uint32_t ret = LOS_MuxPend(lock->mutex, LOS_WAIT_FOREVER);272+ osStatus_t ret = osMutexAcquire(lock->mutex, osWaitForever);
276- PARAM_CHECK(ret == LOS_OK, return -1, "failed mutex lock ret %d %d", ret, lock->mutex);273+ PARAM_CHECK(ret == osOK, return -1, "Failed to mutex lock ret %d", ret);
277 return 0;274 return 0;
278}275}
279 276 
280INIT_LOCAL_API int ParamRWMutexUnlock(ParamRWMutex *lock)277INIT_LOCAL_API int ParamRWMutexUnlock(ParamRWMutex *lock)
281{278{
282 PARAM_CHECK(lock != NULL, return -1, "Invalid lock");279 PARAM_CHECK(lock != NULL, return -1, "Invalid lock");
283- uint32_t ret = LOS_MuxPost(lock->mutex);280+ osStatus_t ret = osMutexRelease(lock->mutex);
284- PARAM_CHECK(ret == LOS_OK, return -1, "failed mutex lock ret %d %d", ret, lock->mutex);281+ PARAM_CHECK(ret == osOK, return -1, "Failed to mutex unlock ret %d", ret);
285 return 0;282 return 0;
286}283}
287 284 
288INIT_LOCAL_API int ParamRWMutexDelete(ParamRWMutex *lock)285INIT_LOCAL_API int ParamRWMutexDelete(ParamRWMutex *lock)
289{286{
290 PARAM_CHECK(lock != NULL, return -1, "Invalid lock");287 PARAM_CHECK(lock != NULL, return -1, "Invalid lock");
291- uint32_t ret = LOS_MuxDelete(lock->mutex);288+ osStatus_t ret = osMutexDelete(lock->mutex);
292- PARAM_CHECK(ret == LOS_OK, return -1, "failed mutex lock ret %d %d", ret, lock->mutex);289+ PARAM_CHECK(ret == osOK, return -1, "Failed to mutex delete ret %d", ret);
293 return 0;290 return 0;
294}291}
295 292 
296INIT_LOCAL_API int ParamMutexCreate(ParamMutex *mutex)293INIT_LOCAL_API int ParamMutexCreate(ParamMutex *mutex)
297{294{
298 PARAM_CHECK(mutex != NULL, return -1, "Invalid lock");295 PARAM_CHECK(mutex != NULL, return -1, "Invalid lock");
299- uint32_t ret = LOS_MuxCreate(&mutex->mutex);296+ mutex->mutex = osMutexNew(NULL);
300- PARAM_CHECK(ret == LOS_OK, return -1, "failed init mutex ret %d", ret);297+ PARAM_CHECK(mutex->mutex != NULL, return -1, "Failed to init mutex");
301 return 0;298 return 0;
302}299}
303 300 
304INIT_LOCAL_API int ParamMutexPend(ParamMutex *mutex)301INIT_LOCAL_API int ParamMutexPend(ParamMutex *mutex)
305{302{
306 PARAM_CHECK(mutex != NULL, return -1, "Invalid lock");303 PARAM_CHECK(mutex != NULL, return -1, "Invalid lock");
307- uint32_t ret = LOS_MuxPend(mutex->mutex, LOS_WAIT_FOREVER);304+ osStatus_t ret = osMutexAcquire(mutex->mutex, osWaitForever);
308- PARAM_CHECK(ret == LOS_OK, return -1, "failed mutex lock ret %d %d", ret, mutex->mutex);305+ PARAM_CHECK(ret == osOK, return -1, "Failed to mutex lock ret %d", ret);
309 return 0;306 return 0;
310}307}
311 308 
312INIT_LOCAL_API int ParamMutexPost(ParamMutex *mutex)309INIT_LOCAL_API int ParamMutexPost(ParamMutex *mutex)
313{310{
314 PARAM_CHECK(mutex != NULL, return -1, "Invalid lock");311 PARAM_CHECK(mutex != NULL, return -1, "Invalid lock");
315- uint32_t ret = LOS_MuxPost(mutex->mutex);312+ osStatus_t ret = osMutexRelease(mutex->mutex);
316- PARAM_CHECK(ret == LOS_OK, return -1, "failed mutex lock ret %d %d", ret, mutex->mutex);313+ PARAM_CHECK(ret == osOK, return -1, "Failed to mutex unlock ret %d", ret);
317 return 0;314 return 0;
318}315}
319 316 
320INIT_LOCAL_API int ParamMutexDelete(ParamMutex *mutex)317INIT_LOCAL_API int ParamMutexDelete(ParamMutex *mutex)
321{318{
322 PARAM_CHECK(mutex != NULL, return -1, "Invalid mutex");319 PARAM_CHECK(mutex != NULL, return -1, "Invalid mutex");
323- uint32_t ret = LOS_MuxDelete(mutex->mutex);320+ osStatus_t ret = osMutexDelete(mutex->mutex);
324- PARAM_CHECK(ret == LOS_OK, return -1, "failed delete mutex lock ret %d %d", ret, mutex->mutex);321+ PARAM_CHECK(ret == osOK, return -1, "Failed to delete mutex ret %d", ret);
325 return 0;322 return 0;
326}323}
327#endif324#endif