mirror of https://github.com/ARMmbed/mbed-os.git
Move clock() function from mbed_rtc_time.cpp to mbed_retarget.cpp.
parent
de6d2918b8
commit
035c0896ed
|
@ -13,9 +13,11 @@
|
|||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
#include <time.h>
|
||||
#include "platform/platform.h"
|
||||
#include "platform/FilePath.h"
|
||||
#include "hal/serial_api.h"
|
||||
#include "hal/us_ticker_api.h"
|
||||
#include "platform/mbed_toolchain.h"
|
||||
#include "platform/mbed_semihost_api.h"
|
||||
#include "platform/mbed_interface.h"
|
||||
|
@ -24,6 +26,7 @@
|
|||
#include "platform/mbed_error.h"
|
||||
#include "platform/mbed_stats.h"
|
||||
#include "platform/mbed_critical.h"
|
||||
#include "platform/PlatformMutex.h"
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <limits.h>
|
||||
|
@ -33,6 +36,8 @@
|
|||
#include <errno.h>
|
||||
#include "platform/mbed_retarget.h"
|
||||
|
||||
static SingletonPtr<PlatformMutex> _mutex;
|
||||
|
||||
#if defined(__ARMCC_VERSION)
|
||||
# include <rt_sys.h>
|
||||
# define PREFIX(x) _sys##x
|
||||
|
@ -985,3 +990,23 @@ void operator delete[](void *ptr)
|
|||
free(ptr);
|
||||
}
|
||||
}
|
||||
|
||||
/* @brief standard c library clock() function.
|
||||
*
|
||||
* This function returns the number of clock ticks elapsed since the start of the program.
|
||||
*
|
||||
* @note Synchronization level: Thread safe
|
||||
*
|
||||
* @return
|
||||
* the number of clock ticks elapsed since the start of the program.
|
||||
*
|
||||
* */
|
||||
extern "C" clock_t clock()
|
||||
{
|
||||
_mutex->lock();
|
||||
clock_t t = us_ticker_read();
|
||||
t /= 1000000 / CLOCKS_PER_SEC; // convert to processor time
|
||||
_mutex->unlock();
|
||||
return t;
|
||||
}
|
||||
|
||||
|
|
|
@ -15,10 +15,8 @@
|
|||
*/
|
||||
#include "hal/rtc_api.h"
|
||||
|
||||
#include <time.h>
|
||||
#include "platform/mbed_critical.h"
|
||||
#include "platform/mbed_rtc_time.h"
|
||||
#include "hal/us_ticker_api.h"
|
||||
#include "platform/SingletonPtr.h"
|
||||
#include "platform/PlatformMutex.h"
|
||||
|
||||
|
@ -76,14 +74,6 @@ void set_time(time_t t) {
|
|||
_mutex->unlock();
|
||||
}
|
||||
|
||||
clock_t clock() {
|
||||
_mutex->lock();
|
||||
clock_t t = us_ticker_read();
|
||||
t /= 1000000 / CLOCKS_PER_SEC; // convert to processor time
|
||||
_mutex->unlock();
|
||||
return t;
|
||||
}
|
||||
|
||||
void attach_rtc(time_t (*read_rtc)(void), void (*write_rtc)(time_t), void (*init_rtc)(void), int (*isenabled_rtc)(void)) {
|
||||
_mutex->lock();
|
||||
_rtc_read = read_rtc;
|
||||
|
|
Loading…
Reference in New Issue