import RT-Thread@9217865c without bsp, libcpu and components/net
This commit is contained in:
commit
e2376a3709
1414 changed files with 390370 additions and 0 deletions
121
components/fal/inc/fal_def.h
Normal file
121
components/fal/inc/fal_def.h
Normal file
|
@ -0,0 +1,121 @@
|
|||
/*
|
||||
* Copyright (c) 2006-2018, RT-Thread Development Team
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*
|
||||
* Change Logs:
|
||||
* Date Author Notes
|
||||
* 2018-05-17 armink the first version
|
||||
*/
|
||||
|
||||
#ifndef _FAL_DEF_H_
|
||||
#define _FAL_DEF_H_
|
||||
|
||||
#include <stdint.h>
|
||||
#include <stdio.h>
|
||||
#include <rtthread.h>
|
||||
|
||||
#define FAL_PRINTF rt_kprintf
|
||||
#define FAL_MALLOC rt_malloc
|
||||
#define FAL_CALLOC rt_calloc
|
||||
#define FAL_REALLOC rt_realloc
|
||||
#define FAL_FREE rt_free
|
||||
|
||||
#ifndef FAL_DEBUG
|
||||
#define FAL_DEBUG 0
|
||||
#endif
|
||||
|
||||
#if FAL_DEBUG
|
||||
#ifdef assert
|
||||
#undef assert
|
||||
#endif
|
||||
#define assert(EXPR) \
|
||||
if (!(EXPR)) \
|
||||
{ \
|
||||
FAL_PRINTF("(%s) has assert failed at %s.\n", #EXPR, __FUNCTION__); \
|
||||
while (1); \
|
||||
}
|
||||
|
||||
/* debug level log */
|
||||
#ifdef log_d
|
||||
#undef log_d
|
||||
#endif
|
||||
#define log_d(...) FAL_PRINTF("[D/FAL] (%s:%d) ", __FUNCTION__, __LINE__); FAL_PRINTF(__VA_ARGS__);FAL_PRINTF("\n")
|
||||
|
||||
#else
|
||||
|
||||
#ifdef assert
|
||||
#undef assert
|
||||
#endif
|
||||
#define assert(EXPR) ((void)0);
|
||||
|
||||
/* debug level log */
|
||||
#ifdef log_d
|
||||
#undef log_d
|
||||
#endif
|
||||
#define log_d(...)
|
||||
#endif /* FAL_DEBUG */
|
||||
|
||||
/* error level log */
|
||||
#ifdef log_e
|
||||
#undef log_e
|
||||
#endif
|
||||
#define log_e(...) FAL_PRINTF("\033[31;22m[E/FAL] (%s:%d) ", __FUNCTION__, __LINE__);FAL_PRINTF(__VA_ARGS__);FAL_PRINTF("\033[0m\n")
|
||||
|
||||
/* info level log */
|
||||
#ifdef log_i
|
||||
#undef log_i
|
||||
#endif
|
||||
#define log_i(...) FAL_PRINTF("\033[32;22m[I/FAL] "); FAL_PRINTF(__VA_ARGS__);FAL_PRINTF("\033[0m\n")
|
||||
|
||||
/* FAL flash and partition device name max length */
|
||||
#ifndef FAL_DEV_NAME_MAX
|
||||
#define FAL_DEV_NAME_MAX 24
|
||||
#endif
|
||||
|
||||
struct fal_flash_dev
|
||||
{
|
||||
char name[FAL_DEV_NAME_MAX];
|
||||
|
||||
/* flash device start address and len */
|
||||
uint32_t addr;
|
||||
size_t len;
|
||||
/* the block size in the flash for erase minimum granularity */
|
||||
size_t blk_size;
|
||||
|
||||
struct
|
||||
{
|
||||
int (*init)(void);
|
||||
int (*read)(long offset, uint8_t *buf, size_t size);
|
||||
int (*write)(long offset, const uint8_t *buf, size_t size);
|
||||
int (*erase)(long offset, size_t size);
|
||||
} ops;
|
||||
|
||||
/* write minimum granularity, unit: bit.
|
||||
1(nor flash)/ 8(stm32f2/f4)/ 32(stm32f1)/ 64(stm32l4)
|
||||
0 will not take effect. */
|
||||
size_t write_gran;
|
||||
};
|
||||
typedef struct fal_flash_dev *fal_flash_dev_t;
|
||||
|
||||
/**
|
||||
* FAL partition
|
||||
*/
|
||||
struct fal_partition
|
||||
{
|
||||
uint32_t magic_word;
|
||||
|
||||
/* partition name */
|
||||
char name[FAL_DEV_NAME_MAX];
|
||||
/* flash device name for partition */
|
||||
char flash_name[FAL_DEV_NAME_MAX];
|
||||
|
||||
/* partition offset address on flash device */
|
||||
long offset;
|
||||
size_t len;
|
||||
|
||||
uint32_t reserved;
|
||||
};
|
||||
typedef struct fal_partition *fal_partition_t;
|
||||
|
||||
#endif /* _FAL_DEF_H_ */
|
Loading…
Add table
Add a link
Reference in a new issue