diff --git a/include/rtdef.h b/include/rtdef.h index bb11bf88ff..9af4320112 100644 --- a/include/rtdef.h +++ b/include/rtdef.h @@ -58,6 +58,7 @@ extern "C" { (RT_SUBVERSION * 100) + RT_REVISION) /* RT-Thread basic data type definitions */ +#ifndef RT_USING_ARCH_DATA_TYPE typedef signed char rt_int8_t; /**< 8bit integer type */ typedef signed short rt_int16_t; /**< 16bit integer type */ typedef signed int rt_int32_t; /**< 32bit integer type */ @@ -72,6 +73,7 @@ typedef unsigned long rt_uint64_t; /**< 64bit unsigned inte typedef signed long long rt_int64_t; /**< 64bit integer type */ typedef unsigned long long rt_uint64_t; /**< 64bit unsigned integer type */ #endif +#endif typedef int rt_bool_t; /**< boolean type */ typedef long rt_base_t; /**< Nbit CPU related date type */ diff --git a/src/Kconfig b/src/Kconfig index fbfae65882..c123f53b92 100644 --- a/src/Kconfig +++ b/src/Kconfig @@ -8,6 +8,15 @@ config RT_NAME_MAX Each kernel object, such as thread, timer, semaphore etc, has a name, the RT_NAME_MAX is the maximal size of this object name. +config RT_USING_ARCH_DATA_TYPE + bool "Use the data types defined in ARCH_CPU" + default n + help + For the data type like, `rt_uint8/int8_t, rt_uint16/int16_t, rt_uint32/int32_t`, + BSP can define these basic data types in ARCH_CPU level. + + Please re-define these data types in bsp_project.h file. + config RT_USING_SMP bool "Enable SMP(Symmetric multiprocessing)" default n