From cc432b761c884a0bd8e9d83db0a4e26109fc08b1 Mon Sep 17 00:00:00 2001
From: chen <15335560115@163.com>
Date: 星期五, 08 十一月 2024 15:35:38 +0800
Subject: [PATCH] 安邦手环GPS删除部分无用数据和修改4G波特率9600出厂测试固件

---
 keil/include/components/libc/libc_rom.h |  556 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 556 insertions(+), 0 deletions(-)

diff --git a/keil/include/components/libc/libc_rom.h b/keil/include/components/libc/libc_rom.h
new file mode 100644
index 0000000..10e3a64
--- /dev/null
+++ b/keil/include/components/libc/libc_rom.h
@@ -0,0 +1,556 @@
+/*
+ * Copyright (c) 2019-2023 Beijing Hanwei Innovation Technology Ltd. Co. and
+ * its subsidiaries and affiliates (collectly called MKSEMI).
+ *
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice,
+ *    this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form, except as embedded into an MKSEMI
+ *    integrated circuit in a product or a software update for such product,
+ *    must reproduce the above copyright notice, this list of conditions and
+ *    the following disclaimer in the documentation and/or other materials
+ *    provided with the distribution.
+ *
+ * 3. Neither the name of MKSEMI nor the names of its contributors may be used
+ *    to endorse or promote products derived from this software without
+ *    specific prior written permission.
+ *
+ * 4. This software, with or without modification, must only be used with a
+ *    MKSEMI integrated circuit.
+ *
+ * 5. Any software provided in binary form under this license must not be
+ *    reverse engineered, decompiled, modified and/or disassembled.
+ *
+ * THIS SOFTWARE IS PROVIDED BY MKSEMI "AS IS" AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL MKSEMI OR CONTRIBUTORS BE LIABLE FOR ANY
+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef LIBC_ROM_H__
+#define LIBC_ROM_H__
+#include "stdint.h"
+#include "stdbool.h"
+#include "stdarg.h"
+
+#include "string.h"
+#include "stdio.h"
+#include "stdlib.h"
+#include "math.h"
+
+#ifndef STD_LIBC
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef void *(*__MEMCPY)(void *, const void *, size_t);
+typedef void *(*__MEMMOVE)(void *, const void *, size_t);
+typedef char *(*__STRCPY)(char *, const char *);
+typedef char *(*__STRNCPY)(char *, const char *, size_t);
+typedef char *(*__STRCAT)(char *, const char *);
+typedef char *(*__STRNCAT)(char *, const char *, size_t);
+typedef int (*__MEMCMP)(const void *, const void *, size_t);
+typedef int (*__STRCMP)(const char *, const char *);
+typedef int (*__STRNCMP)(const char *, const char *, size_t);
+typedef int (*__STRCASECMP)(const char *, const char *);
+typedef int (*__STRNCASECMP)(const char *, const char *, size_t);
+typedef int (*__STRCOLL)(const char *, const char *);
+typedef size_t (*__STRXFRM)(char *, const char *, size_t);
+typedef void *(*__MEMCHR)(const void *, int, size_t);
+typedef char *(*__STRCHR)(const char *, int);
+typedef size_t (*__STRCSPN)(const char *, const char *);
+typedef char *(*__STRPBRK)(const char *, const char *);
+typedef char *(*__STRRCHR)(const char *, int);
+typedef size_t (*__STRSPN)(const char *, const char *);
+typedef char *(*__STRSTR)(const char *, const char *);
+typedef char *(*__STRTOK)(char *, const char *);
+typedef char *(*__STRTOK_R)(char *, const char *, char **);
+typedef void *(*__MEMSET)(void *, int, size_t);
+typedef char *(*__STRERROR)(int);
+typedef size_t (*__STRLEN)(const char *);
+typedef size_t (*__STRLCPY)(char *, const char *, size_t);
+typedef size_t (*__STRLCAT)(char *, const char *, size_t);
+
+typedef int (*__PRINTF)(const char *, ...);
+typedef int (*__SCANF)(const char *, ...);
+typedef int (*__SPRINTF)(char *buf, const char *fmt, ...);
+typedef int (*__SNPRINTF)(char *buf, size_t len, const char *fmt, ...);
+typedef int (*__SSCANF)(const char *buf, const char *fmt, ...);
+typedef int (*__VSPRINTF)(char *buf, const char *fmt, va_list ap);
+typedef int (*__VSNPRINTF)(char *buf, size_t size, const char *fmt, va_list ap);
+typedef int (*__VSSCANF)(const char *fp, const char *fmt0, va_list ap);
+
+typedef double (*__ATOF)(const char *);
+typedef int (*__ATOI)(const char *);
+typedef long int (*__ATOL)(const char *);
+typedef long long (*__ATOLL)(const char *);
+typedef double (*__STRTOD)(const char *, char **);
+typedef float (*__STRTOF)(const char *, char **);
+typedef long double (*__STRTOLD)(const char *, char **);
+typedef long int (*__STRTOL)(const char *, char **, int);
+typedef unsigned long int (*__STRTOUL)(const char *, char **, int);
+typedef long long (*__STRTOLL)(const char *, char **, int);
+typedef unsigned long long (*__STRTOULL)(const char *, char **, int);
+typedef int (*__RAND)(void);
+typedef void (*__SRAND)(unsigned int);
+typedef void *(*__CALLOC)(size_t, size_t);
+typedef void (*__FREE)(void *);
+typedef void *(*__MALLOC)(size_t);
+typedef void *(*__BSEARCH)(const void *, const void *, size_t, size_t, int (*)(const void *, const void *));
+typedef void (*__QSORT)(void *, size_t, size_t, int (*)(const void *, const void *));
+typedef int (*__ABS)(int);
+typedef div_t (*__DIV)(int, int);
+typedef long int (*__LABS)(long int);
+typedef ldiv_t (*__LDIV)(long int, long int);
+typedef long long (*__LLABS)(long long);
+typedef lldiv_t (*__LLDIV)(long long, long long);
+typedef int (*__MBLEN)(const char *, size_t);
+typedef int (*__MBTOWC)(wchar_t *, const char *, size_t);
+typedef int (*__WCTOMB)(char *, wchar_t);
+typedef size_t (*__MBSTOWCS)(wchar_t *, const char *, size_t);
+typedef size_t (*__WCSTOMBS)(char *, const wchar_t *, size_t);
+
+typedef double (*__ACOS)(double);
+typedef double (*__ASIN)(double);
+typedef double (*__ATAN)(double);
+typedef double (*__ATAN2)(double, double);
+typedef double (*__COS)(double);
+typedef double (*__SIN)(double);
+typedef double (*__TAN)(double);
+typedef double (*__COSH)(double);
+typedef double (*__SINH)(double);
+typedef double (*__TANH)(double);
+typedef double (*__EXP)(double);
+typedef double (*__FREXP)(double, int *);
+typedef double (*__LDEXP)(double, int);
+typedef double (*__LOG)(double);
+typedef double (*__LOG10)(double);
+typedef double (*__MODF)(double, double *);
+typedef double (*__POW)(double, double);
+typedef double (*__SQRT)(double);
+typedef double (*__CEIL)(double);
+typedef double (*__FABS)(double);
+typedef double (*__FLOOR)(double);
+typedef double (*__FMOD)(double, double);
+typedef double (*__ACOSH)(double);
+typedef double (*__ASINH)(double);
+typedef double (*__ATANH)(double);
+typedef double (*__CBRT)(double);
+typedef double (*__ERF)(double);
+typedef double (*__ERFC)(double);
+typedef double (*__EXPM1)(double);
+typedef double (*__HYPOT)(double, double);
+typedef int (*__ILOGB)(double);
+typedef int (*__ILOGBF)(float);
+typedef int (*__ILOGBL)(long double);
+typedef double (*__LGAMMA)(double);
+typedef double (*__LOG1P)(double);
+typedef double (*__LOGB)(double);
+typedef float (*__LOGBF)(float);
+typedef long double (*__LOGBL)(long double);
+typedef double (*__NEXTAFTER)(double, double);
+typedef float (*__NEXTAFTERF)(float, float);
+typedef long double (*__NEXTAFTERL)(long double, long double);
+typedef double (*__NEXTTOWARD)(double, long double);
+typedef float (*__NEXTTOWARDF)(float, long double);
+typedef long double (*__NEXTTOWARDL)(long double, long double);
+typedef double (*__REMAINDER)(double, double);
+typedef double (*__RINT)(double);
+typedef double (*__SCALBLN)(double, long int);
+typedef float (*__SCALBLNF)(float, long int);
+typedef long double (*__SCALBLNL)(long double, long int);
+// typedef double (*__SCALBN)(double, int);
+// typedef float (*__SCALBNF)(float, int);
+typedef long double (*__SCALBNL)(long double, int);
+typedef float (*__FABSF)(float);
+typedef float (*__SINF)(float);
+typedef float (*__COSF)(float);
+typedef float (*__TANF)(float);
+typedef float (*__ACOSF)(float);
+typedef float (*__ASINF)(float);
+typedef float (*__ATANF)(float);
+typedef float (*__ATAN2F)(float, float);
+typedef float (*__SINHF)(float);
+typedef float (*__COSHF)(float);
+typedef float (*__TANHF)(float);
+typedef float (*__EXPF)(float);
+typedef float (*__LOGF)(float);
+typedef float (*__LOG10F)(float);
+typedef float (*__POWF)(float, float);
+typedef float (*__SQRTF)(float);
+typedef float (*__LDEXPF)(float, int);
+typedef float (*__FREXPF)(float, int *);
+typedef float (*__CEILF)(float);
+typedef float (*__FLOORF)(float);
+typedef float (*__FMODF)(float, float);
+typedef float (*__MODFF)(float, float *);
+
+/* C99 long double versions of functions. */
+typedef long double (*__ACOSL)(long double);
+typedef long double (*__ASINL)(long double);
+typedef long double (*__ATANL)(long double);
+typedef long double (*__ATAN2L)(long double, long double);
+typedef long double (*__CEILL)(long double);
+typedef long double (*__COSL)(long double);
+typedef long double (*__COSHL)(long double);
+typedef long double (*__EXPL)(long double);
+typedef long double (*__FABSL)(long double);
+typedef long double (*__FLOORL)(long double);
+typedef long double (*__FMODL)(long double, long double);
+typedef long double (*__FREXPL)(long double, int *);
+typedef long double (*__LDEXPL)(long double, int);
+typedef long double (*__LOGL)(long double);
+typedef long double (*__LOG10L)(long double);
+typedef long double (*__MODFL)(long double, long double *);
+typedef long double (*__POWL)(long double, long double);
+typedef long double (*__SINL)(long double);
+typedef long double (*__SINHL)(long double);
+typedef long double (*__SQRTL)(long double);
+typedef long double (*__TANL)(long double);
+typedef long double (*__TANHL)(long double);
+
+typedef float (*__ACOSHF)(float);
+typedef long double (*__ACOSHL)(long double);
+typedef float (*__ASINHF)(float);
+typedef long double (*__ASINHL)(long double);
+typedef float (*__ATANHF)(float);
+typedef long double (*__ATANHL)(long double);
+typedef long double (*__COPYSIGNL)(long double, long double);
+typedef float (*__CBRTF)(float);
+typedef long double (*__CBRTL)(long double);
+typedef float (*__ERFF)(float);
+typedef long double (*__ERFL)(long double);
+typedef float (*__ERFCF)(float);
+typedef long double (*__ERFCL)(long double);
+typedef float (*__EXPM1F)(float);
+typedef long double (*__EXPM1L)(long double);
+typedef float (*__LOG1PF)(float);
+typedef long double (*__LOG1PL)(long double);
+typedef float (*__HYPOTF)(float, float);
+typedef long double (*__HYPOTL)(long double, long double);
+typedef float (*__LGAMMAF)(float);
+typedef long double (*__LGAMMAL)(long double);
+typedef float (*__REMAINDERF)(float, float);
+typedef long double (*__REMAINDERL)(long double, long double);
+typedef float (*__RINTF)(float);
+typedef long double (*__RINTL)(long double);
+
+typedef double (*__EXP2)(double); /* * 2.^x. */
+typedef float (*__EXP2F)(float);
+typedef long double (*__EXP2L)(long double);
+typedef double (*__FDIM)(double, double);
+typedef float (*__FDIMF)(float, float);
+typedef long double (*__FDIML)(long double, long double);
+
+typedef double (*__FMA)(double, double, double);
+typedef float (*__FMAF)(float, float, float);
+
+typedef double (*__FMAX)(double, double);
+typedef float (*__FMAXF)(float, float);
+typedef long double (*__FMAXL)(long double, long double);
+typedef double (*__FMIN)(double, double);
+typedef float (*__FMINF)(float, float);
+typedef long double (*__FMINL)(long double, long double);
+typedef double (*__LOG2)(double); /* * log base 2 of x. */
+typedef float (*__LOG2F)(float);
+typedef long double (*__LOG2L)(long double);
+typedef long (*__LRINT)(double);
+typedef long (*__LRINTF)(float);
+
+typedef long long (*__LLRINT)(double);
+typedef long long (*__LLRINTF)(float);
+
+typedef long (*__LROUND)(double);
+typedef long (*__LROUNDF)(float);
+
+typedef long long (*__LLROUND)(double);
+typedef long long (*__LLROUNDF)(float);
+
+typedef double (*__NAN)(const char *);
+typedef float (*__NANF)(const char *);
+
+typedef double (*__NEARBYINT)(double);
+typedef float (*__NEARBYINTF)(float);
+typedef long double (*__NEARBYINTL)(long double);
+typedef double (*__REMQUO)(double, double, int *);
+typedef float (*__REMQUOF)(float, float, int *);
+
+typedef double (*__ROUND)(double);
+typedef float (*__ROUNDF)(float);
+typedef long double (*__ROUNDL)(long double);
+typedef double (*__TGAMMA)(double); /* * The gamma function of x. */
+typedef float (*__TGAMMAF)(float);
+typedef long double (*__TGAMMAL)(long double);
+typedef double (*__TRUNC)(double);
+typedef float (*__TRUNCF)(float);
+typedef long double (*__TRUNCL)(long double);
+
+struct LIBC_ROM_T
+{
+    // string.h
+    __MEMCPY memcpy;
+    __MEMMOVE memmove;
+    __STRCPY strcpy;
+    __STRNCPY strncpy;
+    __STRCAT strcat;
+    __STRNCAT strncat;
+    __MEMCMP memcmp;
+    __STRCMP strcmp;
+    __STRNCMP strncmp;
+    __STRCASECMP strcasecmp;
+    __STRNCASECMP strncasecmp;
+    __STRCOLL strcoll;
+    __STRXFRM strxfrm;
+    __MEMCHR memchr;
+    __STRCHR strchr;
+    __STRCSPN strcspn;
+    __STRPBRK strpbrk;
+    __STRRCHR strrchr;
+    __STRSPN strspn;
+    __STRSTR strstr;
+    __STRTOK strtok;
+    //__STRTOK_R strtok_r;
+    __MEMSET memset;
+    __STRERROR strerror;
+    __STRLEN strlen;
+    __STRLCPY strlcpy;
+    __STRLCAT strlcat;
+
+    // stdio.h
+    //__PRINTF printf;
+    //__SCANF scanf;
+    __SPRINTF sprintf;
+    __SNPRINTF snprintf;
+    __SSCANF sscanf;
+    __VSSCANF vsscanf;
+    __VSPRINTF vsprintf;
+    __VSNPRINTF vsnprintf;
+
+    // stdlib.h
+    __ATOF atof;
+    __ATOI atoi;
+    __ATOL atol;
+    __ATOLL atoll;
+    __STRTOD strtod;
+    __STRTOF strtof;
+    __STRTOLD strtold;
+
+    __STRTOL strtol;
+    __STRTOUL strtoul;
+    __STRTOLL strtoll;
+    __STRTOULL strtoull;
+    __RAND rand;
+    __SRAND srand;
+
+    //__CALLOC calloc;
+    //__FREE free;
+    //__MALLOC malloc;
+
+    __BSEARCH bsearch;
+    __QSORT qsort;
+    __ABS abs;
+    __DIV div;
+    __LABS labs;
+    __LDIV ldiv;
+    __LLABS llabs;
+    __LLDIV lldiv;
+
+    //__MBLEN mblen;
+    //__MBTOWC mbtowc;
+    //__WCTOMB wctomb;
+    //__MBSTOWCS mbstowcs;
+    //__WCSTOMBS wcstombs;
+
+    // math.h
+
+    __ACOS acos;
+    __ASIN asin;
+    __ATAN2 atan2;
+    __ATAN atan;
+    __CEIL ceil;
+    __COS cos;
+    __COSH cosh;
+    __EXP exp;
+    __FABS fabs;
+    __FLOOR floor;
+    __FMOD fmod;
+    __FREXP frexp;
+    __LDEXP ldexp;
+    __LOG10 log10;
+    __LOG log;
+    __MODF modf;
+    __POW pow;
+    __SIN sin;
+    __SINH sinh;
+    __SQRT sqrt;
+    __TAN tan;
+    __TANH tanh;
+    /* C99 float and long double versions in already-C89-reserved namespace */
+    __ACOSF acosf;
+    __ACOSL acosl;
+    __ASINF asinf;
+    __ASINL asinl;
+    __ATAN2F atan2f;
+    __ATAN2L atan2l;
+    __ATANF atanf;
+    __ATANL atanl;
+    __CEILF ceilf;
+    __CEILL ceill;
+    __COSF cosf;
+    __COSHF coshf;
+    __COSHL coshl;
+    __COSL cosl;
+    __EXPF expf;
+    __EXPL expl;
+    __FABSF fabsf;
+    __FABSL fabsl;
+    __FLOORF floorf;
+    __FLOORL floorl;
+    __FMODF fmodf;
+    __FMODL fmodl;
+    __FREXPF frexpf;
+    __FREXPL frexpl;
+    __LDEXPF ldexpf;
+    __LDEXPL ldexpl;
+    __LOG10F log10f;
+    __LOG10L log10l;
+    __LOGF logf;
+    __LOGL logl;
+    __MODFF modff;
+    __MODFL modfl;
+    __POWF powf;
+    __POWL powl;
+    __SINF sinf;
+    __SINHF sinhf;
+    __SINHL sinhl;
+    __SINL sinl;
+    __SQRTF sqrtf;
+    __SQRTL sqrtl;
+    __TANF tanf;
+    __TANHF tanhf;
+    __TANHL tanhl;
+    __TANL tanl;
+    __ACOSH acosh;
+    __ASINH asinh;
+    __ATANH atanh;
+    __CBRT cbrt;
+
+    __ERF erf;
+    __ERFC erfc;
+    __EXPM1 expm1;
+    __HYPOT hypot;
+    //__ILOGB ilogb;
+    //__ILOGBF ilogbf;
+    //__ILOGBL ilogbl;
+    //__LGAMMA lgamma;
+    __LOG1P log1p;
+    //__LOGB logb;
+    //__LOGBF logbf;
+    //__LOGBL logbl;
+    //__NEXTAFTER nextafter;
+    //__NEXTAFTERF nextafterf;
+    //__NEXTAFTERL nextafterl;
+    //__NEXTTOWARD nexttoward;
+    //__NEXTTOWARDF nexttowardf;
+    //__NEXTTOWARDL nexttowardl;
+    __REMAINDER remainder;
+    __RINT rint;
+    __SCALBLN scalbln;
+    __SCALBLNF scalblnf;
+    __SCALBLNL scalblnl;
+    //__SCALBN scalbn;
+    //__SCALBNF scalbnf;
+    //__SCALBNL scalbnl;
+
+    __ACOSHF acoshf;
+    __ACOSHL acoshl;
+    __ASINHF asinhf;
+    __ASINHL asinhl;
+    __ATANHF atanhf;
+    __ATANHL atanhl;
+    __COPYSIGNL copysignl;
+    __CBRTF cbrtf;
+    __CBRTL cbrtl;
+    __ERFF erff;
+    __ERFL erfl;
+    __ERFCF erfcf;
+    __ERFCL erfcl;
+    __EXPM1F expm1f;
+    __EXPM1L expm1l;
+    __LOG1PF log1pf;
+    __LOG1PL log1pl;
+    __HYPOTF hypotf;
+    __HYPOTL hypotl;
+    //__LGAMMAF lgammaf;
+    //__LGAMMAL lgammal;
+    __REMAINDERF remainderf;
+    __REMAINDERL remainderl;
+    __RINTF rintf;
+    __RINTL rintl;
+
+    /* Functions new in C99. */
+    __EXP2 exp2;
+    __EXP2F exp2f;
+    __EXP2L exp2l;
+    __FDIM fdim;
+    __FDIMF fdimf;
+    __FDIML fdiml;
+    __FMA fma;
+    __FMAF fmaf;
+
+    __FMAX fmax;
+    __FMAXF fmaxf;
+    __FMAXL fmaxl;
+    __FMIN fmin;
+    __FMINF fminf;
+    __FMINL fminl;
+    __LOG2 log2;
+    __LOG2F log2f;
+    __LOG2L log2l;
+    __LRINT lrint;
+    __LRINTF lrintf;
+    __LLRINT llrint;
+    __LLRINTF llrintf;
+    __LROUND lround;
+    __LROUNDF lroundf;
+    __LLROUND llround;
+    __LLROUNDF llroundf;
+    __NAN nan;
+    __NANF nanf;
+    __NEARBYINT nearbyint;
+    __NEARBYINTF nearbyintf;
+    __NEARBYINTL nearbyintl;
+    __REMQUO remquo;
+    __REMQUOF remquof;
+    __ROUND round;
+    __ROUNDF roundf;
+    __ROUNDL roundl;
+    __TGAMMA tgamma;
+    __TGAMMAF tgammaf;
+    __TGAMMAL tgammal;
+    __TRUNC trunc;
+    __TRUNCF truncf;
+    __TRUNCL truncl;
+};
+
+void update_libc_rom_table(void);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
+
+#endif /* LIBC_ROM_H__ */

--
Gitblit v1.9.3