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

This commit is contained in:
mysterywolf 2020-09-08 10:26:03 +08:00
parent 0eadf69f81
commit 237a71de27
11 changed files with 12 additions and 193 deletions

View File

@ -13,7 +13,6 @@ else:
if GetDepend('RT_LIBC_USING_TIME'):
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')

View File

@ -0,0 +1 @@
This folder is "common" for armlibc newlibcand dlib. It's not "common" for minilibc.

View File

@ -5,6 +5,7 @@
*
* Change Logs:
* Date Author Notes
* 2020-09-07 Meco Man combine gcc armcc iccarm
*/
#ifndef _SYS_TIME_H_
#define _SYS_TIME_H_
@ -15,6 +16,14 @@
extern "C" {
#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
#define _TIMEVAL_DEFINED
/*
@ -27,23 +36,6 @@ struct timeval {
};
#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 {
int tz_minuteswest; /* minutes west of Greenwich */

View File

@ -6,6 +6,7 @@
* Change Logs:
* Date Author Notes
* 2019-08-21 zhangjun copy from minilibc
* 2020-09-07 Meco Man combine gcc armcc iccarm
*/
#include <sys/time.h>

View File

@ -1,17 +0,0 @@
/*
* 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

View File

@ -1,29 +0,0 @@
/*
* 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

View File

@ -1,17 +0,0 @@
/*
* 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

View File

@ -1,82 +0,0 @@
/*
* 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();
}

View File

@ -1,29 +0,0 @@
/*
* 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