diff --git a/ch32v003fun/ch32v003fun.c b/ch32v003fun/ch32v003fun.c index 9fbd93d1fc53ceb6afa2302960e2d1896647258a..cd0d32ec31e1cc5408824bfeb7d80385a55da4f2 100644 --- a/ch32v003fun/ch32v003fun.c +++ b/ch32v003fun/ch32v003fun.c @@ -71,6 +71,7 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. typedef void * mbstate_t; +#ifdef UNICODE size_t wcrtomb(char *restrict s, wchar_t wc, mbstate_t *restrict st) { if (!s) return 1; @@ -108,6 +109,7 @@ int wctomb(char *s, wchar_t wc) if (!s) return 0; return wcrtomb(s, wc, 0); } +#endif size_t strlen(const char *s) { const char *a = s;for (; *s; s++);return s-a; } size_t strnlen(const char *s, size_t n) { const char *p = memchr(s, 0, n); return p ? p-s : n;} void *memset(void *dest, int c, size_t n) { unsigned char *s = dest; for (; n; n--, s++) *s = c; return dest; } diff --git a/ch32v003fun/ch32v003fun.h b/ch32v003fun/ch32v003fun.h index a32e339ed4fc7f31f06a9f7eae5e5f9d84f705d2..4b33a1b1c8fb51cb8dc0c689c6e1ef68c40e0fc1 100644 --- a/ch32v003fun/ch32v003fun.h +++ b/ch32v003fun/ch32v003fun.h @@ -4822,7 +4822,7 @@ extern "C" { #define DELAY_US_TIME ((SYSTEM_CORE_CLOCK)/8000000) #define DELAY_MS_TIME ((SYSTEM_CORE_CLOCK)/8000) -#if defined(__riscv) || defined(__riscv__) +#if defined(__riscv) || defined(__riscv__) || defined( CH32V003FUN_BASE ) // Stuff that can only be compiled on device (not for the programmer, or other host programs) diff --git a/ch32v003fun/ch32v003fun.mk b/ch32v003fun/ch32v003fun.mk index 6beb3fc9f2ba3dba9b9e70a7193e418a6a560906..756acc64c68c09897c545816969b570e15aec1a5 100644 --- a/ch32v003fun/ch32v003fun.mk +++ b/ch32v003fun/ch32v003fun.mk @@ -31,6 +31,9 @@ $(TARGET).bin : $(TARGET).elf monitor : $(MINICHLINK)/minichlink -T +gdbserver : + $(MINICHLINK)/minichlink -G || true + cv_flash : $(TARGET).bin make -C $(MINICHLINK) all $(MINICHLINK)/minichlink -w $< flash -b