提交 237a71de 编写于 作者: mysterywolf's avatar mysterywolf

修复common文件夹,该文件夹为armlibc/newlib/dlib的共同文件的文件夹

上级 0eadf69f
...@@ -13,7 +13,6 @@ else: ...@@ -13,7 +13,6 @@ else:
if GetDepend('RT_LIBC_USING_TIME'): if GetDepend('RT_LIBC_USING_TIME'):
src += ['time.c'] src += ['time.c']
if (rtconfig.PLATFORM == 'armcc' or rtconfig.PLATFORM == 'iar') and rtconfig.ARCH != 'sim' : group = DefineGroup('libc', src, depend = [''], CPPPATH = CPPPATH)
group = DefineGroup('libc', src, depend = [''], CPPPATH = CPPPATH)
Return('group') Return('group')
This folder is "common" for armlibc newlibcand dlib. It's not "common" for minilibc.
\ No newline at end of file
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
* *
* Change Logs: * Change Logs:
* Date Author Notes * Date Author Notes
* 2020-09-07 Meco Man combine gcc armcc iccarm
*/ */
#ifndef _SYS_TIME_H_ #ifndef _SYS_TIME_H_
#define _SYS_TIME_H_ #define _SYS_TIME_H_
...@@ -15,6 +16,14 @@ ...@@ -15,6 +16,14 @@
extern "C" { extern "C" {
#endif #endif
/*
* Skip define timespec for IAR version over 8.10.1 where __VER__ is 8010001.
*/
#if defined ( __ICCARM__ ) && (__VER__ >= 8010001)
#define _TIMESPEC_DEFINED
#endif
#ifndef _TIMEVAL_DEFINED #ifndef _TIMEVAL_DEFINED
#define _TIMEVAL_DEFINED #define _TIMEVAL_DEFINED
/* /*
...@@ -27,23 +36,6 @@ struct timeval { ...@@ -27,23 +36,6 @@ struct timeval {
}; };
#endif /* _TIMEVAL_DEFINED */ #endif /* _TIMEVAL_DEFINED */
/*
* Skip define timespec for IAR version over 8.10.1 where __VER__ is 8010001.
*/
#if defined ( __ICCARM__ ) && (__VER__ >= 8010001)
#define _TIMESPEC_DEFINED
#endif
#ifndef _TIMESPEC_DEFINED
#define _TIMESPEC_DEFINED
/*
* Structure defined by POSIX.1b to be like a timeval.
*/
struct timespec {
time_t tv_sec; /* seconds */
long tv_nsec; /* and nanoseconds */
};
#endif /* _TIMESPEC_DEFINED */
struct timezone { struct timezone {
int tz_minuteswest; /* minutes west of Greenwich */ int tz_minuteswest; /* minutes west of Greenwich */
......
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
* Change Logs: * Change Logs:
* Date Author Notes * Date Author Notes
* 2019-08-21 zhangjun copy from minilibc * 2019-08-21 zhangjun copy from minilibc
* 2020-09-07 Meco Man combine gcc armcc iccarm
*/ */
#include <sys/time.h> #include <sys/time.h>
......
/*
* Copyright (c) 2006-2018, RT-Thread Development Team
*
* SPDX-License-Identifier: Apache-2.0
*
* Change Logs:
* Date Author Notes
*/
#ifndef _TERMIOS_H__
#define _TERMIOS_H__
#ifdef RT_USING_POSIX_TERMIOS
#include <sys/types.h>
#include <posix_termios.h>
#endif
#endif
/*
* Copyright (c) 2006-2018, RT-Thread Development Team
*
* SPDX-License-Identifier: Apache-2.0
*
* Change Logs:
* Date Author Notes
* 2020-09-01 Meco Man First Version
*/
#include <termios.h>
#include <unistd.h>
#ifdef RT_USING_POSIX
#ifdef RT_USING_POSIX_TERMIOS
int isatty(int fd)
{
struct termios ts;
return(tcgetattr(fd,&ts) != -1);/*true if no error (is a tty)*/
}
#endif
char *ttyname(int fd)
{
return "/dev/tty0"; /*TODO: need to add more specific*/
}
#endif
/*
* Copyright (c) 2006-2018, RT-Thread Development Team
*
* SPDX-License-Identifier: Apache-2.0
*
* Change Logs:
* Date Author Notes
*/
#ifndef _TERMIOS_H__
#define _TERMIOS_H__
#ifdef RT_USING_POSIX_TERMIOS
#include <sys/types.h>
#include <posix_termios.h>
#endif
#endif
/*
* Copyright (c) 2006-2018, RT-Thread Development Team
*
* SPDX-License-Identifier: Apache-2.0
*
* Change Logs:
* Date Author Notes
*/
#include <sys/time.h>
#include <rtthread.h>
#ifdef RT_USING_DEVICE
int gettimeofday(struct timeval *tp, void *ignore)
{
time_t time;
rt_device_t device;
device = rt_device_find("rtc");
RT_ASSERT(device != RT_NULL);
rt_device_control(device, RT_DEVICE_CTRL_RTC_GET_TIME, &time);
if (tp != RT_NULL)
{
tp->tv_sec = time;
tp->tv_usec = 0;
}
return time;
}
#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();
}
/*
* Copyright (c) 2006-2018, RT-Thread Development Team
*
* SPDX-License-Identifier: Apache-2.0
*
* Change Logs:
* Date Author Notes
* 2020-09-01 Meco Man First Version
*/
#include <termios.h>
#include <unistd.h>
#ifdef RT_USING_POSIX
#ifdef RT_USING_POSIX_TERMIOS
int isatty(int fd)
{
struct termios ts;
return(tcgetattr(fd,&ts) != -1);/*true if no error (is a tty)*/
}
#endif
char *ttyname(int fd)
{
return "/dev/tty0"; /*TODO: need to add more specific*/
}
#endif
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册