Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
逆着光、寻觅
rt-thread
提交
a00cdcd7
R
rt-thread
项目概览
逆着光、寻觅
/
rt-thread
与 Fork 源项目一致
Fork自
RT-Thread / rt-thread
通知
1
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
rt-thread
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
a00cdcd7
编写于
5月 08, 2018
作者:
B
Bernard Xiong
提交者:
GitHub
5月 08, 2018
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #1411 from armink/fix_libc
Fix libc
上级
f56647c0
3b8e3aa7
变更
12
展开全部
隐藏空白更改
内联
并排
Showing
12 changed file
with
3290 addition
and
2581 deletion
+3290
-2581
bsp/stm32f20x/.config
bsp/stm32f20x/.config
+34
-15
bsp/stm32f20x/Drivers/drv_rtc.c
bsp/stm32f20x/Drivers/drv_rtc.c
+0
-89
bsp/stm32f20x/Drivers/drv_rtc.h
bsp/stm32f20x/Drivers/drv_rtc.h
+0
-0
bsp/stm32f20x/project.ewp
bsp/stm32f20x/project.ewp
+2414
-1977
bsp/stm32f20x/project.uvproj
bsp/stm32f20x/project.uvproj
+320
-269
bsp/stm32f20x/project.uvprojx
bsp/stm32f20x/project.uvprojx
+288
-90
bsp/stm32f20x/rtconfig.h
bsp/stm32f20x/rtconfig.h
+18
-89
components/drivers/rtc/rtc.c
components/drivers/rtc/rtc.c
+4
-49
components/libc/compilers/armlibc/time.c
components/libc/compilers/armlibc/time.c
+53
-1
components/libc/compilers/dlib/time.c
components/libc/compilers/dlib/time.c
+53
-1
components/libc/compilers/minilibc/time.c
components/libc/compilers/minilibc/time.c
+53
-0
components/libc/compilers/newlib/time.c
components/libc/compilers/newlib/time.c
+53
-1
未找到文件。
bsp/stm32f20x/.config
浏览文件 @
a00cdcd7
...
...
@@ -74,6 +74,7 @@ CONFIG_FINSH_USING_HISTORY=y
CONFIG_FINSH_HISTORY_LINES
=
5
CONFIG_FINSH_USING_SYMTAB
=
y
CONFIG_FINSH_USING_DESCRIPTION
=
y
# CONFIG_FINSH_ECHO_DISABLE_DEFAULT is not set
CONFIG_FINSH_THREAD_PRIORITY
=
20
CONFIG_FINSH_THREAD_STACK_SIZE
=
4096
CONFIG_FINSH_CMD_SIZE
=
80
...
...
@@ -127,7 +128,9 @@ CONFIG_RT_USING_DEVICE_IPC=y
CONFIG_RT_USING_PIN
=
y
# CONFIG_RT_USING_MTD_NOR is not set
# CONFIG_RT_USING_MTD_NAND is not set
# CONFIG_RT_USING_RTC is not set
CONFIG_RT_USING_RTC
=
y
# CONFIG_RT_USING_SOFT_RTC is not set
# CONFIG_RTC_SYNC_USING_NTP is not set
# CONFIG_RT_USING_SDIO is not set
# CONFIG_RT_USING_SPI is not set
# CONFIG_RT_USING_WDT is not set
...
...
@@ -185,19 +188,6 @@ CONFIG_RT_USING_RTT_CMSIS=y
# RT-Thread online packages
#
#
# system packages
#
#
# RT-Thread GUI Engine
#
# CONFIG_PKG_USING_GUIENGINE is not set
# CONFIG_PKG_USING_LWEXT4 is not set
# CONFIG_PKG_USING_PARTITION is not set
# CONFIG_PKG_USING_SQLITE is not set
# CONFIG_PKG_USING_RTI is not set
#
# IoT - internet of things
#
...
...
@@ -227,6 +217,7 @@ CONFIG_RT_USING_RTT_CMSIS=y
# CONFIG_PKG_USING_COAP is not set
# CONFIG_PKG_USING_NOPOLL is not set
# CONFIG_PKG_USING_NETUTILS is not set
# CONFIG_PKG_USING_ONENET is not set
#
# security packages
...
...
@@ -245,27 +236,55 @@ CONFIG_RT_USING_RTT_CMSIS=y
# multimedia packages
#
# CONFIG_PKG_USING_OPENMV is not set
# CONFIG_PKG_USING_MUPDF is not set
#
# tools packages
#
# CONFIG_PKG_USING_CMBACKTRACE is not set
# CONFIG_PKG_USING_EASYFLASH is not set
# CONFIG_PKG_USING_EASYLOGGER is not set
# CONFIG_PKG_USING_SYSTEMVIEW is not set
# CONFIG_PKG_USING_IPERF is not set
#
# system packages
#
#
# RT-Thread GUI Engine
#
# CONFIG_PKG_USING_GUIENGINE is not set
# CONFIG_PKG_USING_LWEXT4 is not set
# CONFIG_PKG_USING_PARTITION is not set
# CONFIG_PKG_USING_SQLITE is not set
# CONFIG_PKG_USING_RTI is not set
# CONFIG_PKG_USING_LITTLEVGL2RTT is not set
#
# peripheral libraries and drivers
#
# CONFIG_PKG_USING_STM32F4_HAL is not set
# CONFIG_PKG_USING_STM32F4_DRIVERS is not set
#
# miscellaneous packages
#
# CONFIG_PKG_USING_FASTLZ is not set
# CONFIG_PKG_USING_MINILZO is not set
# CONFIG_PKG_USING_QUICKLZ is not set
# CONFIG_PKG_USING_MULTIBUTTON is not set
# CONFIG_PKG_USING_CANFESTIVAL is not set
#
# sample package
#
# CONFIG_PKG_USING_SAMPLES is not set
#
# example package: hello
#
# CONFIG_PKG_USING_HELLO is not set
# CONFIG_PKG_USING_MULTIBUTTON is not set
CONFIG_SOC_STM32F2
=
y
CONFIG_RT_USING_UART1
=
y
# CONFIG_RT_USING_UART6 is not set
bsp/stm32f20x/Drivers/rtc.c
→
bsp/stm32f20x/Drivers/
drv_
rtc.c
浏览文件 @
a00cdcd7
...
...
@@ -252,92 +252,3 @@ void rt_hw_rtc_init(void)
return
;
}
#include <time.h>
#if defined (__IAR_SYSTEMS_ICC__) && (__VER__) >= 6020000
/* for IAR 6.2 later Compiler */
#pragma module_name = "?time"
time_t
(
__time32
)(
time_t
*
t
)
/* Only supports 32-bit timestamp */
#else
time_t
time
(
time_t
*
t
)
#endif
{
rt_device_t
device
;
time_t
time
=
0
;
device
=
rt_device_find
(
"rtc"
);
if
(
device
!=
RT_NULL
)
{
rt_device_control
(
device
,
RT_DEVICE_CTRL_RTC_GET_TIME
,
&
time
);
if
(
t
!=
RT_NULL
)
*
t
=
time
;
}
return
time
;
}
#ifdef RT_USING_FINSH
#include <finsh.h>
void
set_date
(
rt_uint32_t
year
,
rt_uint32_t
month
,
rt_uint32_t
day
)
{
time_t
now
;
struct
tm
*
ti
;
rt_device_t
device
;
ti
=
RT_NULL
;
/* get current time */
time
(
&
now
);
ti
=
localtime
(
&
now
);
if
(
ti
!=
RT_NULL
)
{
ti
->
tm_year
=
year
-
1900
;
ti
->
tm_mon
=
month
-
1
;
/* ti->tm_mon = month; */
ti
->
tm_mday
=
day
;
}
now
=
mktime
(
ti
);
device
=
rt_device_find
(
"rtc"
);
if
(
device
!=
RT_NULL
)
{
rt_rtc_control
(
device
,
RT_DEVICE_CTRL_RTC_SET_TIME
,
&
now
);
}
}
FINSH_FUNCTION_EXPORT
(
set_date
,
set
date
.
e
.
g
:
set_date
(
2010
,
2
,
28
))
void
set_time
(
rt_uint32_t
hour
,
rt_uint32_t
minute
,
rt_uint32_t
second
)
{
time_t
now
;
struct
tm
*
ti
;
rt_device_t
device
;
ti
=
RT_NULL
;
/* get current time */
time
(
&
now
);
ti
=
localtime
(
&
now
);
if
(
ti
!=
RT_NULL
)
{
ti
->
tm_hour
=
hour
;
ti
->
tm_min
=
minute
;
ti
->
tm_sec
=
second
;
}
now
=
mktime
(
ti
);
device
=
rt_device_find
(
"rtc"
);
if
(
device
!=
RT_NULL
)
{
rt_rtc_control
(
device
,
RT_DEVICE_CTRL_RTC_SET_TIME
,
&
now
);
}
}
FINSH_FUNCTION_EXPORT
(
set_time
,
set
time
.
e
.
g
:
set_time
(
23
,
59
,
59
))
void
list_date
()
{
time_t
now
;
time
(
&
now
);
rt_kprintf
(
"%s
\n
"
,
ctime
(
&
now
));
}
FINSH_FUNCTION_EXPORT
(
list_date
,
show
date
and
time
.)
#endif
bsp/stm32f20x/Drivers/rtc.h
→
bsp/stm32f20x/Drivers/
drv_
rtc.h
浏览文件 @
a00cdcd7
文件已移动
bsp/stm32f20x/project.ewp
浏览文件 @
a00cdcd7
此差异已折叠。
点击以展开。
bsp/stm32f20x/project.uvproj
浏览文件 @
a00cdcd7
此差异已折叠。
点击以展开。
bsp/stm32f20x/project.uvprojx
浏览文件 @
a00cdcd7
此差异已折叠。
点击以展开。
bsp/stm32f20x/rtconfig.h
浏览文件 @
a00cdcd7
...
...
@@ -8,9 +8,7 @@
#define RT_NAME_MAX 8
#define RT_ALIGN_SIZE 4
/* RT_THREAD_PRIORITY_8 is not set */
#define RT_THREAD_PRIORITY_32
/* RT_THREAD_PRIORITY_256 is not set */
#define RT_THREAD_PRIORITY_MAX 32
#define RT_TICK_PER_SECOND 100
#define RT_DEBUG
...
...
@@ -19,7 +17,6 @@
#define RT_DEBUG_THREAD 0
#define RT_USING_HOOK
#define IDLE_THREAD_STACK_SIZE 256
/* RT_USING_TIMER_SOFT is not set */
/* Inter-Thread communication */
...
...
@@ -28,37 +25,28 @@
#define RT_USING_EVENT
#define RT_USING_MAILBOX
#define RT_USING_MESSAGEQUEUE
/* RT_USING_SIGNALS is not set */
/* Memory Management */
#define RT_USING_MEMPOOL
/* RT_USING_MEMHEAP is not set */
/* RT_USING_NOHEAP is not set */
#define RT_USING_SMALL_MEM
/* RT_USING_SLAB is not set */
/* RT_USING_MEMTRACE is not set */
#define RT_USING_HEAP
/* Kernel Device Object */
#define RT_USING_DEVICE
/* RT_USING_INTERRUPT_INFO is not set */
#define RT_USING_CONSOLE
#define RT_CONSOLEBUF_SIZE 128
#define RT_CONSOLE_DEVICE_NAME "uart1"
/* RT_USING_MODULE is not set */
#define ARCH_ARM
#define ARCH_ARM_CORTEX_M
#define ARCH_ARM_CORTEX_M3
/* RT-Thread Components */
/* RT_USING_COMPONENTS_INIT is not set */
/* C++ features */
/* RT_USING_CPLUSPLUS is not set */
/* Command shell */
...
...
@@ -71,10 +59,8 @@
#define FINSH_THREAD_PRIORITY 20
#define FINSH_THREAD_STACK_SIZE 4096
#define FINSH_CMD_SIZE 80
/* FINSH_USING_AUTH is not set */
#define FINSH_USING_MSH
#define FINSH_USING_MSH_DEFAULT
/* FINSH_USING_MSH_ONLY is not set */
/* Device virtual file system */
...
...
@@ -90,150 +76,93 @@
#define RT_DFS_ELM_CODE_PAGE 437
#define RT_DFS_ELM_WORD_ACCESS
#define RT_DFS_ELM_USE_LFN_0
/* RT_DFS_ELM_USE_LFN_1 is not set */
/* RT_DFS_ELM_USE_LFN_2 is not set */
/* RT_DFS_ELM_USE_LFN_3 is not set */
#define RT_DFS_ELM_USE_LFN 0
#define RT_DFS_ELM_MAX_LFN 255
#define RT_DFS_ELM_DRIVES 1
#define RT_DFS_ELM_MAX_SECTOR_SIZE 512
/* RT_DFS_ELM_USE_ERASE is not set */
#define RT_DFS_ELM_REENTRANT
#define RT_USING_DFS_DEVFS
/* RT_USING_DFS_NET is not set */
/* RT_USING_DFS_ROMFS is not set */
/* RT_USING_DFS_RAMFS is not set */
/* RT_USING_DFS_UFFS is not set */
/* RT_USING_DFS_JFFS2 is not set */
/* RT_USING_DFS_NFS is not set */
/* Device Drivers */
#define RT_USING_DEVICE_IPC
/* RT_USING_SERIAL is not set */
/* RT_USING_CAN is not set */
/* RT_USING_HWTIMER is not set */
/* RT_USING_CPUTIME is not set */
/* RT_USING_I2C is not set */
#define RT_USING_PIN
/* RT_USING_MTD_NOR is not set */
/* RT_USING_MTD_NAND is not set */
/* RT_USING_RTC is not set */
/* RT_USING_SDIO is not set */
/* RT_USING_SPI is not set */
/* RT_USING_WDT is not set */
/* RT_USING_WIFI is not set */
#define RT_USING_RTC
/* Using USB */
/* RT_USING_USB_HOST is not set */
/* RT_USING_USB_DEVICE is not set */
/* POSIX layer and C standard library */
#define RT_USING_LIBC
/* RT_USING_PTHREADS is not set */
#define RT_USING_POSIX
/* RT_USING_POSIX_MMAP is not set */
/* RT_USING_POSIX_TERMIOS is not set */
/* RT_USING_POSIX_AIO is not set */
/* HAVE_SYS_SIGNALS is not set */
/* Network stack */
/* light weight TCP/IP stack */
/* RT_USING_LWIP is not set */
/* Modbus master and slave stack */
/* RT_USING_MODBUS is not set */
/* VBUS(Virtual Software BUS) */
/* RT_USING_VBUS is not set */
/* Utilities */
/* RT_USING_LOGTRACE is not set */
/* RT_USING_RYM is not set */
/* ARM CMSIS */
/* RT_USING_CMSIS_OS is not set */
#define RT_USING_RTT_CMSIS
/* RT-Thread online packages */
/* system packages */
/* RT-Thread GUI Engine */
/* PKG_USING_GUIENGINE is not set */
/* PKG_USING_LWEXT4 is not set */
/* PKG_USING_PARTITION is not set */
/* PKG_USING_SQLITE is not set */
/* PKG_USING_RTI is not set */
/* IoT - internet of things */
/* PKG_USING_PAHOMQTT is not set */
/* PKG_USING_WEBCLIENT is not set */
/* PKG_USING_MONGOOSE is not set */
/* PKG_USING_WEBTERMINAL is not set */
/* PKG_USING_CJSON is not set */
/* PKG_USING_LJSON is not set */
/* PKG_USING_EZXML is not set */
/* PKG_USING_NANOPB is not set */
/* PKG_USING_GAGENT_CLOUD is not set */
/* Wi-Fi */
/* Marvell WiFi */
/* PKG_USING_WLANMARVELL is not set */
/* Wiced WiFi */
/* PKG_USING_WLAN_WICED is not set */
/* PKG_USING_COAP is not set */
/* PKG_USING_NOPOLL is not set */
/* PKG_USING_NETUTILS is not set */
/* security packages */
/* PKG_USING_MBEDTLS is not set */
/* PKG_USING_libsodium is not set */
/* PKG_USING_TINYCRYPT is not set */
/* language packages */
/* PKG_USING_JERRYSCRIPT is not set */
/* PKG_USING_MICROPYTHON is not set */
/* multimedia packages */
/* PKG_USING_OPENMV is not set */
/* tools packages */
/* PKG_USING_CMBACKTRACE is not set */
/* PKG_USING_EASYLOGGER is not set */
/* PKG_USING_SYSTEMVIEW is not set */
/* PKG_USING_IPERF is not set */
/* system packages */
/* RT-Thread GUI Engine */
/* peripheral libraries and drivers */
/* miscellaneous packages */
/* PKG_USING_FASTLZ is not set */
/*
PKG_USING_MINILZO is not set
*/
/* PKG_USING_QUICKLZ is not set */
/*
sample package
*/
/* example package: hello */
/* PKG_USING_HELLO is not set */
/* PKG_USING_MULTIBUTTON is not set */
/* Privated Packages of RealThread */
/* Network Utilities */
#define SOC_STM32F2
#define RT_USING_UART1
/* RT_USING_UART6 is not set */
#endif
components/drivers/rtc/rtc.c
浏览文件 @
a00cdcd7
...
...
@@ -29,6 +29,8 @@
#include <string.h>
#include <rtthread.h>
#ifdef RT_USING_RTC
/* Using NTP auto sync RTC time */
#ifdef RTC_SYNC_USING_NTP
/* NTP first sync delay time for network connect, unit: second */
...
...
@@ -41,55 +43,6 @@
#endif
#endif
/* RTC_SYNC_USING_NTP */
/**
* Returns the current time.
*
* @param time_t * t the timestamp pointer, if not used, keep NULL.
*
* @return time_t return timestamp current.
*
*/
/* for IAR 6.2 later Compiler */
#if defined (__IAR_SYSTEMS_ICC__) && (__VER__) >= 6020000
#pragma module_name = "?time"
time_t
(
__time32
)(
time_t
*
t
)
/* Only supports 32-bit timestamp */
#else
time_t
time
(
time_t
*
t
)
#endif
{
static
rt_device_t
device
=
RT_NULL
;
time_t
time_now
=
0
;
/* optimization: find rtc device only first. */
if
(
device
==
RT_NULL
)
{
device
=
rt_device_find
(
"rtc"
);
}
/* read timestamp from RTC device. */
if
(
device
!=
RT_NULL
)
{
if
(
rt_device_open
(
device
,
0
)
==
RT_EOK
)
{
rt_device_control
(
device
,
RT_DEVICE_CTRL_RTC_GET_TIME
,
&
time_now
);
rt_device_close
(
device
);
}
}
/* if t is not NULL, write timestamp to *t */
if
(
t
!=
RT_NULL
)
{
*
t
=
time_now
;
}
return
time_now
;
}
RT_WEAK
clock_t
clock
(
void
)
{
return
rt_tick_get
();
}
/**
* Set system date(time not modify).
*
...
...
@@ -311,3 +264,5 @@ MSH_CMD_EXPORT(date, get date and time or set [year month day hour min sec]);
#endif
/* defined(RT_USING_FINSH) && defined(FINSH_USING_MSH) */
#endif
/* RT_USING_FINSH */
#endif
/* RT_USING_RTC */
components/libc/compilers/armlibc/time.c
浏览文件 @
a00cdcd7
#include <sys/time.h>
#include <rtthread.h>
#if
defined(RT_USING_DEVICE) && defined(RT_USING_RTC)
#if
def RT_USING_DEVICE
int
gettimeofday
(
struct
timeval
*
tp
,
void
*
ignore
)
{
time_t
time
;
...
...
@@ -23,3 +23,55 @@ int gettimeofday(struct timeval *tp, void *ignore)
return
0
;
}
#endif
/**
* Returns the current time.
*
* @param time_t * t the timestamp pointer, if not used, keep NULL.
*
* @return time_t return timestamp current.
*
*/
/* for IAR 6.2 later Compiler */
#if defined (__IAR_SYSTEMS_ICC__) && (__VER__) >= 6020000
#pragma module_name = "?time"
time_t
(
__time32
)(
time_t
*
t
)
/* Only supports 32-bit timestamp */
#else
time_t
time
(
time_t
*
t
)
#endif
{
time_t
time_now
=
0
;
#ifdef RT_USING_RTC
static
rt_device_t
device
=
RT_NULL
;
/* optimization: find rtc device only first. */
if
(
device
==
RT_NULL
)
{
device
=
rt_device_find
(
"rtc"
);
}
/* read timestamp from RTC device. */
if
(
device
!=
RT_NULL
)
{
if
(
rt_device_open
(
device
,
0
)
==
RT_EOK
)
{
rt_device_control
(
device
,
RT_DEVICE_CTRL_RTC_GET_TIME
,
&
time_now
);
rt_device_close
(
device
);
}
}
#endif
/* RT_USING_RTC */
/* if t is not NULL, write timestamp to *t */
if
(
t
!=
RT_NULL
)
{
*
t
=
time_now
;
}
return
time_now
;
}
RT_WEAK
clock_t
clock
(
void
)
{
return
rt_tick_get
();
}
components/libc/compilers/dlib/time.c
浏览文件 @
a00cdcd7
此差异已折叠。
点击以展开。
components/libc/compilers/minilibc/time.c
浏览文件 @
a00cdcd7
此差异已折叠。
点击以展开。
components/libc/compilers/newlib/time.c
浏览文件 @
a00cdcd7
此差异已折叠。
点击以展开。
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录