support stm8

1. see: TencentOS-tiny\board\STM8L052R8T6\IAR\hello_world
2. compile/debug/run with IAR for STM8
This commit is contained in:
daishengdong
2020-02-15 16:39:00 +08:00
parent 59e403891a
commit 405e5d970a
169 changed files with 49472 additions and 550 deletions

View File

@@ -90,19 +90,19 @@ typedef struct vfs_file_st {
void *private; /*< usually used to hook the real file struct of the certain filesystem */
} vfs_file_t;
__KERNEL__ vfs_file_t *vfs_fd2file(int fd);
__KNL__ vfs_file_t *vfs_fd2file(int fd);
__KERNEL__ int vfs_file2fd(vfs_file_t *file);
__KNL__ int vfs_file2fd(vfs_file_t *file);
__KERNEL__ vfs_file_t *vfs_file_alloc(void);
__KNL__ vfs_file_t *vfs_file_alloc(void);
__KERNEL__ void vfs_file_free(vfs_file_t *file);
__KNL__ void vfs_file_free(vfs_file_t *file);
__KERNEL__ vfs_file_t *vfs_file_dup(vfs_file_t *file);
__KNL__ vfs_file_t *vfs_file_dup(vfs_file_t *file);
__KERNEL__ vfs_dir_t *vfs_dir_alloc(void);
__KNL__ vfs_dir_t *vfs_dir_alloc(void);
__KERNEL__ void vfs_dir_free(vfs_dir_t *dir);
__KNL__ void vfs_dir_free(vfs_dir_t *dir);
#endif

View File

@@ -41,17 +41,17 @@ typedef struct vfs_inode_st {
#define VFS_INODE_SIZE(name_len) (sizeof(vfs_inode_t) + name_len)
__KERNEL__ int vfs_inode_is_busy(vfs_inode_t *inode);
__KNL__ int vfs_inode_is_busy(vfs_inode_t *inode);
__KERNEL__ void vfs_inode_refinc(vfs_inode_t *inode);
__KNL__ void vfs_inode_refinc(vfs_inode_t *inode);
__KERNEL__ vfs_inode_t *vfs_inode_find(const char *path, const char **relative_path);
__KNL__ vfs_inode_t *vfs_inode_find(const char *path, const char **relative_path);
__KERNEL__ vfs_inode_t *vfs_inode_alloc(const char *name);
__KNL__ vfs_inode_t *vfs_inode_alloc(const char *name);
__KERNEL__ void vfs_inode_free(vfs_inode_t *inode);
__KNL__ void vfs_inode_free(vfs_inode_t *inode);
__KERNEL__ void vfs_inode_release(vfs_inode_t *inode);
__KNL__ void vfs_inode_release(vfs_inode_t *inode);
#endif

View File

@@ -4,7 +4,7 @@
__STATIC__ vfs_file_t vfs_file_pool[VFS_FILE_OPEN_MAX] = { { K_NULL, 0 } };
__KERNEL__ vfs_file_t *vfs_fd2file(int fd)
__KNL__ vfs_file_t *vfs_fd2file(int fd)
{
if (unlikely(fd < 0 || fd >= VFS_FILE_OPEN_MAX)) {
return K_NULL;
@@ -12,7 +12,7 @@ __KERNEL__ vfs_file_t *vfs_fd2file(int fd)
return &vfs_file_pool[fd];
}
__KERNEL__ int vfs_file2fd(vfs_file_t *file)
__KNL__ int vfs_file2fd(vfs_file_t *file)
{
if (unlikely((cpu_addr_t)file < (cpu_addr_t)&vfs_file_pool[0] ||
(cpu_addr_t)file > (cpu_addr_t)&vfs_file_pool[VFS_FILE_OPEN_MAX - 1])) {
@@ -22,7 +22,7 @@ __KERNEL__ int vfs_file2fd(vfs_file_t *file)
return (cpu_addr_t)file - (cpu_addr_t)&vfs_file_pool[0];
}
__KERNEL__ vfs_file_t *vfs_file_alloc(void)
__KNL__ vfs_file_t *vfs_file_alloc(void)
{
int i = 0;
vfs_file_t *file = K_NULL;
@@ -36,7 +36,7 @@ __KERNEL__ vfs_file_t *vfs_file_alloc(void)
return K_NULL;
}
__KERNEL__ void vfs_file_free(vfs_file_t *file)
__KNL__ void vfs_file_free(vfs_file_t *file)
{
if (vfs_file2fd(file) < 0) {
return;
@@ -46,7 +46,7 @@ __KERNEL__ void vfs_file_free(vfs_file_t *file)
file->pos = 0;
}
__KERNEL__ vfs_file_t *vfs_file_dup(vfs_file_t *old_file)
__KNL__ vfs_file_t *vfs_file_dup(vfs_file_t *old_file)
{
vfs_file_t *new_file = K_NULL;
@@ -65,12 +65,12 @@ __KERNEL__ vfs_file_t *vfs_file_dup(vfs_file_t *old_file)
return new_file;
}
__KERNEL__ vfs_dir_t *vfs_dir_alloc(void)
__KNL__ vfs_dir_t *vfs_dir_alloc(void)
{
return (vfs_dir_t *)tos_mmheap_calloc(1, sizeof(vfs_dir_t));
}
__KERNEL__ void vfs_dir_free(vfs_dir_t *dir)
__KNL__ void vfs_dir_free(vfs_dir_t *dir)
{
tos_mmheap_free(dir);
}

View File

@@ -87,20 +87,20 @@ __STATIC__ vfs_inode_t *vfs_inode_create(const char *name, int name_len)
return inode;
}
__KERNEL__ void vfs_inode_free(vfs_inode_t *inode)
__KNL__ void vfs_inode_free(vfs_inode_t *inode)
{
tos_list_del(&inode->list);
tos_mmheap_free((void *)inode);
}
__KERNEL__ void vfs_inode_refinc(vfs_inode_t *inode)
__KNL__ void vfs_inode_refinc(vfs_inode_t *inode)
{
if (inode->refs < VFS_INODE_REFS_MAX) {
++inode->refs;
}
}
__KERNEL__ vfs_inode_t *vfs_inode_find(const char *path, const char **relative_path)
__KNL__ vfs_inode_t *vfs_inode_find(const char *path, const char **relative_path)
{
vfs_inode_t *inode = K_NULL;
@@ -114,12 +114,12 @@ __KERNEL__ vfs_inode_t *vfs_inode_find(const char *path, const char **relative_p
return inode;
}
__KERNEL__ int vfs_inode_is_busy(vfs_inode_t *inode)
__KNL__ int vfs_inode_is_busy(vfs_inode_t *inode)
{
return inode->refs > 0;
}
__KERNEL__ vfs_inode_t *vfs_inode_alloc(const char *name)
__KNL__ vfs_inode_t *vfs_inode_alloc(const char *name)
{
int name_len;
vfs_inode_t *inode = K_NULL;
@@ -150,7 +150,7 @@ __STATIC__ void vfs_inode_refdec(vfs_inode_t *inode)
}
}
__KERNEL__ void vfs_inode_release(vfs_inode_t *inode)
__KNL__ void vfs_inode_release(vfs_inode_t *inode)
{
vfs_inode_refdec(inode);