Compare commits
16 Commits
master
...
monthly_20
Author | SHA1 | Date |
---|---|---|
|
33d58bb320 | |
|
75bb5ae446 | |
|
589c6fe894 | |
|
008d9cf1bc | |
|
b746ddd9d6 | |
|
236e316568 | |
|
72d9e053d9 | |
|
a25443b016 | |
|
453790015e | |
|
fd75add21d | |
|
5717559488 | |
|
62c0ba21ad | |
|
a4c87a792c | |
|
d04b407e92 | |
|
a7e5d26b17 | |
|
63d8e9d25c |
7
BUILD.gn
7
BUILD.gn
|
@ -120,8 +120,11 @@ config("los_config") {
|
||||||
cmd = "if [ -f $device_path/BUILD.gn ]; then echo true; else echo false; fi"
|
cmd = "if [ -f $device_path/BUILD.gn ]; then echo true; else echo false; fi"
|
||||||
HAVE_DEVICE_SDK = exec_script("//build/lite/run_shell_cmd.py", [ cmd ], "value")
|
HAVE_DEVICE_SDK = exec_script("//build/lite/run_shell_cmd.py", [ cmd ], "value")
|
||||||
|
|
||||||
# board and soc decoupling feature, device_path should contains board
|
# If device_path points to vendor, use device_path directly,
|
||||||
BOARD_SOC_FEATURE = device_path != string_replace(device_path, "/board/", "")
|
# otherwise board is decoupled from soc, device_path should contain board
|
||||||
|
BOARD_SOC_FEATURE =
|
||||||
|
device_path == string_replace(device_path, "/vendor/", "") &&
|
||||||
|
device_path != string_replace(device_path, "/board/", "")
|
||||||
|
|
||||||
config("public") {
|
config("public") {
|
||||||
configs = [
|
configs = [
|
||||||
|
|
|
@ -273,7 +273,7 @@ STATIC DynSharedObj *OsLoadInit(const CHAR *fileName, VOID *pool)
|
||||||
goto ERR2;
|
goto ERR2;
|
||||||
}
|
}
|
||||||
|
|
||||||
strcpy(dso->buf, fileName);
|
(void)strcpy_s(dso->buf, nameLen + 1, fileName);
|
||||||
dso->fileName = dso->buf;
|
dso->fileName = dso->buf;
|
||||||
dso->ref = 1;
|
dso->ref = 1;
|
||||||
dso->pool = (pool ? pool : OS_SYS_MEM_ADDR);
|
dso->pool = (pool ? pool : OS_SYS_MEM_ADDR);
|
||||||
|
|
|
@ -71,7 +71,7 @@ PARTITION VolToPart[] = {
|
||||||
|
|
||||||
static int FsLock(void)
|
static int FsLock(void)
|
||||||
{
|
{
|
||||||
INT32 ret = 0;
|
int ret = 0;
|
||||||
struct timespec absTimeout = {0};
|
struct timespec absTimeout = {0};
|
||||||
if (osKernelGetState() != osKernelRunning) {
|
if (osKernelGetState() != osKernelRunning) {
|
||||||
return ret;
|
return ret;
|
||||||
|
@ -110,15 +110,15 @@ static int FsChangeDrive(const char *path)
|
||||||
|
|
||||||
retErr = strncpy_s(tmpPath + 1, (FS_DRIVE_NAME_MAX_LEN - 1), (char const *)path, pathLen);
|
retErr = strncpy_s(tmpPath + 1, (FS_DRIVE_NAME_MAX_LEN - 1), (char const *)path, pathLen);
|
||||||
if (retErr != EOK) {
|
if (retErr != EOK) {
|
||||||
return LOS_NOK;
|
return (int)LOS_NOK;
|
||||||
}
|
}
|
||||||
|
|
||||||
res = f_chdrive(tmpPath);
|
res = f_chdrive(tmpPath);
|
||||||
if (res != FR_OK) {
|
if (res != FR_OK) {
|
||||||
return LOS_NOK;
|
return (int)LOS_NOK;
|
||||||
}
|
}
|
||||||
|
|
||||||
return LOS_OK;
|
return (int)LOS_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int Remount(struct MountPoint *mp, unsigned long mountflags)
|
static int Remount(struct MountPoint *mp, unsigned long mountflags)
|
||||||
|
@ -128,11 +128,11 @@ static int Remount(struct MountPoint *mp, unsigned long mountflags)
|
||||||
/* remount is not allowed when the device is not mounted. */
|
/* remount is not allowed when the device is not mounted. */
|
||||||
if (fatfs->fs_type == 0) {
|
if (fatfs->fs_type == 0) {
|
||||||
errno = EINVAL;
|
errno = EINVAL;
|
||||||
return LOS_NOK;
|
return (int)LOS_NOK;
|
||||||
}
|
}
|
||||||
mp->mWriteEnable = (mountflags & MS_RDONLY) ? FALSE : TRUE;
|
mp->mWriteEnable = (mountflags & MS_RDONLY) ? FALSE : TRUE;
|
||||||
|
|
||||||
return LOS_OK;
|
return (int)LOS_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
static unsigned int FatFsGetMode(int oflags)
|
static unsigned int FatFsGetMode(int oflags)
|
||||||
|
@ -273,19 +273,19 @@ int FatfsMount(struct MountPoint *mp, unsigned long mountflags,
|
||||||
const void *data)
|
const void *data)
|
||||||
{
|
{
|
||||||
FRESULT res;
|
FRESULT res;
|
||||||
INT32 ret;
|
|
||||||
FATFS *fs = NULL;
|
FATFS *fs = NULL;
|
||||||
|
int ret;
|
||||||
|
|
||||||
ret = FsLock();
|
ret = FsLock();
|
||||||
if (ret != 0) {
|
if (ret != 0) {
|
||||||
errno = ret;
|
errno = ret;
|
||||||
return LOS_NOK;
|
return (int)LOS_NOK;
|
||||||
}
|
}
|
||||||
|
|
||||||
char *ldPath = GetLdPath(mp->mDev);
|
char *ldPath = GetLdPath(mp->mDev);
|
||||||
if (ldPath == NULL) {
|
if (ldPath == NULL) {
|
||||||
errno = EFAULT;
|
errno = EFAULT;
|
||||||
ret = LOS_NOK;
|
ret = (int)LOS_NOK;
|
||||||
goto ERROUT;
|
goto ERROUT;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -297,7 +297,7 @@ int FatfsMount(struct MountPoint *mp, unsigned long mountflags,
|
||||||
fs = (FATFS *)malloc(sizeof(FATFS));
|
fs = (FATFS *)malloc(sizeof(FATFS));
|
||||||
if (fs == NULL) {
|
if (fs == NULL) {
|
||||||
errno = ENOMEM;
|
errno = ENOMEM;
|
||||||
ret = LOS_NOK;
|
ret = (int)LOS_NOK;
|
||||||
goto ERROUT;
|
goto ERROUT;
|
||||||
}
|
}
|
||||||
(void)memset_s(fs, sizeof(FATFS), 0, sizeof(FATFS));
|
(void)memset_s(fs, sizeof(FATFS), 0, sizeof(FATFS));
|
||||||
|
@ -306,13 +306,13 @@ int FatfsMount(struct MountPoint *mp, unsigned long mountflags,
|
||||||
res = f_mount((FATFS *)mp->mData, ldPath, 1);
|
res = f_mount((FATFS *)mp->mData, ldPath, 1);
|
||||||
if (res != FR_OK) {
|
if (res != FR_OK) {
|
||||||
errno = FatfsErrno(res);
|
errno = FatfsErrno(res);
|
||||||
ret = LOS_NOK;
|
ret = (int)LOS_NOK;
|
||||||
goto ERROUT;
|
goto ERROUT;
|
||||||
}
|
}
|
||||||
|
|
||||||
PutLdPath(ldPath);
|
PutLdPath(ldPath);
|
||||||
FsUnlock();
|
FsUnlock();
|
||||||
return LOS_OK;
|
return (int)LOS_OK;
|
||||||
|
|
||||||
ERROUT:
|
ERROUT:
|
||||||
free(fs);
|
free(fs);
|
||||||
|
@ -324,28 +324,28 @@ ERROUT:
|
||||||
|
|
||||||
int FatfsUmount(struct MountPoint *mp)
|
int FatfsUmount(struct MountPoint *mp)
|
||||||
{
|
{
|
||||||
|
int ret;
|
||||||
|
int volId;
|
||||||
FRESULT res;
|
FRESULT res;
|
||||||
INT32 ret;
|
|
||||||
INT32 volId;
|
|
||||||
FATFS *fatfs = (FATFS *)mp->mData;
|
FATFS *fatfs = (FATFS *)mp->mData;
|
||||||
|
|
||||||
ret = FsLock();
|
ret = FsLock();
|
||||||
if (ret != 0) {
|
if (ret != 0) {
|
||||||
errno = ret;
|
errno = ret;
|
||||||
return LOS_NOK;
|
return (int)LOS_NOK;
|
||||||
}
|
}
|
||||||
|
|
||||||
char *ldPath = GetLdPath(mp->mDev);
|
char *ldPath = GetLdPath(mp->mDev);
|
||||||
if (ldPath == NULL) {
|
if (ldPath == NULL) {
|
||||||
errno = EFAULT;
|
errno = EFAULT;
|
||||||
ret = LOS_NOK;
|
ret = (int)LOS_NOK;
|
||||||
goto OUT;
|
goto OUT;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* The volume is not mounted */
|
/* The volume is not mounted */
|
||||||
if (fatfs->fs_type == 0) {
|
if (fatfs->fs_type == 0) {
|
||||||
errno = EINVAL;
|
errno = EINVAL;
|
||||||
ret = LOS_NOK;
|
ret = (int)LOS_NOK;
|
||||||
goto OUT;
|
goto OUT;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -353,14 +353,14 @@ int FatfsUmount(struct MountPoint *mp)
|
||||||
/* umount is not allowed when a file or directory is opened. */
|
/* umount is not allowed when a file or directory is opened. */
|
||||||
if (f_checkopenlock(volId) != FR_OK) {
|
if (f_checkopenlock(volId) != FR_OK) {
|
||||||
errno = EBUSY;
|
errno = EBUSY;
|
||||||
ret = LOS_NOK;
|
ret = (int)LOS_NOK;
|
||||||
goto OUT;
|
goto OUT;
|
||||||
}
|
}
|
||||||
|
|
||||||
res = f_mount((FATFS *)NULL, ldPath, 0);
|
res = f_mount((FATFS *)NULL, ldPath, 0);
|
||||||
if (res != FR_OK) {
|
if (res != FR_OK) {
|
||||||
errno = FatfsErrno(res);
|
errno = FatfsErrno(res);
|
||||||
ret = LOS_NOK;
|
ret = (int)LOS_NOK;
|
||||||
goto OUT;
|
goto OUT;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -371,7 +371,7 @@ int FatfsUmount(struct MountPoint *mp)
|
||||||
free(mp->mData);
|
free(mp->mData);
|
||||||
mp->mData = NULL;
|
mp->mData = NULL;
|
||||||
|
|
||||||
ret = LOS_OK;
|
ret = (int)LOS_OK;
|
||||||
|
|
||||||
OUT:
|
OUT:
|
||||||
PutLdPath(ldPath);
|
PutLdPath(ldPath);
|
||||||
|
@ -381,7 +381,7 @@ OUT:
|
||||||
|
|
||||||
int FatfsUmount2(struct MountPoint *mp, int flag)
|
int FatfsUmount2(struct MountPoint *mp, int flag)
|
||||||
{
|
{
|
||||||
INT32 ret;
|
int ret;
|
||||||
UINT32 flags;
|
UINT32 flags;
|
||||||
FRESULT res;
|
FRESULT res;
|
||||||
FATFS *fatfs = (FATFS *)mp->mData;
|
FATFS *fatfs = (FATFS *)mp->mData;
|
||||||
|
@ -389,33 +389,33 @@ int FatfsUmount2(struct MountPoint *mp, int flag)
|
||||||
flags = MNT_FORCE | MNT_DETACH | MNT_EXPIRE | UMOUNT_NOFOLLOW;
|
flags = MNT_FORCE | MNT_DETACH | MNT_EXPIRE | UMOUNT_NOFOLLOW;
|
||||||
if ((UINT32)flag & ~flags) {
|
if ((UINT32)flag & ~flags) {
|
||||||
errno = EINVAL;
|
errno = EINVAL;
|
||||||
return LOS_NOK;
|
return (int)LOS_NOK;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = FsLock();
|
ret = FsLock();
|
||||||
if (ret != 0) {
|
if (ret != 0) {
|
||||||
errno = ret;
|
errno = ret;
|
||||||
return LOS_NOK;
|
return (int)LOS_NOK;
|
||||||
}
|
}
|
||||||
|
|
||||||
char *ldPath = GetLdPath(mp->mDev);
|
char *ldPath = GetLdPath(mp->mDev);
|
||||||
if (ldPath == NULL) {
|
if (ldPath == NULL) {
|
||||||
errno = EFAULT;
|
errno = EFAULT;
|
||||||
ret = LOS_NOK;
|
ret = (int)LOS_NOK;
|
||||||
goto OUT;
|
goto OUT;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* The volume is not mounted */
|
/* The volume is not mounted */
|
||||||
if (fatfs->fs_type == 0) {
|
if (fatfs->fs_type == 0) {
|
||||||
errno = EINVAL;
|
errno = EINVAL;
|
||||||
ret = LOS_NOK;
|
ret = (int)LOS_NOK;
|
||||||
goto OUT;
|
goto OUT;
|
||||||
}
|
}
|
||||||
|
|
||||||
res = f_mount((FATFS *)NULL, ldPath, 0);
|
res = f_mount((FATFS *)NULL, ldPath, 0);
|
||||||
if (res != FR_OK) {
|
if (res != FR_OK) {
|
||||||
errno = FatfsErrno(res);
|
errno = FatfsErrno(res);
|
||||||
ret = LOS_NOK;
|
ret = (int)LOS_NOK;
|
||||||
goto OUT;
|
goto OUT;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -426,7 +426,7 @@ int FatfsUmount2(struct MountPoint *mp, int flag)
|
||||||
free(mp->mData);
|
free(mp->mData);
|
||||||
mp->mData = NULL;
|
mp->mData = NULL;
|
||||||
|
|
||||||
ret = LOS_OK;
|
ret = (int)LOS_OK;
|
||||||
|
|
||||||
OUT:
|
OUT:
|
||||||
PutLdPath(ldPath);
|
PutLdPath(ldPath);
|
||||||
|
@ -438,12 +438,12 @@ int FatfsOpen(struct File *file, const char *path, int oflag)
|
||||||
{
|
{
|
||||||
FRESULT res;
|
FRESULT res;
|
||||||
UINT32 fmode;
|
UINT32 fmode;
|
||||||
INT32 ret;
|
|
||||||
FIL *fp = NULL;
|
FIL *fp = NULL;
|
||||||
|
int ret;
|
||||||
|
|
||||||
if (path == NULL) {
|
if (path == NULL) {
|
||||||
errno = EFAULT;
|
errno = EFAULT;
|
||||||
return LOS_NOK;
|
return (int)LOS_NOK;
|
||||||
}
|
}
|
||||||
|
|
||||||
fmode = FatFsGetMode(oflag);
|
fmode = FatFsGetMode(oflag);
|
||||||
|
@ -451,21 +451,21 @@ int FatfsOpen(struct File *file, const char *path, int oflag)
|
||||||
fp = (FIL *)malloc(sizeof(FIL));
|
fp = (FIL *)malloc(sizeof(FIL));
|
||||||
if (fp == NULL) {
|
if (fp == NULL) {
|
||||||
errno = ENOMEM;
|
errno = ENOMEM;
|
||||||
return LOS_NOK;
|
return (int)LOS_NOK;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = FsLock();
|
ret = FsLock();
|
||||||
if (ret != 0) {
|
if (ret != 0) {
|
||||||
errno = ret;
|
errno = ret;
|
||||||
free(fp);
|
free(fp);
|
||||||
return LOS_NOK;
|
return (int)LOS_NOK;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = FsChangeDrive(path);
|
ret = FsChangeDrive(path);
|
||||||
if (ret != LOS_OK) {
|
if (ret != (int)LOS_OK) {
|
||||||
PRINT_ERR("FAT open ChangeDrive err 0x%x!\r\n", ret);
|
PRINT_ERR("FAT open ChangeDrive err 0x%x!\r\n", ret);
|
||||||
errno = ENOENT;
|
errno = ENOENT;
|
||||||
ret = LOS_NOK;
|
ret = (int)LOS_NOK;
|
||||||
free(fp);
|
free(fp);
|
||||||
goto OUT;
|
goto OUT;
|
||||||
}
|
}
|
||||||
|
@ -475,7 +475,7 @@ int FatfsOpen(struct File *file, const char *path, int oflag)
|
||||||
PRINT_ERR("FAT open err 0x%x!\r\n", res);
|
PRINT_ERR("FAT open err 0x%x!\r\n", res);
|
||||||
free(fp);
|
free(fp);
|
||||||
errno = FatfsErrno(res);
|
errno = FatfsErrno(res);
|
||||||
ret = LOS_NOK;
|
ret = (int)LOS_NOK;
|
||||||
goto OUT;
|
goto OUT;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -489,19 +489,19 @@ OUT:
|
||||||
int FatfsClose(struct File *file)
|
int FatfsClose(struct File *file)
|
||||||
{
|
{
|
||||||
FRESULT res;
|
FRESULT res;
|
||||||
INT32 ret;
|
|
||||||
FIL *fp = (FIL *)file->fData;
|
FIL *fp = (FIL *)file->fData;
|
||||||
|
int ret;
|
||||||
|
|
||||||
ret = FsLock();
|
ret = FsLock();
|
||||||
if (ret != 0) {
|
if (ret != 0) {
|
||||||
errno = ret;
|
errno = ret;
|
||||||
return LOS_NOK;
|
return (int)LOS_NOK;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((fp == NULL) || (fp->obj.fs == NULL)) {
|
if ((fp == NULL) || (fp->obj.fs == NULL)) {
|
||||||
FsUnlock();
|
FsUnlock();
|
||||||
errno = ENOENT;
|
errno = ENOENT;
|
||||||
return LOS_NOK;
|
return (int)LOS_NOK;
|
||||||
}
|
}
|
||||||
|
|
||||||
res = f_close(fp);
|
res = f_close(fp);
|
||||||
|
@ -509,7 +509,7 @@ int FatfsClose(struct File *file)
|
||||||
PRINT_ERR("FAT close err 0x%x!\r\n", res);
|
PRINT_ERR("FAT close err 0x%x!\r\n", res);
|
||||||
FsUnlock();
|
FsUnlock();
|
||||||
errno = FatfsErrno(res);
|
errno = FatfsErrno(res);
|
||||||
return LOS_NOK;
|
return (int)LOS_NOK;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if !FF_FS_TINY
|
#if !FF_FS_TINY
|
||||||
|
@ -521,37 +521,37 @@ int FatfsClose(struct File *file)
|
||||||
file->fData = NULL;
|
file->fData = NULL;
|
||||||
FsUnlock();
|
FsUnlock();
|
||||||
|
|
||||||
return LOS_OK;
|
return (int)LOS_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
ssize_t FatfsRead(struct File *file, char *buf, size_t nbyte)
|
ssize_t FatfsRead(struct File *file, char *buf, size_t nbyte)
|
||||||
{
|
{
|
||||||
FRESULT res;
|
FRESULT res;
|
||||||
INT32 ret;
|
|
||||||
UINT32 lenRead;
|
UINT32 lenRead;
|
||||||
FIL *fp = (FIL *)file->fData;
|
FIL *fp = (FIL *)file->fData;
|
||||||
|
int ret;
|
||||||
|
|
||||||
if (buf == NULL) {
|
if (buf == NULL) {
|
||||||
errno = EFAULT;
|
errno = EFAULT;
|
||||||
return LOS_NOK;
|
return (ssize_t)LOS_NOK;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = FsLock();
|
ret = FsLock();
|
||||||
if (ret != 0) {
|
if (ret != 0) {
|
||||||
errno = ret;
|
errno = ret;
|
||||||
return LOS_NOK;
|
return (ssize_t)LOS_NOK;
|
||||||
}
|
}
|
||||||
if (fp == NULL) {
|
if (fp == NULL) {
|
||||||
FsUnlock();
|
FsUnlock();
|
||||||
errno = ENOENT;
|
errno = ENOENT;
|
||||||
return LOS_NOK;
|
return (ssize_t)LOS_NOK;
|
||||||
}
|
}
|
||||||
|
|
||||||
res = f_read(fp, buf, nbyte, &lenRead);
|
res = f_read(fp, buf, nbyte, &lenRead);
|
||||||
if (res != FR_OK) {
|
if (res != FR_OK) {
|
||||||
FsUnlock();
|
FsUnlock();
|
||||||
errno = FatfsErrno(res);
|
errno = FatfsErrno(res);
|
||||||
return LOS_NOK;
|
return (ssize_t)LOS_NOK;
|
||||||
}
|
}
|
||||||
FsUnlock();
|
FsUnlock();
|
||||||
|
|
||||||
|
@ -561,20 +561,20 @@ ssize_t FatfsRead(struct File *file, char *buf, size_t nbyte)
|
||||||
ssize_t FatfsWrite(struct File *file, const char *buf, size_t nbyte)
|
ssize_t FatfsWrite(struct File *file, const char *buf, size_t nbyte)
|
||||||
{
|
{
|
||||||
FRESULT res;
|
FRESULT res;
|
||||||
INT32 ret;
|
|
||||||
UINT32 lenWrite;
|
UINT32 lenWrite;
|
||||||
static BOOL overFlow = FALSE;
|
static BOOL overFlow = FALSE;
|
||||||
FIL *fp = (FIL *)file->fData;
|
FIL *fp = (FIL *)file->fData;
|
||||||
|
int ret;
|
||||||
|
|
||||||
if (buf == NULL) {
|
if (buf == NULL) {
|
||||||
errno = EFAULT;
|
errno = EFAULT;
|
||||||
return LOS_NOK;
|
return (ssize_t)LOS_NOK;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = FsLock();
|
ret = FsLock();
|
||||||
if (ret != 0) {
|
if (ret != 0) {
|
||||||
errno = ret;
|
errno = ret;
|
||||||
return LOS_NOK;
|
return (ssize_t)LOS_NOK;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((fp ==NULL) || (fp->obj.fs == NULL)) {
|
if ((fp ==NULL) || (fp->obj.fs == NULL)) {
|
||||||
|
@ -598,20 +598,20 @@ ssize_t FatfsWrite(struct File *file, const char *buf, size_t nbyte)
|
||||||
|
|
||||||
ERROUT:
|
ERROUT:
|
||||||
FsUnlock();
|
FsUnlock();
|
||||||
return LOS_NOK;
|
return (ssize_t)LOS_NOK;
|
||||||
}
|
}
|
||||||
|
|
||||||
off_t FatfsLseek(struct File *file, off_t offset, int whence)
|
off_t FatfsLseek(struct File *file, off_t offset, int whence)
|
||||||
{
|
{
|
||||||
FRESULT res;
|
FRESULT res;
|
||||||
INT32 ret;
|
|
||||||
off_t pos;
|
off_t pos;
|
||||||
FIL *fp = (FIL *)file->fData;
|
FIL *fp = (FIL *)file->fData;
|
||||||
|
int ret;
|
||||||
|
|
||||||
ret = FsLock();
|
ret = FsLock();
|
||||||
if (ret != 0) {
|
if (ret != 0) {
|
||||||
errno = ret;
|
errno = ret;
|
||||||
return LOS_NOK;
|
return (off_t)LOS_NOK;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((fp == NULL) || (fp->obj.fs == NULL)) {
|
if ((fp == NULL) || (fp->obj.fs == NULL)) {
|
||||||
|
@ -642,37 +642,37 @@ off_t FatfsLseek(struct File *file, off_t offset, int whence)
|
||||||
|
|
||||||
ERROUT:
|
ERROUT:
|
||||||
FsUnlock();
|
FsUnlock();
|
||||||
return LOS_NOK;
|
return (off_t)LOS_NOK;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Remove the specified FILE */
|
/* Remove the specified FILE */
|
||||||
int FatfsUnlink(struct MountPoint *mp, const char *path)
|
int FatfsUnlink(struct MountPoint *mp, const char *path)
|
||||||
{
|
{
|
||||||
FRESULT res;
|
FRESULT res;
|
||||||
INT32 ret;
|
int ret;
|
||||||
|
|
||||||
if (path == NULL) {
|
if (path == NULL) {
|
||||||
errno = EFAULT;
|
errno = EFAULT;
|
||||||
return LOS_NOK;
|
return (int)LOS_NOK;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = FsLock();
|
ret = FsLock();
|
||||||
if (ret != 0) {
|
if (ret != 0) {
|
||||||
errno = ret;
|
errno = ret;
|
||||||
return LOS_NOK;
|
return (int)LOS_NOK;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!mp->mWriteEnable) {
|
if (!mp->mWriteEnable) {
|
||||||
errno = EACCES;
|
errno = EACCES;
|
||||||
ret = LOS_NOK;
|
ret = (int)LOS_NOK;
|
||||||
goto OUT;
|
goto OUT;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = FsChangeDrive(path);
|
ret = FsChangeDrive(path);
|
||||||
if (ret != LOS_OK) {
|
if (ret != (int)LOS_OK) {
|
||||||
PRINT_ERR("FAT unlink ChangeDrive err 0x%x!\r\n", ret);
|
PRINT_ERR("FAT unlink ChangeDrive err 0x%x!\r\n", ret);
|
||||||
errno = ENOENT;
|
errno = ENOENT;
|
||||||
ret = LOS_NOK;
|
ret = (int)LOS_NOK;
|
||||||
goto OUT;
|
goto OUT;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -680,11 +680,11 @@ int FatfsUnlink(struct MountPoint *mp, const char *path)
|
||||||
if (res != FR_OK) {
|
if (res != FR_OK) {
|
||||||
PRINT_ERR("FAT unlink err 0x%x!\r\n", res);
|
PRINT_ERR("FAT unlink err 0x%x!\r\n", res);
|
||||||
errno = FatfsErrno(res);
|
errno = FatfsErrno(res);
|
||||||
ret = LOS_NOK;
|
ret = (int)LOS_NOK;
|
||||||
goto OUT;
|
goto OUT;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = LOS_OK;
|
ret = (int)LOS_OK;
|
||||||
|
|
||||||
OUT:
|
OUT:
|
||||||
FsUnlock();
|
FsUnlock();
|
||||||
|
@ -695,24 +695,24 @@ int FatfsStat(struct MountPoint *mp, const char *path, struct stat *buf)
|
||||||
{
|
{
|
||||||
FRESULT res;
|
FRESULT res;
|
||||||
FILINFO fileInfo = {0};
|
FILINFO fileInfo = {0};
|
||||||
INT32 ret;
|
int ret;
|
||||||
|
|
||||||
if ((path == NULL) || (buf == NULL)) {
|
if ((path == NULL) || (buf == NULL)) {
|
||||||
errno = EFAULT;
|
errno = EFAULT;
|
||||||
return LOS_NOK;
|
return (int)LOS_NOK;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = FsLock();
|
ret = FsLock();
|
||||||
if (ret != 0) {
|
if (ret != 0) {
|
||||||
errno = ret;
|
errno = ret;
|
||||||
return LOS_NOK;
|
return (int)LOS_NOK;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = FsChangeDrive(path);
|
ret = FsChangeDrive(path);
|
||||||
if (ret != LOS_OK) {
|
if (ret != (int)LOS_OK) {
|
||||||
PRINT_ERR("FAT stat ChangeDrive err 0x%x!\r\n", ret);
|
PRINT_ERR("FAT stat ChangeDrive err 0x%x!\r\n", ret);
|
||||||
errno = ENOENT;
|
errno = ENOENT;
|
||||||
ret = LOS_NOK;
|
ret = (int)LOS_NOK;
|
||||||
goto OUT;
|
goto OUT;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -720,7 +720,7 @@ int FatfsStat(struct MountPoint *mp, const char *path, struct stat *buf)
|
||||||
if (res != FR_OK) {
|
if (res != FR_OK) {
|
||||||
PRINT_ERR("FAT stat err 0x%x!\r\n", res);
|
PRINT_ERR("FAT stat err 0x%x!\r\n", res);
|
||||||
errno = FatfsErrno(res);
|
errno = FatfsErrno(res);
|
||||||
ret = LOS_NOK;
|
ret = (int)LOS_NOK;
|
||||||
goto OUT;
|
goto OUT;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -738,7 +738,7 @@ int FatfsStat(struct MountPoint *mp, const char *path, struct stat *buf)
|
||||||
buf->st_mode |= S_IFDIR;
|
buf->st_mode |= S_IFDIR;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = LOS_OK;
|
ret = (int)LOS_OK;
|
||||||
|
|
||||||
OUT:
|
OUT:
|
||||||
FsUnlock();
|
FsUnlock();
|
||||||
|
@ -748,29 +748,29 @@ OUT:
|
||||||
/* Synchronize all changes to Flash */
|
/* Synchronize all changes to Flash */
|
||||||
int FatfsSync(struct File *file)
|
int FatfsSync(struct File *file)
|
||||||
{
|
{
|
||||||
|
int ret;
|
||||||
FRESULT res;
|
FRESULT res;
|
||||||
INT32 ret;
|
|
||||||
FIL *fp = (FIL *)file->fData;
|
FIL *fp = (FIL *)file->fData;
|
||||||
|
|
||||||
ret = FsLock();
|
ret = FsLock();
|
||||||
if (ret != 0) {
|
if (ret != 0) {
|
||||||
errno = ret;
|
errno = ret;
|
||||||
return LOS_NOK;
|
return (int)LOS_NOK;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((fp == NULL) || (fp->obj.fs == NULL)) {
|
if ((fp == NULL) || (fp->obj.fs == NULL)) {
|
||||||
errno = ENOENT;
|
errno = ENOENT;
|
||||||
ret = LOS_NOK;
|
ret = (int)LOS_NOK;
|
||||||
goto OUT;
|
goto OUT;
|
||||||
}
|
}
|
||||||
|
|
||||||
res = f_sync(fp);
|
res = f_sync(fp);
|
||||||
if (res != FR_OK) {
|
if (res != FR_OK) {
|
||||||
errno = FatfsErrno(res);
|
errno = FatfsErrno(res);
|
||||||
ret = LOS_NOK;
|
ret = (int)LOS_NOK;
|
||||||
goto OUT;
|
goto OUT;
|
||||||
}
|
}
|
||||||
ret = LOS_OK;
|
ret = (int)LOS_OK;
|
||||||
|
|
||||||
OUT:
|
OUT:
|
||||||
FsUnlock();
|
FsUnlock();
|
||||||
|
@ -780,30 +780,30 @@ OUT:
|
||||||
int FatfsMkdir(struct MountPoint *mp, const char *path)
|
int FatfsMkdir(struct MountPoint *mp, const char *path)
|
||||||
{
|
{
|
||||||
FRESULT res;
|
FRESULT res;
|
||||||
INT32 ret;
|
int ret;
|
||||||
|
|
||||||
if (path == NULL) {
|
if (path == NULL) {
|
||||||
errno = EFAULT;
|
errno = EFAULT;
|
||||||
return LOS_NOK;
|
return (int)LOS_NOK;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = FsLock();
|
ret = FsLock();
|
||||||
if (ret != 0) {
|
if (ret != 0) {
|
||||||
errno = ret;
|
errno = ret;
|
||||||
return LOS_NOK;
|
return (int)LOS_NOK;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!mp->mWriteEnable) {
|
if (!mp->mWriteEnable) {
|
||||||
errno = EACCES;
|
errno = EACCES;
|
||||||
ret = LOS_NOK;
|
ret = (int)LOS_NOK;
|
||||||
goto OUT;
|
goto OUT;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = FsChangeDrive(path);
|
ret = FsChangeDrive(path);
|
||||||
if (ret != LOS_OK) {
|
if (ret != (int)LOS_OK) {
|
||||||
PRINT_ERR("FAT mkdir ChangeDrive err 0x%x!\r\n", ret);
|
PRINT_ERR("FAT mkdir ChangeDrive err 0x%x!\r\n", ret);
|
||||||
errno = ENOENT;
|
errno = ENOENT;
|
||||||
ret = LOS_NOK;
|
ret = (int)LOS_NOK;
|
||||||
goto OUT;
|
goto OUT;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -811,10 +811,10 @@ int FatfsMkdir(struct MountPoint *mp, const char *path)
|
||||||
if (res != FR_OK) {
|
if (res != FR_OK) {
|
||||||
PRINT_ERR("FAT mkdir err 0x%x!\r\n", res);
|
PRINT_ERR("FAT mkdir err 0x%x!\r\n", res);
|
||||||
errno = FatfsErrno(res);
|
errno = FatfsErrno(res);
|
||||||
ret = LOS_NOK;
|
ret = (int)LOS_NOK;
|
||||||
goto OUT;
|
goto OUT;
|
||||||
}
|
}
|
||||||
ret = LOS_OK;
|
ret = (int)LOS_OK;
|
||||||
|
|
||||||
OUT:
|
OUT:
|
||||||
FsUnlock();
|
FsUnlock();
|
||||||
|
@ -824,8 +824,8 @@ OUT:
|
||||||
int FatfsOpendir(struct Dir *dir, const char *dirName)
|
int FatfsOpendir(struct Dir *dir, const char *dirName)
|
||||||
{
|
{
|
||||||
FRESULT res;
|
FRESULT res;
|
||||||
INT32 ret;
|
|
||||||
DIR *dp = NULL;
|
DIR *dp = NULL;
|
||||||
|
int ret;
|
||||||
|
|
||||||
if (dirName == NULL) {
|
if (dirName == NULL) {
|
||||||
errno = EFAULT;
|
errno = EFAULT;
|
||||||
|
@ -845,7 +845,7 @@ int FatfsOpendir(struct Dir *dir, const char *dirName)
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = FsChangeDrive(dirName);
|
ret = FsChangeDrive(dirName);
|
||||||
if (ret != LOS_OK) {
|
if (ret != (int)LOS_OK) {
|
||||||
PRINT_ERR("FAT opendir ChangeDrive err 0x%x!\r\n", ret);
|
PRINT_ERR("FAT opendir ChangeDrive err 0x%x!\r\n", ret);
|
||||||
errno = ENOENT;
|
errno = ENOENT;
|
||||||
goto ERROUT;
|
goto ERROUT;
|
||||||
|
@ -862,33 +862,33 @@ int FatfsOpendir(struct Dir *dir, const char *dirName)
|
||||||
dir->dOffset = 0;
|
dir->dOffset = 0;
|
||||||
|
|
||||||
FsUnlock();
|
FsUnlock();
|
||||||
return LOS_OK;
|
return (int)LOS_OK;
|
||||||
|
|
||||||
ERROUT:
|
ERROUT:
|
||||||
if (dp != NULL) {
|
if (dp != NULL) {
|
||||||
free(dp);
|
free(dp);
|
||||||
}
|
}
|
||||||
FsUnlock();
|
FsUnlock();
|
||||||
return LOS_NOK;
|
return (int)LOS_NOK;
|
||||||
}
|
}
|
||||||
|
|
||||||
int FatfsReaddir(struct Dir *dir, struct dirent *dent)
|
int FatfsReaddir(struct Dir *dir, struct dirent *dent)
|
||||||
{
|
{
|
||||||
FRESULT res;
|
FRESULT res;
|
||||||
INT32 ret;
|
|
||||||
FILINFO fileInfo = {0};
|
FILINFO fileInfo = {0};
|
||||||
DIR *dp = NULL;
|
DIR *dp = NULL;
|
||||||
|
int ret;
|
||||||
|
|
||||||
if ((dir == NULL) || (dir->dData == NULL)) {
|
if ((dir == NULL) || (dir->dData == NULL)) {
|
||||||
errno = EBADF;
|
errno = EBADF;
|
||||||
return LOS_NOK;
|
return (int)LOS_NOK;
|
||||||
}
|
}
|
||||||
|
|
||||||
dp = (DIR *)dir->dData;
|
dp = (DIR *)dir->dData;
|
||||||
ret = FsLock();
|
ret = FsLock();
|
||||||
if (ret != 0) {
|
if (ret != 0) {
|
||||||
errno = ret;
|
errno = ret;
|
||||||
return LOS_NOK;
|
return (int)LOS_NOK;
|
||||||
}
|
}
|
||||||
|
|
||||||
res = f_readdir(dp, &fileInfo);
|
res = f_readdir(dp, &fileInfo);
|
||||||
|
@ -897,7 +897,7 @@ int FatfsReaddir(struct Dir *dir, struct dirent *dent)
|
||||||
PRINT_ERR("FAT readdir err 0x%x!\r\n", res);
|
PRINT_ERR("FAT readdir err 0x%x!\r\n", res);
|
||||||
errno = FatfsErrno(res);
|
errno = FatfsErrno(res);
|
||||||
FsUnlock();
|
FsUnlock();
|
||||||
return LOS_NOK;
|
return (int)LOS_NOK;
|
||||||
}
|
}
|
||||||
|
|
||||||
(void)memcpy_s(dent->d_name, sizeof(dent->d_name),
|
(void)memcpy_s(dent->d_name, sizeof(dent->d_name),
|
||||||
|
@ -909,25 +909,25 @@ int FatfsReaddir(struct Dir *dir, struct dirent *dent)
|
||||||
}
|
}
|
||||||
FsUnlock();
|
FsUnlock();
|
||||||
|
|
||||||
return LOS_OK;
|
return (int)LOS_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
int FatfsClosedir(struct Dir *dir)
|
int FatfsClosedir(struct Dir *dir)
|
||||||
{
|
{
|
||||||
FRESULT res;
|
FRESULT res;
|
||||||
INT32 ret;
|
|
||||||
DIR *dp = NULL;
|
DIR *dp = NULL;
|
||||||
|
int ret;
|
||||||
|
|
||||||
if ((dir == NULL) || (dir->dData == NULL)) {
|
if ((dir == NULL) || (dir->dData == NULL)) {
|
||||||
errno = EBADF;
|
errno = EBADF;
|
||||||
return LOS_NOK;
|
return (int)LOS_NOK;
|
||||||
}
|
}
|
||||||
|
|
||||||
dp = dir->dData;
|
dp = dir->dData;
|
||||||
ret = FsLock();
|
ret = FsLock();
|
||||||
if (ret != 0) {
|
if (ret != 0) {
|
||||||
errno = ret;
|
errno = ret;
|
||||||
return LOS_NOK;
|
return (int)LOS_NOK;
|
||||||
}
|
}
|
||||||
|
|
||||||
res = f_closedir(dp);
|
res = f_closedir(dp);
|
||||||
|
@ -935,43 +935,43 @@ int FatfsClosedir(struct Dir *dir)
|
||||||
PRINT_ERR("FAT closedir err 0x%x!\r\n", res);
|
PRINT_ERR("FAT closedir err 0x%x!\r\n", res);
|
||||||
FsUnlock();
|
FsUnlock();
|
||||||
errno = FatfsErrno(res);
|
errno = FatfsErrno(res);
|
||||||
return LOS_NOK;
|
return (int)LOS_NOK;
|
||||||
}
|
}
|
||||||
|
|
||||||
free(dir->dData);
|
free(dir->dData);
|
||||||
dir->dData = NULL;
|
dir->dData = NULL;
|
||||||
FsUnlock();
|
FsUnlock();
|
||||||
|
|
||||||
return LOS_OK;
|
return (int)LOS_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
int FatfsRmdir(struct MountPoint *mp, const char *path)
|
int FatfsRmdir(struct MountPoint *mp, const char *path)
|
||||||
{
|
{
|
||||||
FRESULT res;
|
FRESULT res;
|
||||||
INT32 ret;
|
int ret;
|
||||||
|
|
||||||
if ((path == NULL) || (mp == NULL)) {
|
if ((path == NULL) || (mp == NULL)) {
|
||||||
errno = EFAULT;
|
errno = EFAULT;
|
||||||
return LOS_NOK;
|
return (int)LOS_NOK;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = FsLock();
|
ret = FsLock();
|
||||||
if (ret != 0) {
|
if (ret != 0) {
|
||||||
errno = ret;
|
errno = ret;
|
||||||
return LOS_NOK;
|
return (int)LOS_NOK;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!mp->mWriteEnable) {
|
if (!mp->mWriteEnable) {
|
||||||
errno = EACCES;
|
errno = EACCES;
|
||||||
ret = LOS_NOK;
|
ret = (int)LOS_NOK;
|
||||||
goto OUT;
|
goto OUT;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = FsChangeDrive(path);
|
ret = FsChangeDrive(path);
|
||||||
if (ret != LOS_OK) {
|
if (ret != (int)LOS_OK) {
|
||||||
PRINT_ERR("FAT rmdir ChangeDrive err 0x%x!\r\n", ret);
|
PRINT_ERR("FAT rmdir ChangeDrive err 0x%x!\r\n", ret);
|
||||||
errno = ENOENT;
|
errno = ENOENT;
|
||||||
ret = LOS_NOK;
|
ret = (int)LOS_NOK;
|
||||||
goto OUT;
|
goto OUT;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -979,10 +979,10 @@ int FatfsRmdir(struct MountPoint *mp, const char *path)
|
||||||
if (res != FR_OK) {
|
if (res != FR_OK) {
|
||||||
PRINT_ERR("FAT rmdir err 0x%x!\r\n", res);
|
PRINT_ERR("FAT rmdir err 0x%x!\r\n", res);
|
||||||
errno = FatfsErrno(res);
|
errno = FatfsErrno(res);
|
||||||
ret = LOS_NOK;
|
ret = (int)LOS_NOK;
|
||||||
goto OUT;
|
goto OUT;
|
||||||
}
|
}
|
||||||
ret = LOS_OK;
|
ret = (int)LOS_OK;
|
||||||
|
|
||||||
OUT:
|
OUT:
|
||||||
FsUnlock();
|
FsUnlock();
|
||||||
|
@ -992,30 +992,30 @@ OUT:
|
||||||
int FatfsRename(struct MountPoint *mp, const char *oldName, const char *newName)
|
int FatfsRename(struct MountPoint *mp, const char *oldName, const char *newName)
|
||||||
{
|
{
|
||||||
FRESULT res;
|
FRESULT res;
|
||||||
INT32 ret;
|
int ret;
|
||||||
|
|
||||||
if ((oldName == NULL) || (newName == NULL)) {
|
if ((oldName == NULL) || (newName == NULL)) {
|
||||||
errno = EFAULT;
|
errno = EFAULT;
|
||||||
return LOS_NOK;
|
return (int)LOS_NOK;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = FsLock();
|
ret = FsLock();
|
||||||
if (ret != 0) {
|
if (ret != 0) {
|
||||||
errno = ret;
|
errno = ret;
|
||||||
return LOS_NOK;
|
return (int)LOS_NOK;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!mp->mWriteEnable) {
|
if (!mp->mWriteEnable) {
|
||||||
errno = EACCES;
|
errno = EACCES;
|
||||||
ret = LOS_NOK;
|
ret = (int)LOS_NOK;
|
||||||
goto OUT;
|
goto OUT;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = FsChangeDrive(oldName);
|
ret = FsChangeDrive(oldName);
|
||||||
if (ret != LOS_OK) {
|
if (ret != (int)LOS_OK) {
|
||||||
PRINT_ERR("FAT f_getfree ChangeDrive err 0x%x!\r\n", ret);
|
PRINT_ERR("FAT f_getfree ChangeDrive err 0x%x!\r\n", ret);
|
||||||
errno = ENOENT;
|
errno = ENOENT;
|
||||||
ret = LOS_NOK;
|
ret = (int)LOS_NOK;
|
||||||
goto OUT;
|
goto OUT;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1023,10 +1023,10 @@ int FatfsRename(struct MountPoint *mp, const char *oldName, const char *newName)
|
||||||
if (res != FR_OK) {
|
if (res != FR_OK) {
|
||||||
PRINT_ERR("FAT frename err 0x%x!\r\n", res);
|
PRINT_ERR("FAT frename err 0x%x!\r\n", res);
|
||||||
errno = FatfsErrno(res);
|
errno = FatfsErrno(res);
|
||||||
ret = LOS_NOK;
|
ret = (int)LOS_NOK;
|
||||||
goto OUT;
|
goto OUT;
|
||||||
}
|
}
|
||||||
ret = LOS_OK;
|
ret = (int)LOS_OK;
|
||||||
|
|
||||||
OUT:
|
OUT:
|
||||||
FsUnlock();
|
FsUnlock();
|
||||||
|
@ -1038,24 +1038,24 @@ int FatfsStatfs(const char *path, struct statfs *buf)
|
||||||
FATFS *fs = NULL;
|
FATFS *fs = NULL;
|
||||||
UINT32 freeClust;
|
UINT32 freeClust;
|
||||||
FRESULT res;
|
FRESULT res;
|
||||||
INT32 ret;
|
int ret;
|
||||||
|
|
||||||
if ((path == NULL) || (buf == NULL)) {
|
if ((path == NULL) || (buf == NULL)) {
|
||||||
errno = EFAULT;
|
errno = EFAULT;
|
||||||
return LOS_NOK;
|
return (int)LOS_NOK;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = FsLock();
|
ret = FsLock();
|
||||||
if (ret != 0) {
|
if (ret != 0) {
|
||||||
errno = ret;
|
errno = ret;
|
||||||
return LOS_NOK;
|
return (int)LOS_NOK;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = FsChangeDrive(path);
|
ret = FsChangeDrive(path);
|
||||||
if (ret != FR_OK) {
|
if (ret != FR_OK) {
|
||||||
PRINT_ERR("FAT f_getfree ChangeDrive err %d.", ret);
|
PRINT_ERR("FAT f_getfree ChangeDrive err %d.", ret);
|
||||||
errno = FatfsErrno(FR_INVALID_PARAMETER);
|
errno = FatfsErrno(FR_INVALID_PARAMETER);
|
||||||
ret = LOS_NOK;
|
ret = (int)LOS_NOK;
|
||||||
goto OUT;
|
goto OUT;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1063,7 +1063,7 @@ int FatfsStatfs(const char *path, struct statfs *buf)
|
||||||
if (res != FR_OK) {
|
if (res != FR_OK) {
|
||||||
PRINT_ERR("FAT f_getfree err 0x%x.", res);
|
PRINT_ERR("FAT f_getfree err 0x%x.", res);
|
||||||
errno = FatfsErrno(res);
|
errno = FatfsErrno(res);
|
||||||
ret = LOS_NOK;
|
ret = (int)LOS_NOK;
|
||||||
goto OUT;
|
goto OUT;
|
||||||
}
|
}
|
||||||
buf->f_bfree = freeClust;
|
buf->f_bfree = freeClust;
|
||||||
|
@ -1076,7 +1076,7 @@ int FatfsStatfs(const char *path, struct statfs *buf)
|
||||||
buf->f_bsize = FF_MIN_SS * fs->csize;
|
buf->f_bsize = FF_MIN_SS * fs->csize;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
ret = LOS_OK;
|
ret = (int)LOS_OK;
|
||||||
|
|
||||||
OUT:
|
OUT:
|
||||||
FsUnlock();
|
FsUnlock();
|
||||||
|
@ -1086,9 +1086,9 @@ OUT:
|
||||||
static int DoTruncate(struct File *file, off_t length, UINT32 count)
|
static int DoTruncate(struct File *file, off_t length, UINT32 count)
|
||||||
{
|
{
|
||||||
FRESULT res = FR_OK;
|
FRESULT res = FR_OK;
|
||||||
INT32 ret = LOS_OK;
|
|
||||||
DWORD csz;
|
DWORD csz;
|
||||||
FIL *fp = (FIL *)file->fData;
|
FIL *fp = (FIL *)file->fData;
|
||||||
|
int ret = (int)LOS_OK;
|
||||||
|
|
||||||
csz = (DWORD)(fp->obj.fs)->csize * SS(fp->obj.fs); /* Cluster size */
|
csz = (DWORD)(fp->obj.fs)->csize * SS(fp->obj.fs); /* Cluster size */
|
||||||
if (length > csz * count) {
|
if (length > csz * count) {
|
||||||
|
@ -1096,7 +1096,7 @@ static int DoTruncate(struct File *file, off_t length, UINT32 count)
|
||||||
res = f_expand(fp, 0, (FSIZE_t)(length), FALLOC_FL_KEEP_SIZE);
|
res = f_expand(fp, 0, (FSIZE_t)(length), FALLOC_FL_KEEP_SIZE);
|
||||||
#else
|
#else
|
||||||
errno = ENOSYS;
|
errno = ENOSYS;
|
||||||
ret = LOS_NOK;
|
ret = (int)LOS_NOK;
|
||||||
return ret;
|
return ret;
|
||||||
#endif
|
#endif
|
||||||
} else if (length < csz * count) {
|
} else if (length < csz * count) {
|
||||||
|
@ -1105,7 +1105,7 @@ static int DoTruncate(struct File *file, off_t length, UINT32 count)
|
||||||
|
|
||||||
if (res != FR_OK) {
|
if (res != FR_OK) {
|
||||||
errno = FatfsErrno(res);
|
errno = FatfsErrno(res);
|
||||||
ret = LOS_NOK;
|
ret = (int)LOS_NOK;
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1118,32 +1118,32 @@ static int DoTruncate(struct File *file, off_t length, UINT32 count)
|
||||||
int FatfsTruncate(struct File *file, off_t length)
|
int FatfsTruncate(struct File *file, off_t length)
|
||||||
{
|
{
|
||||||
FRESULT res;
|
FRESULT res;
|
||||||
INT32 ret;
|
|
||||||
UINT count;
|
UINT count;
|
||||||
DWORD fclust;
|
DWORD fclust;
|
||||||
FIL *fp = (FIL *)file->fData;
|
FIL *fp = (FIL *)file->fData;
|
||||||
|
int ret;
|
||||||
|
|
||||||
if ((length < 0) || (length > UINT_MAX)) {
|
if ((length < 0) || (length > UINT_MAX)) {
|
||||||
errno = EINVAL;
|
errno = EINVAL;
|
||||||
return LOS_NOK;
|
return (int)LOS_NOK;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = FsLock();
|
ret = FsLock();
|
||||||
if (ret != 0) {
|
if (ret != 0) {
|
||||||
errno = ret;
|
errno = ret;
|
||||||
return LOS_NOK;
|
return (int)LOS_NOK;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((fp == NULL) || (fp->obj.fs == NULL)) {
|
if ((fp == NULL) || (fp->obj.fs == NULL)) {
|
||||||
errno = ENOENT;
|
errno = ENOENT;
|
||||||
ret = LOS_NOK;
|
ret = (int)LOS_NOK;
|
||||||
goto OUT;
|
goto OUT;
|
||||||
}
|
}
|
||||||
|
|
||||||
res = f_getclustinfo(fp, &fclust, &count);
|
res = f_getclustinfo(fp, &fclust, &count);
|
||||||
if (res != FR_OK) {
|
if (res != FR_OK) {
|
||||||
errno = FatfsErrno(res);
|
errno = FatfsErrno(res);
|
||||||
ret = LOS_NOK;
|
ret = (int)LOS_NOK;
|
||||||
goto OUT;
|
goto OUT;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1152,7 +1152,7 @@ int FatfsTruncate(struct File *file, off_t length)
|
||||||
goto OUT;
|
goto OUT;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = LOS_OK;
|
ret = (int)LOS_OK;
|
||||||
|
|
||||||
OUT:
|
OUT:
|
||||||
FsUnlock();
|
FsUnlock();
|
||||||
|
@ -1163,34 +1163,34 @@ int FatfsFdisk(const char *dev, int *partTbl, int arrayNum)
|
||||||
{
|
{
|
||||||
int pdrv;
|
int pdrv;
|
||||||
FRESULT res;
|
FRESULT res;
|
||||||
INT32 ret;
|
int ret;
|
||||||
|
|
||||||
if ((dev == NULL) || (partTbl == NULL)) {
|
if ((dev == NULL) || (partTbl == NULL)) {
|
||||||
errno = EFAULT;
|
errno = EFAULT;
|
||||||
return LOS_NOK;
|
return (int)LOS_NOK;
|
||||||
}
|
}
|
||||||
|
|
||||||
pdrv = GetDevIdByDevName(dev);
|
pdrv = GetDevIdByDevName(dev);
|
||||||
if (pdrv < 0) {
|
if (pdrv < 0) {
|
||||||
errno = EFAULT;
|
errno = EFAULT;
|
||||||
return LOS_NOK;
|
return (int)LOS_NOK;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = FsLock();
|
ret = FsLock();
|
||||||
if (ret != 0) {
|
if (ret != 0) {
|
||||||
errno = ret;
|
errno = ret;
|
||||||
ret = LOS_NOK;
|
ret = (int)LOS_NOK;
|
||||||
goto OUT;
|
goto OUT;
|
||||||
}
|
}
|
||||||
|
|
||||||
res = f_fdisk(pdrv, (DWORD const *)partTbl, g_workBuffer);
|
res = f_fdisk(pdrv, (DWORD const *)partTbl, g_workBuffer);
|
||||||
if (res != FR_OK) {
|
if (res != FR_OK) {
|
||||||
errno = FatfsErrno(res);
|
errno = FatfsErrno(res);
|
||||||
ret = LOS_NOK;
|
ret = (int)LOS_NOK;
|
||||||
goto OUT;
|
goto OUT;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = LOS_OK;
|
ret = (int)LOS_OK;
|
||||||
|
|
||||||
OUT:
|
OUT:
|
||||||
FsUnlock();
|
FsUnlock();
|
||||||
|
@ -1200,27 +1200,27 @@ OUT:
|
||||||
int FatfsFormat(const char *partName, void *privData)
|
int FatfsFormat(const char *partName, void *privData)
|
||||||
{
|
{
|
||||||
FRESULT res;
|
FRESULT res;
|
||||||
INT32 ret;
|
|
||||||
MKFS_PARM opt = {0};
|
MKFS_PARM opt = {0};
|
||||||
int option = *(int *)privData;
|
int option = *(int *)privData;
|
||||||
char *dev = NULL; /* logical driver */
|
char *dev = NULL; /* logical driver */
|
||||||
|
int ret;
|
||||||
|
|
||||||
if (partName == NULL) {
|
if (partName == NULL) {
|
||||||
errno = EFAULT;
|
errno = EFAULT;
|
||||||
return LOS_NOK;
|
return (int)LOS_NOK;
|
||||||
}
|
}
|
||||||
|
|
||||||
dev = GetLdPath(partName);
|
dev = GetLdPath(partName);
|
||||||
if (dev == NULL) {
|
if (dev == NULL) {
|
||||||
errno = EFAULT;
|
errno = EFAULT;
|
||||||
return LOS_NOK;
|
return (int)LOS_NOK;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = FsLock();
|
ret = FsLock();
|
||||||
if (ret != 0) {
|
if (ret != 0) {
|
||||||
errno = ret;
|
errno = ret;
|
||||||
PutLdPath(dev);
|
PutLdPath(dev);
|
||||||
return LOS_NOK;
|
return (int)LOS_NOK;
|
||||||
}
|
}
|
||||||
|
|
||||||
opt.fmt = option;
|
opt.fmt = option;
|
||||||
|
@ -1229,11 +1229,11 @@ int FatfsFormat(const char *partName, void *privData)
|
||||||
res = f_mkfs(dev, &opt, g_workBuffer, FF_MAX_SS);
|
res = f_mkfs(dev, &opt, g_workBuffer, FF_MAX_SS);
|
||||||
if (res != FR_OK) {
|
if (res != FR_OK) {
|
||||||
errno = FatfsErrno(res);
|
errno = FatfsErrno(res);
|
||||||
ret = LOS_NOK;
|
ret = (int)LOS_NOK;
|
||||||
goto OUT;
|
goto OUT;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = LOS_OK;
|
ret = (int)LOS_OK;
|
||||||
|
|
||||||
OUT:
|
OUT:
|
||||||
PutLdPath(dev);
|
PutLdPath(dev);
|
||||||
|
|
|
@ -129,7 +129,8 @@ STATIC BOOL OsPmTickTimerStop(LosPmCB *pm)
|
||||||
#endif
|
#endif
|
||||||
LosPmTickTimer *tickTimer = pm->tickTimer;
|
LosPmTickTimer *tickTimer = pm->tickTimer;
|
||||||
|
|
||||||
if ((tickTimer == NULL) || (tickTimer->tickLock == NULL)) {
|
if ((tickTimer == NULL) || (tickTimer->tickLock == NULL) ||
|
||||||
|
(pm->pmMode == LOS_SYS_NORMAL_SLEEP)) {
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -167,7 +168,6 @@ STATIC VOID OsPmCpuResume(LosPmCB *pm)
|
||||||
STATIC VOID OsPmCpuSuspend(LosPmCB *pm)
|
STATIC VOID OsPmCpuSuspend(LosPmCB *pm)
|
||||||
{
|
{
|
||||||
/* cpu enter low power mode */
|
/* cpu enter low power mode */
|
||||||
LOS_ASSERT(pm->sysctrl != NULL);
|
|
||||||
|
|
||||||
if (pm->sysMode == LOS_SYS_NORMAL_SLEEP) {
|
if (pm->sysMode == LOS_SYS_NORMAL_SLEEP) {
|
||||||
pm->sysctrl->normalSuspend();
|
pm->sysctrl->normalSuspend();
|
||||||
|
@ -226,6 +226,8 @@ STATIC UINT32 OsPmSuspendCheck(LosPmCB *pm, Suspend *sysSuspendEarly, Suspend *d
|
||||||
return LOS_NOK;
|
return LOS_NOK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
LOS_ASSERT(pm->sysctrl != NULL);
|
||||||
|
|
||||||
pm->isWake = FALSE;
|
pm->isWake = FALSE;
|
||||||
*mode = pm->sysMode;
|
*mode = pm->sysMode;
|
||||||
*sysSuspendEarly = pm->sysctrl->early;
|
*sysSuspendEarly = pm->sysctrl->early;
|
||||||
|
@ -260,6 +262,10 @@ STATIC UINT32 OsPmSuspendSleep(LosPmCB *pm)
|
||||||
goto EXIT;
|
goto EXIT;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (pm->sysctrl->suspendCheck != NULL) {
|
||||||
|
pm->sysctrl->suspendCheck(mode);
|
||||||
|
}
|
||||||
|
|
||||||
tickTimerStop = OsPmTickTimerStop(pm);
|
tickTimerStop = OsPmTickTimerStop(pm);
|
||||||
if (!tickTimerStop) {
|
if (!tickTimerStop) {
|
||||||
OsSchedResetSchedResponseTime(0);
|
OsSchedResetSchedResponseTime(0);
|
||||||
|
@ -283,6 +289,9 @@ EXIT:
|
||||||
|
|
||||||
STATIC VOID OsPmNormalSleep(VOID)
|
STATIC VOID OsPmNormalSleep(VOID)
|
||||||
{
|
{
|
||||||
|
#if (LOSCFG_KERNEL_PM_IDLE == 1)
|
||||||
|
(VOID)LOS_PmSuspend(0);
|
||||||
|
#else
|
||||||
UINT32 intSave;
|
UINT32 intSave;
|
||||||
LosPmCB *pm = &g_pmCB;
|
LosPmCB *pm = &g_pmCB;
|
||||||
|
|
||||||
|
@ -293,6 +302,7 @@ STATIC VOID OsPmNormalSleep(VOID)
|
||||||
OsPmCpuResume(pm);
|
OsPmCpuResume(pm);
|
||||||
|
|
||||||
LOS_IntRestore(intSave);
|
LOS_IntRestore(intSave);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
STATIC UINT32 OsPmDeviceRegister(LosPmCB *pm, LosPmDevice *device)
|
STATIC UINT32 OsPmDeviceRegister(LosPmCB *pm, LosPmDevice *device)
|
||||||
|
@ -343,6 +353,9 @@ STATIC UINT32 OsPmSysctrlRegister(LosPmCB *pm, LosPmSysctrl *sysctrl)
|
||||||
if (sysctrl->late != NULL) {
|
if (sysctrl->late != NULL) {
|
||||||
pm->sysctrl->late = sysctrl->late;
|
pm->sysctrl->late = sysctrl->late;
|
||||||
}
|
}
|
||||||
|
if (sysctrl->suspendCheck != NULL) {
|
||||||
|
pm->sysctrl->suspendCheck = sysctrl->suspendCheck;
|
||||||
|
}
|
||||||
if (sysctrl->normalSuspend != NULL) {
|
if (sysctrl->normalSuspend != NULL) {
|
||||||
pm->sysctrl->normalSuspend = sysctrl->normalSuspend;
|
pm->sysctrl->normalSuspend = sysctrl->normalSuspend;
|
||||||
}
|
}
|
||||||
|
|
|
@ -165,6 +165,8 @@ typedef struct {
|
||||||
* Unlocked task scheduling.
|
* Unlocked task scheduling.
|
||||||
*/
|
*/
|
||||||
VOID (*late)(UINT32 mode);
|
VOID (*late)(UINT32 mode);
|
||||||
|
/* Final check before low-power consumption. */
|
||||||
|
VOID (*suspendCheck)(UINT32 mode);
|
||||||
/* The system enters the Normal sleep mode.
|
/* The system enters the Normal sleep mode.
|
||||||
* In normal mode, the value cannot be NULL.
|
* In normal mode, the value cannot be NULL.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -43,6 +43,10 @@
|
||||||
#include "los_debugtools.h"
|
#include "los_debugtools.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if (LOSCFG_KERNEL_TRACE == 1)
|
||||||
|
#include "los_trace_pri.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
#define SHELL_INIT_MAGIC_FLAG 0xABABABAB
|
#define SHELL_INIT_MAGIC_FLAG 0xABABABAB
|
||||||
|
|
||||||
STATIC CmdModInfo cmdInfo;
|
STATIC CmdModInfo cmdInfo;
|
||||||
|
@ -75,6 +79,13 @@ CmdItem g_shellcmdAll[] = {
|
||||||
{CMD_TYPE_EX, "st", 1, (CmdCallBackFunc)OsShellCmdSchedTrace},
|
{CMD_TYPE_EX, "st", 1, (CmdCallBackFunc)OsShellCmdSchedTrace},
|
||||||
#endif
|
#endif
|
||||||
{CMD_TYPE_EX, "help", 0, (CmdCallBackFunc)OsShellCmdHelp},
|
{CMD_TYPE_EX, "help", 0, (CmdCallBackFunc)OsShellCmdHelp},
|
||||||
|
#if (LOSCFG_KERNEL_TRACE == 1)
|
||||||
|
{CMD_TYPE_EX, "trace_start", 0, (CmdCallBackFunc)LOS_TraceStart},
|
||||||
|
{CMD_TYPE_EX, "trace_stop", 0, (CmdCallBackFunc)LOS_TraceStop},
|
||||||
|
{CMD_TYPE_EX, "trace_mask", 1, (CmdCallBackFunc)OsShellCmdTraceSetMask},
|
||||||
|
{CMD_TYPE_EX, "trace_reset", 0, (CmdCallBackFunc)LOS_TraceReset},
|
||||||
|
{CMD_TYPE_EX, "trace_dump", 1, (CmdCallBackFunc)OsShellCmdTraceDump},
|
||||||
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
CmdModInfo *OsCmdInfoGet(VOID)
|
CmdModInfo *OsCmdInfoGet(VOID)
|
||||||
|
|
|
@ -64,3 +64,11 @@ kernel_module(module_name) {
|
||||||
include_dirs += [ "pipeline/serial" ]
|
include_dirs += [ "pipeline/serial" ]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
config("public") {
|
||||||
|
include_dirs = [
|
||||||
|
".",
|
||||||
|
"cnv",
|
||||||
|
"pipeline",
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
|
@ -411,12 +411,6 @@ LITE_OS_SEC_TEXT_MINOR UINT32 OsShellCmdTraceDump(INT32 argc, const CHAR **argv)
|
||||||
LOS_TraceRecordDump(toClient);
|
LOS_TraceRecordDump(toClient);
|
||||||
return LOS_OK;
|
return LOS_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
SHELLCMD_ENTRY(tracestart_shellcmd, CMD_TYPE_EX, "trace_start", 0, (CmdCallBackFunc)LOS_TraceStart);
|
|
||||||
SHELLCMD_ENTRY(tracestop_shellcmd, CMD_TYPE_EX, "trace_stop", 0, (CmdCallBackFunc)LOS_TraceStop);
|
|
||||||
SHELLCMD_ENTRY(tracesetmask_shellcmd, CMD_TYPE_EX, "trace_mask", 1, (CmdCallBackFunc)OsShellCmdTraceSetMask);
|
|
||||||
SHELLCMD_ENTRY(tracereset_shellcmd, CMD_TYPE_EX, "trace_reset", 0, (CmdCallBackFunc)LOS_TraceReset);
|
|
||||||
SHELLCMD_ENTRY(tracedump_shellcmd, CMD_TYPE_EX, "trace_dump", 1, (CmdCallBackFunc)OsShellCmdTraceDump);
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif /* LOSCFG_KERNEL_TRACE == 1 */
|
#endif /* LOSCFG_KERNEL_TRACE == 1 */
|
||||||
|
|
|
@ -152,6 +152,11 @@ extern VOID OsTraceRecordDump(BOOL toClient);
|
||||||
#define OsTraceNotifyStop()
|
#define OsTraceNotifyStop()
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if (LOSCFG_SHELL == 1)
|
||||||
|
extern UINT32 OsShellCmdTraceSetMask(INT32 argc, const CHAR **argv);
|
||||||
|
extern UINT32 OsShellCmdTraceDump(INT32 argc, const CHAR **argv);
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
#if __cplusplus
|
#if __cplusplus
|
||||||
}
|
}
|
||||||
|
|
|
@ -31,6 +31,8 @@
|
||||||
|
|
||||||
#include "los_trace_pri.h"
|
#include "los_trace_pri.h"
|
||||||
#include "trace_pipeline.h"
|
#include "trace_pipeline.h"
|
||||||
|
#include "los_memory.h"
|
||||||
|
#include "securec.h"
|
||||||
|
|
||||||
#if (LOSCFG_RECORDER_MODE_OFFLINE == 1)
|
#if (LOSCFG_RECORDER_MODE_OFFLINE == 1)
|
||||||
#define BITS_NUM_FOR_TASK_ID 16
|
#define BITS_NUM_FOR_TASK_ID 16
|
||||||
|
|
|
@ -663,6 +663,22 @@ extern UINT8 *m_aucSysMem0;
|
||||||
#define LOSCFG_KERNEL_SIGNAL 0
|
#define LOSCFG_KERNEL_SIGNAL 0
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup los_config
|
||||||
|
* Configuration item to enable kernel power module.
|
||||||
|
*/
|
||||||
|
#ifndef LOSCFG_KERNEL_PM
|
||||||
|
#define LOSCFG_KERNEL_PM 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup los_config
|
||||||
|
* Configuration item to enable kernel power module in idle task.
|
||||||
|
*/
|
||||||
|
#ifndef LOSCFG_KERNEL_PM_IDLE
|
||||||
|
#define LOSCFG_KERNEL_PM_IDLE 0
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
#if __cplusplus
|
#if __cplusplus
|
||||||
}
|
}
|
||||||
|
|
|
@ -81,18 +81,21 @@ EXIT:
|
||||||
return LOS_OK;
|
return LOS_OK;
|
||||||
};
|
};
|
||||||
|
|
||||||
/* set and get queue name test */
|
/**
|
||||||
|
* @tc.name: TestCmsis007
|
||||||
|
* @tc.desc: set and get queue name
|
||||||
|
* @tc.type: FUNC
|
||||||
|
* @tc.require: issueI5LBE8
|
||||||
|
*/
|
||||||
LITE_TEST_CASE(CmsisFuncTestSuite, TestCmsis007, Function | MediumTest | Level1)
|
LITE_TEST_CASE(CmsisFuncTestSuite, TestCmsis007, Function | MediumTest | Level1)
|
||||||
{
|
{
|
||||||
osMessageQueueId_t msgQueueId;
|
osMessageQueueId_t msgQueueId;
|
||||||
osMessageQueueAttr_t attr;
|
osMessageQueueAttr_t attr = {0};
|
||||||
CHAR staticBuff[STATCI_BUFF_SIZE] = {0};
|
CHAR staticBuff[STATCI_BUFF_SIZE] = {0};
|
||||||
CHAR strbuff[] = "hello world";
|
CHAR strbuff[] = "hello world";
|
||||||
CHAR *name = NULL;
|
CHAR *name = NULL;
|
||||||
INT32 ret;
|
INT32 ret;
|
||||||
|
|
||||||
memset(&attr, 0, sizeof(attr));
|
|
||||||
|
|
||||||
attr.name = "q1";
|
attr.name = "q1";
|
||||||
/* dynamic test */
|
/* dynamic test */
|
||||||
msgQueueId = osMessageQueueNew(1, strlen(strbuff), &attr);
|
msgQueueId = osMessageQueueNew(1, strlen(strbuff), &attr);
|
||||||
|
@ -179,11 +182,9 @@ static VOID CmsisQueueTestThread2(VOID)
|
||||||
|
|
||||||
static INT32 ThreadReadWriteTest(VOID)
|
static INT32 ThreadReadWriteTest(VOID)
|
||||||
{
|
{
|
||||||
osMessageQueueAttr_t attr;
|
osMessageQueueAttr_t attr = {0};
|
||||||
INT32 ret;
|
INT32 ret;
|
||||||
|
|
||||||
memset(&attr, 0, sizeof(attr));
|
|
||||||
|
|
||||||
g_msgQueueId1 = osMessageQueueNew(1, strlen(g_strbuff1), NULL);
|
g_msgQueueId1 = osMessageQueueNew(1, strlen(g_strbuff1), NULL);
|
||||||
ICUNIT_ASSERT_NOT_EQUAL(g_msgQueueId1, NULL, g_msgQueueId1);
|
ICUNIT_ASSERT_NOT_EQUAL(g_msgQueueId1, NULL, g_msgQueueId1);
|
||||||
|
|
||||||
|
@ -212,7 +213,12 @@ static INT32 ThreadReadWriteTest(VOID)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* mix read write */
|
/**
|
||||||
|
* @tc.name: TestCmsis006
|
||||||
|
* @tc.desc: mix read write
|
||||||
|
* @tc.type: FUNC
|
||||||
|
* @tc.require: issueI5LBE8
|
||||||
|
*/
|
||||||
LITE_TEST_CASE(CmsisFuncTestSuite, TestCmsis006, Function | MediumTest | Level1)
|
LITE_TEST_CASE(CmsisFuncTestSuite, TestCmsis006, Function | MediumTest | Level1)
|
||||||
{
|
{
|
||||||
INT32 ret;
|
INT32 ret;
|
||||||
|
@ -224,18 +230,21 @@ LITE_TEST_CASE(CmsisFuncTestSuite, TestCmsis006, Function | MediumTest | Level1)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* read-write exception */
|
/**
|
||||||
|
* @tc.name: TestCmsis005
|
||||||
|
* @tc.desc: read-write exception
|
||||||
|
* @tc.type: FUNC
|
||||||
|
* @tc.require: issueI5LBE8
|
||||||
|
*/
|
||||||
LITE_TEST_CASE(CmsisFuncTestSuite, TestCmsis005, Function | MediumTest | Level1)
|
LITE_TEST_CASE(CmsisFuncTestSuite, TestCmsis005, Function | MediumTest | Level1)
|
||||||
{
|
{
|
||||||
osMessageQueueId_t msgQueueId;
|
osMessageQueueId_t msgQueueId;
|
||||||
osMessageQueueAttr_t attr;
|
osMessageQueueAttr_t attr = {0};
|
||||||
CHAR staticBuff[STATCI_BUFF_SIZE] = {0};
|
CHAR staticBuff[STATCI_BUFF_SIZE] = {0};
|
||||||
CHAR strbuff[] = "hello world";
|
CHAR strbuff[] = "hello world";
|
||||||
CHAR data[STATCI_BUFF_SIZE] = {0};
|
CHAR data[STATCI_BUFF_SIZE] = {0};
|
||||||
INT32 ret;
|
INT32 ret;
|
||||||
|
|
||||||
memset(&attr, 0, sizeof(attr));
|
|
||||||
|
|
||||||
ret = osMessageQueuePut(NULL, &strbuff, 0U, 0U);
|
ret = osMessageQueuePut(NULL, &strbuff, 0U, 0U);
|
||||||
ICUNIT_ASSERT_EQUAL(ret, osErrorParameter, ret);
|
ICUNIT_ASSERT_EQUAL(ret, osErrorParameter, ret);
|
||||||
|
|
||||||
|
@ -293,18 +302,21 @@ EXIT:
|
||||||
return LOS_OK;
|
return LOS_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* read write test */
|
/**
|
||||||
|
* @tc.name: TestCmsis004
|
||||||
|
* @tc.desc: read write test
|
||||||
|
* @tc.type: FUNC
|
||||||
|
* @tc.require: issueI5LBE8
|
||||||
|
*/
|
||||||
LITE_TEST_CASE(CmsisFuncTestSuite, TestCmsis004, Function | MediumTest | Level1)
|
LITE_TEST_CASE(CmsisFuncTestSuite, TestCmsis004, Function | MediumTest | Level1)
|
||||||
{
|
{
|
||||||
osMessageQueueId_t msgQueueId;
|
osMessageQueueId_t msgQueueId;
|
||||||
osMessageQueueAttr_t attr;
|
osMessageQueueAttr_t attr = {0};
|
||||||
CHAR staticBuff[STATCI_BUFF_SIZE] = {0};
|
CHAR staticBuff[STATCI_BUFF_SIZE] = {0};
|
||||||
CHAR strbuff[] = "hello world";
|
CHAR strbuff[] = "hello world";
|
||||||
CHAR data[STATCI_BUFF_SIZE] = {0};
|
CHAR data[STATCI_BUFF_SIZE] = {0};
|
||||||
INT32 ret;
|
INT32 ret;
|
||||||
|
|
||||||
memset(&attr, 0, sizeof(attr));
|
|
||||||
|
|
||||||
/* dynamic test */
|
/* dynamic test */
|
||||||
msgQueueId = osMessageQueueNew(1, strlen(strbuff), NULL);
|
msgQueueId = osMessageQueueNew(1, strlen(strbuff), NULL);
|
||||||
ICUNIT_ASSERT_NOT_EQUAL(msgQueueId, NULL, msgQueueId);
|
ICUNIT_ASSERT_NOT_EQUAL(msgQueueId, NULL, msgQueueId);
|
||||||
|
@ -352,16 +364,19 @@ EXIT:
|
||||||
return LOS_OK;
|
return LOS_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* create exception parameters test */
|
/**
|
||||||
|
* @tc.name: TestCmsis003
|
||||||
|
* @tc.desc: create exception parameters test
|
||||||
|
* @tc.type: FUNC
|
||||||
|
* @tc.require: issueI5LBE8
|
||||||
|
*/
|
||||||
LITE_TEST_CASE(CmsisFuncTestSuite, TestCmsis003, Function | MediumTest | Level1)
|
LITE_TEST_CASE(CmsisFuncTestSuite, TestCmsis003, Function | MediumTest | Level1)
|
||||||
{
|
{
|
||||||
osMessageQueueId_t msgQueueId;
|
osMessageQueueId_t msgQueueId;
|
||||||
osMessageQueueAttr_t attr;
|
osMessageQueueAttr_t attr = {0};
|
||||||
CHAR staticBuff[STATCI_BUFF_SIZE] = {0};
|
CHAR staticBuff[STATCI_BUFF_SIZE] = {0};
|
||||||
CHAR strbuff[] = "hello world";
|
CHAR strbuff[] = "hello world";
|
||||||
|
|
||||||
memset(&attr, 0, sizeof(attr));
|
|
||||||
|
|
||||||
/* dynmic test */
|
/* dynmic test */
|
||||||
msgQueueId = osMessageQueueNew(0, strlen(strbuff), NULL);
|
msgQueueId = osMessageQueueNew(0, strlen(strbuff), NULL);
|
||||||
ICUNIT_ASSERT_EQUAL(msgQueueId, NULL, msgQueueId);
|
ICUNIT_ASSERT_EQUAL(msgQueueId, NULL, msgQueueId);
|
||||||
|
@ -393,17 +408,20 @@ LITE_TEST_CASE(CmsisFuncTestSuite, TestCmsis003, Function | MediumTest | Level1)
|
||||||
return LOS_OK;
|
return LOS_OK;
|
||||||
};
|
};
|
||||||
|
|
||||||
/* create and delete test */
|
/**
|
||||||
|
* @tc.name: TestCmsis002
|
||||||
|
* @tc.desc: create and delete test
|
||||||
|
* @tc.type: FUNC
|
||||||
|
* @tc.require: issueI5LBE8
|
||||||
|
*/
|
||||||
LITE_TEST_CASE(CmsisFuncTestSuite, TestCmsis002, Function | MediumTest | Level1)
|
LITE_TEST_CASE(CmsisFuncTestSuite, TestCmsis002, Function | MediumTest | Level1)
|
||||||
{
|
{
|
||||||
osMessageQueueId_t msgQueueId;
|
osMessageQueueId_t msgQueueId;
|
||||||
osMessageQueueAttr_t attr;
|
osMessageQueueAttr_t attr = {0};
|
||||||
CHAR staticBuff[STATCI_BUFF_SIZE] = {0};
|
CHAR staticBuff[STATCI_BUFF_SIZE] = {0};
|
||||||
CHAR strbuff[] = "hello world";
|
CHAR strbuff[] = "hello world";
|
||||||
INT32 ret;
|
INT32 ret;
|
||||||
|
|
||||||
memset(&attr, 0, sizeof(attr));
|
|
||||||
|
|
||||||
/* dynamic test */
|
/* dynamic test */
|
||||||
msgQueueId = osMessageQueueNew(1, strlen(strbuff), NULL);
|
msgQueueId = osMessageQueueNew(1, strlen(strbuff), NULL);
|
||||||
ICUNIT_ASSERT_NOT_EQUAL(msgQueueId, NULL, msgQueueId);
|
ICUNIT_ASSERT_NOT_EQUAL(msgQueueId, NULL, msgQueueId);
|
||||||
|
|
|
@ -55,8 +55,10 @@ static UINT32 TestCase(VOID)
|
||||||
g_testAtomicID05 = 0;
|
g_testAtomicID05 = 0;
|
||||||
|
|
||||||
for (i = 0; i < ATOMIC_MUTI_TASK_NUM; i++) {
|
for (i = 0; i < ATOMIC_MUTI_TASK_NUM; i++) {
|
||||||
memset(buf, 0, 10); // max buf size is 10.
|
ret = memset_s(buf, 10, 0, 10); // max buf size is 10.
|
||||||
memset(taskName[i], 0, 20); // max taskName size is 20.
|
ICUNIT_ASSERT_EQUAL(ret, 0, ret);
|
||||||
|
ret = memset_s(taskName[i], 20, 0, 20); // max taskName size is 20.
|
||||||
|
ICUNIT_ASSERT_EQUAL(ret, 0, ret);
|
||||||
|
|
||||||
task[i].pfnTaskEntry = (TSK_ENTRY_FUNC)TaskF01;
|
task[i].pfnTaskEntry = (TSK_ENTRY_FUNC)TaskF01;
|
||||||
task[i].pcName = taskName[i];
|
task[i].pcName = taskName[i];
|
||||||
|
|
|
@ -56,9 +56,10 @@ static UINT32 TestCase(VOID)
|
||||||
g_testAtomicID05 = 0;
|
g_testAtomicID05 = 0;
|
||||||
|
|
||||||
for (i = 0; i < ATOMIC_MUTI_TASK_NUM; i++) {
|
for (i = 0; i < ATOMIC_MUTI_TASK_NUM; i++) {
|
||||||
memset(buf, 0, 10); // max buf size is 10.
|
ret = memset_s(buf, 10, 0, 10); // max buf size is 10.
|
||||||
memset(taskName[i], 0, 20); // max taskName size is 20.
|
ICUNIT_ASSERT_EQUAL(ret, 0, ret);
|
||||||
|
ret = memset_s(taskName[i], 20, 0, 20); // max taskName size is 20.
|
||||||
|
ICUNIT_ASSERT_EQUAL(ret, 0, ret);
|
||||||
task[i].pfnTaskEntry = (TSK_ENTRY_FUNC)TaskF01;
|
task[i].pfnTaskEntry = (TSK_ENTRY_FUNC)TaskF01;
|
||||||
task[i].pcName = taskName[i];
|
task[i].pcName = taskName[i];
|
||||||
task[i].uwStackSize = LOSCFG_BASE_CORE_TSK_DEFAULT_STACK_SIZE;
|
task[i].uwStackSize = LOSCFG_BASE_CORE_TSK_DEFAULT_STACK_SIZE;
|
||||||
|
|
|
@ -71,8 +71,10 @@ static UINT32 TestCase(VOID)
|
||||||
}
|
}
|
||||||
|
|
||||||
for (i = 0; i < uLoop; i++) {
|
for (i = 0; i < uLoop; i++) {
|
||||||
memset(buf, 0, 10); // max buf size is 10.
|
ret = memset_s(buf, 10, 0, 10); // max buf size is 10.
|
||||||
memset(taskName[i], 0, 20); // max taskName size is 20.
|
ICUNIT_ASSERT_EQUAL(ret, 0, ret);
|
||||||
|
ret = memset_s(taskName[i], 20, 0, 20); // max taskName size is 20.
|
||||||
|
ICUNIT_ASSERT_EQUAL(ret, 0, ret);
|
||||||
|
|
||||||
if (i % 2 == 0) { // 2 is index.
|
if (i % 2 == 0) { // 2 is index.
|
||||||
uCount++;
|
uCount++;
|
||||||
|
|
|
@ -40,7 +40,7 @@ static UINT32 TestCase(VOID)
|
||||||
src = LOS_MemAlloc(m_aucSysMem0, 9);
|
src = LOS_MemAlloc(m_aucSysMem0, 9);
|
||||||
ICUNIT_ASSERT_NOT_EQUAL(src, NULL, src);
|
ICUNIT_ASSERT_NOT_EQUAL(src, NULL, src);
|
||||||
|
|
||||||
(VOID)memset(src, 0, 9);
|
(void)memset_s(src, 9, 0, 9);
|
||||||
src[0] = 49;
|
src[0] = 49;
|
||||||
src[1] = 50;
|
src[1] = 50;
|
||||||
src[2] = 51;
|
src[2] = 51;
|
||||||
|
|
|
@ -40,7 +40,7 @@ static UINT32 TestCase(VOID)
|
||||||
src = LOS_MemAlloc(m_aucSysMem0, 9);
|
src = LOS_MemAlloc(m_aucSysMem0, 9);
|
||||||
ICUNIT_ASSERT_NOT_EQUAL(src, NULL, src);
|
ICUNIT_ASSERT_NOT_EQUAL(src, NULL, src);
|
||||||
|
|
||||||
(VOID)memset(src, 0, 9);
|
(void)memset_s(src, 9, 0, 9);
|
||||||
src[0] = 49;
|
src[0] = 49;
|
||||||
src[1] = 50;
|
src[1] = 50;
|
||||||
src[2] = 51;
|
src[2] = 51;
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
#
|
#
|
||||||
# Copyright (c) 2020 Huawei Device Co., Ltd.
|
# Copyright (c) 2020-2022 Huawei Device Co., Ltd.
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
# you may not use this file except in compliance with the License.
|
# you may not use this file except in compliance with the License.
|
||||||
# You may obtain a copy of the License at
|
# You may obtain a copy of the License at
|
||||||
|
@ -79,7 +79,6 @@ def store_static_excel():
|
||||||
|
|
||||||
def format_store_static():
|
def format_store_static():
|
||||||
global g_excel_support
|
global g_excel_support
|
||||||
out_fd = open("./static_symbol_out.txt", "w+")
|
|
||||||
target_list = []
|
target_list = []
|
||||||
|
|
||||||
for base_address, values in static_map.items():
|
for base_address, values in static_map.items():
|
||||||
|
@ -89,8 +88,9 @@ def format_store_static():
|
||||||
target_list.append('{:<10}'.format(values.get('sizeD')))
|
target_list.append('{:<10}'.format(values.get('sizeD')))
|
||||||
target_list.append('{:<55s}{:<55s}{:<55s}'.format(values.get('symbol'), values.get('lib'), values.get('obj')))
|
target_list.append('{:<55s}{:<55s}{:<55s}'.format(values.get('symbol'), values.get('lib'), values.get('obj')))
|
||||||
target_list.append("\r")
|
target_list.append("\r")
|
||||||
|
|
||||||
out_fd.write("".join(target_list))
|
with open("./static_symbol_out.txt", "w+") as out_fd:
|
||||||
|
out_fd.write("".join(target_list))
|
||||||
if g_excel_support == True:
|
if g_excel_support == True:
|
||||||
store_static_excel()
|
store_static_excel()
|
||||||
return
|
return
|
||||||
|
@ -126,13 +126,13 @@ def store_dync_excel():
|
||||||
c.value = values.get('symbol')
|
c.value = values.get('symbol')
|
||||||
for i in range(values.get('lib')):
|
for i in range(values.get('lib')):
|
||||||
column = i * 3 + 2
|
column = i * 3 + 2
|
||||||
addr_name = 'LR' + str(i) + '_addr'
|
addr_name = "LR%s_addr" % (str(i))
|
||||||
c = ws.cell(row, column + 1)
|
c = ws.cell(row, column + 1)
|
||||||
c.value = addr_name
|
c.value = addr_name
|
||||||
symbol_name = 'LR' + str(i) + '_symbol'
|
symbol_name = "LR%s_symbol" % (str(i))
|
||||||
c = ws.cell(row, column + 2)
|
c = ws.cell(row, column + 2)
|
||||||
c.value = symbol_name
|
c.value = symbol_name
|
||||||
object_name = 'LR' + str(i) + '_object'
|
object_name = "LR%s_object" % (str(i))
|
||||||
c = ws.cell(row, column + 3)
|
c = ws.cell(row, column + 3)
|
||||||
c.value = object_name
|
c.value = object_name
|
||||||
else:
|
else:
|
||||||
|
@ -157,16 +157,15 @@ def store_dync_excel():
|
||||||
|
|
||||||
def format_store_dync():
|
def format_store_dync():
|
||||||
global g_excel_support
|
global g_excel_support
|
||||||
out_fd = open("./dynamic_memory_out.txt", "w+")
|
|
||||||
target_list = []
|
target_list = []
|
||||||
|
|
||||||
for base_address, values in dync_map.items():
|
for base_address, values in dync_map.items():
|
||||||
if (0 == base_address):
|
if (0 == base_address):
|
||||||
target_list.append('{:<15s}{:<15s}'.format("node", "size"))
|
target_list.append('{:<15s}{:<15s}'.format("node", "size"))
|
||||||
for i in range(values.get('lib')):
|
for i in range(values.get('lib')):
|
||||||
addr_name = 'LR' + str(i) + '_addr'
|
addr_name = "LR%s_addr" % (str(i))
|
||||||
symbol_name = 'LR' + str(i) + '_symbol'
|
symbol_name = "LR%s_symbol" % (str(i))
|
||||||
object_name = 'LR' + str(i) + '_object'
|
object_name = "LR%s_object" % (str(i))
|
||||||
target_list.append('{:<15s}{:<55s}{:<55s}'.format(addr_name, symbol_name, object_name))
|
target_list.append('{:<15s}{:<55s}{:<55s}'.format(addr_name, symbol_name, object_name))
|
||||||
|
|
||||||
else:
|
else:
|
||||||
|
@ -177,8 +176,9 @@ def format_store_dync():
|
||||||
target_list.append('{:<15s}'.format(values.get('addr')))
|
target_list.append('{:<15s}'.format(values.get('addr')))
|
||||||
target_list.append('{:<55s}'.format(values.get('symbol')))
|
target_list.append('{:<55s}'.format(values.get('symbol')))
|
||||||
target_list.append('{:<55s}'.format(values.get('lib')))
|
target_list.append('{:<55s}'.format(values.get('lib')))
|
||||||
|
|
||||||
out_fd.write("".join(target_list))
|
with open("./dynamic_memory_out.txt", "w+") as out_fd:
|
||||||
|
out_fd.write("".join(target_list))
|
||||||
if g_excel_support == True:
|
if g_excel_support == True:
|
||||||
store_dync_excel()
|
store_dync_excel()
|
||||||
return
|
return
|
||||||
|
|
Loading…
Reference in New Issue