diff --git a/components/drivers/spi/sfud/inc/sfud_cfg.h b/components/drivers/spi/sfud/inc/sfud_cfg.h index 01255775c8..59859149aa 100644 --- a/components/drivers/spi/sfud/inc/sfud_cfg.h +++ b/components/drivers/spi/sfud/inc/sfud_cfg.h @@ -29,7 +29,7 @@ #ifndef _SFUD_CFG_H_ #define _SFUD_CFG_H_ -#include +#include /** * It will print more information on debug mode. @@ -47,7 +47,6 @@ #define DBG_TAG "SFUD" #include -extern void rt_kprintf(const char *fmt, ...); #define SFUD_INFO(...) LOG_I(__VA_ARGS__) /** diff --git a/include/rtdef.h b/include/rtdef.h index 677a425183..9975f8239f 100644 --- a/include/rtdef.h +++ b/include/rtdef.h @@ -76,11 +76,13 @@ typedef unsigned int rt_uint32_t; /**< 32bit unsigned inte #ifdef ARCH_CPU_64BIT typedef signed long rt_int64_t; /**< 64bit integer type */ typedef unsigned long rt_uint64_t; /**< 64bit unsigned integer type */ +typedef unsigned long rt_size_t; /**< Type for size number */ #else typedef signed long long rt_int64_t; /**< 64bit integer type */ typedef unsigned long long rt_uint64_t; /**< 64bit unsigned integer type */ -#endif -#endif +typedef unsigned int rt_size_t; /**< Type for size number */ +#endif /* ARCH_CPU_64BIT */ +#endif /* RT_USING_ARCH_DATA_TYPE */ typedef int rt_bool_t; /**< boolean type */ typedef long rt_base_t; /**< Nbit CPU related date type */ @@ -90,7 +92,6 @@ typedef rt_base_t rt_err_t; /**< Type for error numb typedef rt_uint32_t rt_time_t; /**< Type for time stamp */ typedef rt_uint32_t rt_tick_t; /**< Type for tick count */ typedef rt_base_t rt_flag_t; /**< Type for flags */ -typedef rt_ubase_t rt_size_t; /**< Type for size number */ typedef rt_ubase_t rt_dev_t; /**< Type for device */ typedef rt_base_t rt_off_t; /**< Type for offset */ diff --git a/include/rtthread.h b/include/rtthread.h index 69ccac9ede..536ecd6db0 100644 --- a/include/rtthread.h +++ b/include/rtthread.h @@ -541,14 +541,14 @@ void rt_components_board_init(void); #define rt_kprintf(...) #define rt_kputs(str) #else -void rt_kprintf(const char *fmt, ...); +int rt_kprintf(const char *fmt, ...); void rt_kputs(const char *str); #endif -rt_int32_t rt_vsprintf(char *dest, const char *format, va_list arg_ptr); -rt_int32_t rt_vsnprintf(char *buf, rt_size_t size, const char *fmt, va_list args); -rt_int32_t rt_sprintf(char *buf, const char *format, ...); -rt_int32_t rt_snprintf(char *buf, rt_size_t size, const char *format, ...); +int rt_vsprintf(char *dest, const char *format, va_list arg_ptr); +int rt_vsnprintf(char *buf, rt_size_t size, const char *fmt, va_list args); +int rt_sprintf(char *buf, const char *format, ...); +int rt_snprintf(char *buf, rt_size_t size, const char *format, ...); #if defined(RT_USING_DEVICE) && defined(RT_USING_CONSOLE) rt_device_t rt_console_set_device(const char *name); diff --git a/src/Kconfig b/src/Kconfig index f225796220..427a65eb74 100644 --- a/src/Kconfig +++ b/src/Kconfig @@ -139,6 +139,10 @@ config RT_USING_ASM_MEMCPY bool default n +config RT_USING_ASM_MEMSET + bool + default n + config RT_USING_TINY_FFS bool "Enable kservice to use tiny ffs" default n diff --git a/src/kservice.c b/src/kservice.c index 6a42b92047..aa5b39075c 100644 --- a/src/kservice.c +++ b/src/kservice.c @@ -115,6 +115,7 @@ int *_rt_errno(void) } RTM_EXPORT(_rt_errno); +#ifndef RT_USING_ASM_MEMSET /** * This function will set the content of memory to specified value. * @@ -127,7 +128,7 @@ RTM_EXPORT(_rt_errno); * * @return The address of source memory. */ -RT_WEAK void *rt_memset(void *s, int c, rt_ubase_t count) +void *rt_memset(void *s, int c, rt_ubase_t count) { #ifdef RT_KSERVICE_USING_TINY_SIZE char *xs = (char *)s; @@ -200,6 +201,7 @@ RT_WEAK void *rt_memset(void *s, int c, rt_ubase_t count) #endif /* RT_KSERVICE_USING_TINY_SIZE */ } RTM_EXPORT(rt_memset); +#endif /* RT_USING_ASM_MEMSET */ #ifndef RT_USING_ASM_MEMCPY /** @@ -338,7 +340,7 @@ RTM_EXPORT(rt_memmove); * If the result > 0, cs is greater than ct. * If the result = 0, cs is equal to ct. */ -RT_WEAK rt_int32_t rt_memcmp(const void *cs, const void *ct, rt_ubase_t count) +rt_int32_t rt_memcmp(const void *cs, const void *ct, rt_ubase_t count) { const unsigned char *su1, *su2; int res = 0; @@ -842,10 +844,7 @@ static char *print_number(char *buf, * * @return The number of characters actually written to buffer. */ -rt_int32_t rt_vsnprintf(char *buf, - rt_size_t size, - const char *fmt, - va_list args) +RT_WEAK int rt_vsnprintf(char *buf, rt_size_t size, const char *fmt, va_list args) { #ifdef RT_PRINTF_LONGLONG unsigned long long num; @@ -1119,7 +1118,7 @@ RTM_EXPORT(rt_vsnprintf); * * @return The number of characters actually written to buffer. */ -rt_int32_t rt_snprintf(char *buf, rt_size_t size, const char *fmt, ...) +int rt_snprintf(char *buf, rt_size_t size, const char *fmt, ...) { rt_int32_t n; va_list args; @@ -1143,7 +1142,7 @@ RTM_EXPORT(rt_snprintf); * * @return The number of characters actually written to buffer. */ -rt_int32_t rt_vsprintf(char *buf, const char *format, va_list arg_ptr) +int rt_vsprintf(char *buf, const char *format, va_list arg_ptr) { return rt_vsnprintf(buf, (rt_size_t) - 1, format, arg_ptr); } @@ -1158,7 +1157,7 @@ RTM_EXPORT(rt_vsprintf); * * @return The number of characters actually written to buffer. */ -rt_int32_t rt_sprintf(char *buf, const char *format, ...) +int rt_sprintf(char *buf, const char *format, ...) { rt_int32_t n; va_list arg_ptr; @@ -1258,8 +1257,10 @@ void rt_kputs(const char *str) * This function will print a formatted string on system console. * * @param fmt is the format parameters. + * + * @return The number of characters actually written to buffer. */ -RT_WEAK void rt_kprintf(const char *fmt, ...) +RT_WEAK int rt_kprintf(const char *fmt, ...) { va_list args; rt_size_t length; @@ -1287,6 +1288,8 @@ RT_WEAK void rt_kprintf(const char *fmt, ...) rt_hw_console_output(rt_log_buf); #endif /* RT_USING_DEVICE */ va_end(args); + + return length; } RTM_EXPORT(rt_kprintf); #endif /* RT_USING_CONSOLE */