support stm8
1. see: TencentOS-tiny\board\STM8L052R8T6\IAR\hello_world 2. compile/debug/run with IAR for STM8
This commit is contained in:
@@ -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
|
||||
|
||||
|
@@ -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
|
||||
|
||||
|
@@ -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);
|
||||
}
|
||||
|
@@ -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);
|
||||
|
||||
|
@@ -33,13 +33,13 @@ typedef struct shell_command_set_st {
|
||||
const shell_cmd_t *const commands;
|
||||
} shell_cmd_set_t;
|
||||
|
||||
__KERNEL__ int shell_cmd_set_regiser(const shell_cmd_set_t *cmd_set);
|
||||
__KNL__ int shell_cmd_set_regiser(const shell_cmd_set_t *cmd_set);
|
||||
|
||||
__KERNEL__ int shell_cmd_set_unregiser(const shell_cmd_set_t *cmd_set);
|
||||
__KNL__ int shell_cmd_set_unregiser(const shell_cmd_set_t *cmd_set);
|
||||
|
||||
__KERNEL__ const shell_cmd_t *shell_cmd_find(const char *name);
|
||||
__KNL__ const shell_cmd_t *shell_cmd_find(const char *name);
|
||||
|
||||
__KERNEL__ void shell_cmd_init(shell_cmd_set_t *custom_cmd_set);
|
||||
__KNL__ void shell_cmd_init(shell_cmd_set_t *custom_cmd_set);
|
||||
|
||||
#endif /* _TOS_SHELL_COMMAND_H_ */
|
||||
|
||||
|
@@ -52,7 +52,7 @@ __STATIC__ shell_cmd_set_t buildin_shell_cmd_set = {
|
||||
.commands = builtin_shell_cmds,
|
||||
};
|
||||
|
||||
__KERNEL__ int shell_cmd_set_regiser(const shell_cmd_set_t *cmd_set)
|
||||
__KNL__ int shell_cmd_set_regiser(const shell_cmd_set_t *cmd_set)
|
||||
{
|
||||
if (tos_slist_contains((k_slist_t *)&cmd_set->list, &cmd_set_list)) {
|
||||
return -1;
|
||||
@@ -62,7 +62,7 @@ __KERNEL__ int shell_cmd_set_regiser(const shell_cmd_set_t *cmd_set)
|
||||
return 0;
|
||||
}
|
||||
|
||||
__KERNEL__ int shell_cmd_set_unregiser(const shell_cmd_set_t *cmd_set)
|
||||
__KNL__ int shell_cmd_set_unregiser(const shell_cmd_set_t *cmd_set)
|
||||
{
|
||||
if (!tos_slist_contains((k_slist_t *)&cmd_set->list, &cmd_set_list)) {
|
||||
return -1;
|
||||
@@ -72,7 +72,7 @@ __KERNEL__ int shell_cmd_set_unregiser(const shell_cmd_set_t *cmd_set)
|
||||
return 0;
|
||||
}
|
||||
|
||||
__KERNEL__ const shell_cmd_t *shell_cmd_find(const char *name)
|
||||
__KNL__ const shell_cmd_t *shell_cmd_find(const char *name)
|
||||
{
|
||||
const shell_cmd_t *cmd;
|
||||
const shell_cmd_set_t *cmd_set;
|
||||
@@ -88,7 +88,7 @@ __KERNEL__ const shell_cmd_t *shell_cmd_find(const char *name)
|
||||
return K_NULL;
|
||||
}
|
||||
|
||||
__KERNEL__ void shell_cmd_init(shell_cmd_set_t *custom_cmd_set)
|
||||
__KNL__ void shell_cmd_init(shell_cmd_set_t *custom_cmd_set)
|
||||
{
|
||||
tos_slist_init(&cmd_set_list);
|
||||
|
||||
|
Reference in New Issue
Block a user