diff --git a/bsp/nuvoton/libraries/m031/rtt_port/drv_rtc.c b/bsp/nuvoton/libraries/m031/rtt_port/drv_rtc.c index 7c24e65b72..96471765e8 100644 --- a/bsp/nuvoton/libraries/m031/rtt_port/drv_rtc.c +++ b/bsp/nuvoton/libraries/m031/rtt_port/drv_rtc.c @@ -29,12 +29,12 @@ /* rtc date upper bound reaches the year of 2099. */ #define RTC_TM_UPPER_BOUND \ -{ .tm_year = CONV_TO_TM_YEAR(2099), \ - .tm_mon = CONV_TO_TM_MON(12), \ - .tm_mday = 31, \ - .tm_hour = 23, \ - .tm_min = 59, \ - .tm_sec = 59, \ +{ .tm_year = CONV_TO_TM_YEAR(2038), \ + .tm_mon = CONV_TO_TM_MON(1), \ + .tm_mday = 19, \ + .tm_hour = 3, \ + .tm_min = 14, \ + .tm_sec = 07, \ } /* rtc date lower bound reaches the year of 2000. */ @@ -57,8 +57,8 @@ static rt_size_t nu_rtc_read(rt_device_t dev, rt_off_t pos, void *buffer, rt_siz static rt_size_t nu_rtc_write(rt_device_t dev, rt_off_t pos, const void *buffer, rt_size_t size); #endif -static rt_err_t nu_rtc_is_date_valid(const time_t *const t); -static void nu_rtc_init(void); +static rt_err_t nu_rtc_is_date_valid(const time_t t); +static rt_err_t nu_rtc_init(void); #if defined(RT_USING_ALARM) static void nu_rtc_alarm_reset(void); @@ -74,7 +74,7 @@ extern rt_err_t set_time(rt_uint32_t hour, rt_uint32_t minute, rt_uint32_t secon static struct rt_device device_rtc; -static void nu_rtc_init(void) +static rt_err_t nu_rtc_init(void) { /* hw rtc initialise */ RTC_Open(NULL); @@ -86,6 +86,8 @@ static void nu_rtc_init(void) RTC_EnableInt(RTC_INTEN_ALMIEN_Msk); NVIC_EnableIRQ(RTC_IRQn); #endif + + return RT_EOK; } @@ -173,7 +175,7 @@ static rt_size_t nu_rtc_write(rt_device_t dev, rt_off_t pos, const void *buffer, #endif -static rt_err_t nu_rtc_is_date_valid(const time_t *const t) +static rt_err_t nu_rtc_is_date_valid(const time_t t) { static struct tm tm_upper = RTC_TM_UPPER_BOUND; static struct tm tm_lower = RTC_TM_LOWER_BOUND; @@ -188,7 +190,7 @@ static rt_err_t nu_rtc_is_date_valid(const time_t *const t) } /* check the date is supported by rtc. */ - if ((*t > t_upper) || (*t < t_lower)) + if ((t > t_upper) || (t < t_lower)) return -(RT_EINVAL); return RT_EOK; @@ -230,11 +232,11 @@ static rt_err_t nu_rtc_control(rt_device_t dev, int cmd, void *args) case RT_DEVICE_CTRL_RTC_SET_TIME: time = (time_t *) args; + + if (nu_rtc_is_date_valid(*time) != RT_EOK) + return -(RT_ERROR); + tm_in = gmtime(time); - - if (nu_rtc_is_date_valid(time) != RT_EOK) - return RT_ERROR; - hw_time.u32Year = CONV_FROM_TM_YEAR(tm_in->tm_year); hw_time.u32Month = CONV_FROM_TM_MON(tm_in->tm_mon); hw_time.u32Day = tm_in->tm_mday; diff --git a/bsp/nuvoton/libraries/m2354/rtt_port/drv_rtc.c b/bsp/nuvoton/libraries/m2354/rtt_port/drv_rtc.c index 44c2ee30dd..0a915ef5f1 100644 --- a/bsp/nuvoton/libraries/m2354/rtt_port/drv_rtc.c +++ b/bsp/nuvoton/libraries/m2354/rtt_port/drv_rtc.c @@ -29,12 +29,12 @@ /* rtc date upper bound reaches the year of 2099. */ #define RTC_TM_UPPER_BOUND \ -{ .tm_year = CONV_TO_TM_YEAR(2099), \ - .tm_mon = CONV_TO_TM_MON(12), \ - .tm_mday = 31, \ - .tm_hour = 23, \ - .tm_min = 59, \ - .tm_sec = 59, \ +{ .tm_year = CONV_TO_TM_YEAR(2038), \ + .tm_mon = CONV_TO_TM_MON(1), \ + .tm_mday = 19, \ + .tm_hour = 3, \ + .tm_min = 14, \ + .tm_sec = 07, \ } /* rtc date lower bound reaches the year of 2000. */ @@ -57,8 +57,8 @@ static rt_err_t nu_rtc_control(rt_device_t dev, int cmd, void *args); static rt_size_t nu_rtc_write(rt_device_t dev, rt_off_t pos, const void *buffer, rt_size_t size); #endif -static rt_err_t nu_rtc_is_date_valid(const time_t *const t); -static void nu_rtc_init(void); +static rt_err_t nu_rtc_is_date_valid(const time_t t); +static rt_err_t nu_rtc_init(void); #if defined(RT_USING_ALARM) static void nu_rtc_alarm_reset(void); @@ -74,7 +74,7 @@ static void nu_rtc_init(void); static struct rt_device device_rtc; -static void nu_rtc_init(void) +static rt_err_t nu_rtc_init(void) { /* hw rtc initialise */ RTC_Open(NULL); @@ -89,6 +89,8 @@ static void nu_rtc_init(void) RTC_EnableInt(RTC_INTEN_ALMIEN_Msk); NVIC_EnableIRQ(RTC_IRQn); #endif + + return RT_EOK; } @@ -176,7 +178,7 @@ static rt_size_t nu_rtc_write(rt_device_t dev, rt_off_t pos, const void *buffer, #endif -static rt_err_t nu_rtc_is_date_valid(const time_t *const t) +static rt_err_t nu_rtc_is_date_valid(const time_t t) { static struct tm tm_upper = RTC_TM_UPPER_BOUND; static struct tm tm_lower = RTC_TM_LOWER_BOUND; @@ -191,7 +193,7 @@ static rt_err_t nu_rtc_is_date_valid(const time_t *const t) } /* check the date is supported by rtc. */ - if ((*t > t_upper) || (*t < t_lower)) + if ((t > t_upper) || (t < t_lower)) return -(RT_EINVAL); return RT_EOK; @@ -233,11 +235,11 @@ static rt_err_t nu_rtc_control(rt_device_t dev, int cmd, void *args) case RT_DEVICE_CTRL_RTC_SET_TIME: time = (time_t *) args; + + if (nu_rtc_is_date_valid(*time) != RT_EOK) + return -(RT_ERROR); + tm_in = gmtime(time); - - if (nu_rtc_is_date_valid(time) != RT_EOK) - return RT_ERROR; - hw_time.u32Year = CONV_FROM_TM_YEAR(tm_in->tm_year); hw_time.u32Month = CONV_FROM_TM_MON(tm_in->tm_mon); hw_time.u32Day = tm_in->tm_mday; diff --git a/bsp/nuvoton/libraries/m480/rtt_port/drv_rtc.c b/bsp/nuvoton/libraries/m480/rtt_port/drv_rtc.c index d642d0116e..4c6f029241 100644 --- a/bsp/nuvoton/libraries/m480/rtt_port/drv_rtc.c +++ b/bsp/nuvoton/libraries/m480/rtt_port/drv_rtc.c @@ -29,12 +29,12 @@ /* rtc date upper bound reaches the year of 2099. */ #define RTC_TM_UPPER_BOUND \ -{ .tm_year = CONV_TO_TM_YEAR(2099), \ - .tm_mon = CONV_TO_TM_MON(12), \ - .tm_mday = 31, \ - .tm_hour = 23, \ - .tm_min = 59, \ - .tm_sec = 59, \ +{ .tm_year = CONV_TO_TM_YEAR(2038), \ + .tm_mon = CONV_TO_TM_MON(1), \ + .tm_mday = 19, \ + .tm_hour = 3, \ + .tm_min = 14, \ + .tm_sec = 07, \ } /* rtc date lower bound reaches the year of 2000. */ @@ -57,8 +57,8 @@ static rt_err_t nu_rtc_control(rt_device_t dev, int cmd, void *args); static rt_size_t nu_rtc_write(rt_device_t dev, rt_off_t pos, const void *buffer, rt_size_t size); #endif -static rt_err_t nu_rtc_is_date_valid(const time_t *const t); -static void nu_rtc_init(void); +static rt_err_t nu_rtc_is_date_valid(const time_t t); +static rt_err_t nu_rtc_init(void); #if defined(RT_USING_ALARM) static void nu_rtc_alarm_reset(void); @@ -74,7 +74,7 @@ static void nu_rtc_init(void); static struct rt_device device_rtc; -static void nu_rtc_init(void) +static rt_err_t nu_rtc_init(void) { /* hw rtc initialise */ RTC_Open(NULL); @@ -88,6 +88,8 @@ static void nu_rtc_init(void) RTC_EnableInt(RTC_INTEN_ALMIEN_Msk); NVIC_EnableIRQ(RTC_IRQn); #endif + + return RT_EOK; } @@ -175,7 +177,7 @@ static rt_size_t nu_rtc_write(rt_device_t dev, rt_off_t pos, const void *buffer, #endif -static rt_err_t nu_rtc_is_date_valid(const time_t *const t) +static rt_err_t nu_rtc_is_date_valid(const time_t t) { static struct tm tm_upper = RTC_TM_UPPER_BOUND; static struct tm tm_lower = RTC_TM_LOWER_BOUND; @@ -190,7 +192,7 @@ static rt_err_t nu_rtc_is_date_valid(const time_t *const t) } /* check the date is supported by rtc. */ - if ((*t > t_upper) || (*t < t_lower)) + if ((t > t_upper) || (t < t_lower)) return -(RT_EINVAL); return RT_EOK; @@ -232,11 +234,11 @@ static rt_err_t nu_rtc_control(rt_device_t dev, int cmd, void *args) case RT_DEVICE_CTRL_RTC_SET_TIME: time = (time_t *) args; + + if (nu_rtc_is_date_valid(*time) != RT_EOK) + return -(RT_ERROR); + tm_in = gmtime(time); - - if (nu_rtc_is_date_valid(time) != RT_EOK) - return RT_ERROR; - hw_time.u32Year = CONV_FROM_TM_YEAR(tm_in->tm_year); hw_time.u32Month = CONV_FROM_TM_MON(tm_in->tm_mon); hw_time.u32Day = tm_in->tm_mday; diff --git a/bsp/nuvoton/libraries/n9h30/Script/InitDDR2.ini b/bsp/nuvoton/libraries/n9h30/Script/InitDDR2.ini new file mode 100644 index 0000000000..5a8723c5ef --- /dev/null +++ b/bsp/nuvoton/libraries/n9h30/Script/InitDDR2.ini @@ -0,0 +1,2 @@ +LOAD %L INCREMENTAL +$ = 0 \ No newline at end of file diff --git a/bsp/nuvoton/libraries/n9h30/Script/N9H30.sct b/bsp/nuvoton/libraries/n9h30/Script/N9H30.sct new file mode 100644 index 0000000000..e5f4257b20 --- /dev/null +++ b/bsp/nuvoton/libraries/n9h30/Script/N9H30.sct @@ -0,0 +1,12 @@ + + +LR_IROM1 0x00000000 { ; load region size_region + ER_IROM1 0x00000000 { ; load address = execution address + *.o (NUC_INIT, +First) + *(InRoot$$Sections) + .ANY (+RO) + } + RW_RAM1 +0 { ; RW_RAM1 start address is after ER_ROM1 + .ANY (+RW +ZI) + } +} diff --git a/bsp/nuvoton/libraries/n9h30/rtt_port/drv_rtc.c b/bsp/nuvoton/libraries/n9h30/rtt_port/drv_rtc.c index 917cb64b50..917753f275 100644 --- a/bsp/nuvoton/libraries/n9h30/rtt_port/drv_rtc.c +++ b/bsp/nuvoton/libraries/n9h30/rtt_port/drv_rtc.c @@ -30,12 +30,12 @@ /* rtc date upper bound reaches the year of 2099. */ #define RTC_TM_UPPER_BOUND \ -{ .tm_year = CONV_TO_TM_YEAR(2099), \ - .tm_mon = CONV_TO_TM_MON(12), \ - .tm_mday = 31, \ - .tm_hour = 23, \ - .tm_min = 59, \ - .tm_sec = 59, \ +{ .tm_year = CONV_TO_TM_YEAR(2038), \ + .tm_mon = CONV_TO_TM_MON(1), \ + .tm_mday = 19, \ + .tm_hour = 3, \ + .tm_min = 14, \ + .tm_sec = 07, \ } /* rtc date lower bound reaches the year of 2000. */ @@ -58,8 +58,8 @@ static rt_err_t nu_rtc_control(rt_device_t dev, int cmd, void *args); static rt_size_t nu_rtc_write(rt_device_t dev, rt_off_t pos, const void *buffer, rt_size_t size); #endif -static rt_err_t nu_rtc_is_date_valid(const time_t *const t); -static void nu_rtc_init(void); +static rt_err_t nu_rtc_is_date_valid(const time_t t); +static rt_err_t nu_rtc_init(void); #if defined(RT_USING_ALARM) static void nu_rtc_alarm_reset(void); @@ -76,7 +76,7 @@ static void nu_rtc_init(void); static struct rt_device device_rtc; -static void nu_rtc_init(void) +static rt_err_t nu_rtc_init(void) { S_RTC_TIME_DATA_T sInitTime = {0}; @@ -114,6 +114,8 @@ static void nu_rtc_init(void) rt_hw_interrupt_umask(IRQ_RTC); #endif + + return RT_EOK; } @@ -194,7 +196,7 @@ static rt_size_t nu_rtc_write(rt_device_t dev, rt_off_t pos, const void *buffer, #endif -static rt_err_t nu_rtc_is_date_valid(const time_t *const t) +static rt_err_t nu_rtc_is_date_valid(const time_t t) { static struct tm tm_upper = RTC_TM_UPPER_BOUND; static struct tm tm_lower = RTC_TM_LOWER_BOUND; @@ -209,7 +211,7 @@ static rt_err_t nu_rtc_is_date_valid(const time_t *const t) } /* check the date is supported by rtc. */ - if ((*t > t_upper) || (*t < t_lower)) + if ((t > t_upper) || (t < t_lower)) return -(RT_EINVAL); return RT_EOK; @@ -255,11 +257,11 @@ static rt_err_t nu_rtc_control(rt_device_t dev, int cmd, void *args) case RT_DEVICE_CTRL_RTC_SET_TIME: time = (time_t *) args; - tm_in = gmtime(time); - if (nu_rtc_is_date_valid(time) != RT_EOK) + if (nu_rtc_is_date_valid(*time) != RT_EOK) return -(RT_ERROR); + tm_in = gmtime(time); hw_time.u32Year = CONV_FROM_TM_YEAR(tm_in->tm_year); hw_time.u32cMonth = CONV_FROM_TM_MON(tm_in->tm_mon); hw_time.u32cDay = tm_in->tm_mday; diff --git a/bsp/nuvoton/libraries/nu_packages/Kconfig b/bsp/nuvoton/libraries/nu_packages/Kconfig index 42724b8ca7..1c7f4d7953 100644 --- a/bsp/nuvoton/libraries/nu_packages/Kconfig +++ b/bsp/nuvoton/libraries/nu_packages/Kconfig @@ -136,16 +136,29 @@ menu "Nuvoton Packages Config" endif - config NU_PKG_USING_ILI_TPC - bool "ILI Series TPC" + config NU_PKG_USING_TPC + bool "Support Touch Panel Controller over I2C" select RT_USING_TOUCH + select RT_TOUCH_PIN_IRQ select RT_USING_I2C - select BSP_USING_I2C - default n + + if NU_PKG_USING_TPC + choice + prompt "Select TPC drivers" + config NU_PKG_USING_TPC_ILI + bool "ILI Series TPC" + default n + + config NU_PKG_USING_TPC_GT911 + bool "GT911 TPC" + default n + endchoice + endif config NU_PKG_USING_ADC_TOUCH bool "ADC touch function" default n + if NU_PKG_USING_ADC_TOUCH config NU_PKG_USING_ADC_TOUCH_SW diff --git a/bsp/nuvoton/libraries/nu_packages/SSD1963/lcd_ssd1963.c b/bsp/nuvoton/libraries/nu_packages/SSD1963/lcd_ssd1963.c index adb414a0be..442b847f99 100644 --- a/bsp/nuvoton/libraries/nu_packages/SSD1963/lcd_ssd1963.c +++ b/bsp/nuvoton/libraries/nu_packages/SSD1963/lcd_ssd1963.c @@ -24,6 +24,7 @@ #endif #define ssd1963_delay_ms(ms) rt_thread_mdelay(ms) +static void ssd1963_fillscreen(rt_uint16_t color); static struct rt_device_graphic_info g_SSD1963Info = { @@ -125,6 +126,8 @@ static rt_err_t ssd1963_lcd_init(rt_device_t dev) ssd1963_send_cmd(0x29); //SET display on ssd1963_delay_ms(5); + ssd1963_fillscreen(0); + SET_DISP_ON; SET_BACKLIGHT_ON; diff --git a/bsp/nuvoton/libraries/nu_packages/TPC/SConscript b/bsp/nuvoton/libraries/nu_packages/TPC/SConscript new file mode 100644 index 0000000000..5040a9a811 --- /dev/null +++ b/bsp/nuvoton/libraries/nu_packages/TPC/SConscript @@ -0,0 +1,18 @@ +from building import * +Import('rtconfig') + +src = [] +cwd = GetCurrentDir() +path = [cwd] + +# add src and include to group. +src += Glob('tpc_worker.c') +if GetDepend('NU_PKG_USING_TPC_ILI'): + src += Glob('ili.c') +elif GetDepend('NU_PKG_USING_TPC_GT911'): + src += Glob('gt911.c') +else: + src = [] + +group = DefineGroup('nu_pkgs_tpc', src, depend = [''], CPPPATH = path) +Return('group') diff --git a/bsp/nuvoton/libraries/nu_packages/TPC/gt911.c b/bsp/nuvoton/libraries/nu_packages/TPC/gt911.c new file mode 100644 index 0000000000..ef5620ffd1 --- /dev/null +++ b/bsp/nuvoton/libraries/nu_packages/TPC/gt911.c @@ -0,0 +1,490 @@ +/* + * Copyright (c) 2006-2018, RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2021-01-13 RiceChen the first version + * 2022-02-25 Wayne optimization + */ + +#include +#include + +#include + +#define DBG_TAG "gt911" +#define DBG_LVL DBG_INFO +#include + +#include "gt911.h" + +static struct rt_i2c_client gt911_client; + +/* hardware section */ +static rt_uint8_t GT911_CFG_TBL[] = +{ + 0x6b, 0x00, 0x04, 0x58, 0x02, 0x05, 0x0d, 0x00, 0x01, 0x0f, + 0x28, 0x0f, 0x50, 0x32, 0x03, 0x05, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8a, 0x2a, 0x0c, + 0x45, 0x47, 0x0c, 0x08, 0x00, 0x00, 0x00, 0x40, 0x03, 0x2c, + 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x64, 0x32, 0x00, 0x00, + 0x00, 0x28, 0x64, 0x94, 0xd5, 0x02, 0x07, 0x00, 0x00, 0x04, + 0x95, 0x2c, 0x00, 0x8b, 0x34, 0x00, 0x82, 0x3f, 0x00, 0x7d, + 0x4c, 0x00, 0x7a, 0x5b, 0x00, 0x7a, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x18, 0x16, 0x14, 0x12, 0x10, 0x0e, 0x0c, 0x0a, + 0x08, 0x06, 0x04, 0x02, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x16, 0x18, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21, + 0x22, 0x24, 0x13, 0x12, 0x10, 0x0f, 0x0a, 0x08, 0x06, 0x04, + 0x02, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x79, 0x01, +}; +static void gt911_touch_up(void *buf, rt_int8_t id); +static rt_err_t gt911_write_reg(struct rt_i2c_client *dev, rt_uint8_t *data, rt_uint8_t len) +{ + struct rt_i2c_msg msgs; + + msgs.addr = dev->client_addr; + msgs.flags = RT_I2C_WR; + msgs.buf = data; + msgs.len = len; + + if (rt_i2c_transfer(dev->bus, &msgs, 1) == 1) + { + return RT_EOK; + } + else + { + return -RT_ERROR; + } +} + +static rt_err_t gt911_read_regs(struct rt_i2c_client *dev, rt_uint8_t *reg, rt_uint8_t *data, rt_uint8_t len) +{ + struct rt_i2c_msg msgs[2]; + + msgs[0].addr = dev->client_addr; + msgs[0].flags = RT_I2C_WR; + msgs[0].buf = reg; + msgs[0].len = GT911_REGITER_LEN; + + msgs[1].addr = dev->client_addr; + msgs[1].flags = RT_I2C_RD; + msgs[1].buf = data; + msgs[1].len = len; + + if (rt_i2c_transfer(dev->bus, msgs, 2) == 2) + { + return RT_EOK; + } + else + { + return -RT_ERROR; + } +} + +static rt_err_t gt911_get_product_id(struct rt_i2c_client *dev, rt_uint8_t *data, rt_uint8_t len) +{ + rt_uint8_t reg[2]; + + reg[0] = (rt_uint8_t)(GT911_PRODUCT_ID >> 8); + reg[1] = (rt_uint8_t)(GT911_PRODUCT_ID & 0xff); + + if (gt911_read_regs(dev, reg, data, len) != RT_EOK) + { + LOG_E("read id failed"); + return -RT_ERROR; + } + return RT_EOK; +} + +static rt_err_t gt911_get_info(struct rt_i2c_client *dev, struct rt_touch_info *info) +{ + rt_uint8_t reg[2]; + rt_uint8_t out_info[7]; + rt_uint8_t out_len = 7; + + reg[0] = (rt_uint8_t)(GT911_CONFIG_REG >> 8); + reg[1] = (rt_uint8_t)(GT911_CONFIG_REG & 0xFF); + + if(gt911_read_regs(dev, reg, out_info, out_len) != RT_EOK) + { + LOG_E("read info failed"); + return -RT_ERROR; + } + + info->range_x = (out_info[2] << 8) | out_info[1]; + info->range_y = (out_info[4] << 8) | out_info[3]; + info->point_num = out_info[5] & 0x0f; + + return RT_EOK; +} + +static rt_err_t gt911_soft_reset(struct rt_i2c_client *dev) +{ + rt_uint8_t buf[3]; + + buf[0] = (rt_uint8_t)(GT911_COMMAND_REG >> 8); + buf[1] = (rt_uint8_t)(GT911_COMMAND_REG & 0xFF); + buf[2] = 0x02; + + if(gt911_write_reg(dev, buf, 3) != RT_EOK) + { + LOG_E("soft reset failed"); + return -RT_ERROR; + } + return RT_EOK; +} + +static rt_int16_t pre_x[GT911_MAX_TOUCH] = {-1, -1, -1, -1, -1}; +static rt_int16_t pre_y[GT911_MAX_TOUCH] = {-1, -1, -1, -1, -1}; +static rt_int16_t pre_w[GT911_MAX_TOUCH] = {-1, -1, -1, -1, -1}; +static rt_uint8_t s_tp_dowm[GT911_MAX_TOUCH]; + +static void gt911_touch_up(void *buf, rt_int8_t id) +{ + struct rt_touch_data *read_data = (struct rt_touch_data *)buf; + + if(s_tp_dowm[id] == 1) + { + s_tp_dowm[id] = 0; + read_data[id].event = RT_TOUCH_EVENT_UP; + } + else + { + read_data[id].event = RT_TOUCH_EVENT_NONE; + } + + read_data[id].timestamp = rt_touch_get_ts(); + read_data[id].width = pre_w[id]; + read_data[id].x_coordinate = pre_x[id]; + read_data[id].y_coordinate = pre_y[id]; + read_data[id].track_id = id; + + pre_x[id] = -1; /* last point is none */ + pre_y[id] = -1; + pre_w[id] = -1; +} + +static void gt911_touch_down(void *buf, rt_int8_t id, rt_int16_t x, rt_int16_t y, rt_int16_t w) +{ + struct rt_touch_data *read_data = (struct rt_touch_data *)buf; + + if (s_tp_dowm[id] == 1) + { + read_data[id].event = RT_TOUCH_EVENT_MOVE; + + } + else + { + read_data[id].event = RT_TOUCH_EVENT_DOWN; + s_tp_dowm[id] = 1; + } + + read_data[id].timestamp = rt_touch_get_ts(); + read_data[id].width = w; + read_data[id].x_coordinate = x; + read_data[id].y_coordinate = y; + read_data[id].track_id = id; + + pre_x[id] = x; /* save last point */ + pre_y[id] = y; + pre_w[id] = w; +} + +static rt_size_t gt911_read_point(struct rt_touch_device *touch, void *buf, rt_size_t read_num) +{ + rt_uint8_t point_status = 0; + rt_uint8_t touch_num = 0; + rt_uint8_t write_buf[3]; + rt_uint8_t cmd[2]; + rt_uint8_t read_buf[8 * GT911_MAX_TOUCH] = {0}; + rt_uint8_t read_index; + rt_int8_t read_id = 0; + rt_int16_t input_x = 0; + rt_int16_t input_y = 0; + rt_int16_t input_w = 0; + + static rt_uint8_t pre_touch = 0; + static rt_int8_t pre_id[GT911_MAX_TOUCH] = {0}; + + /* point status register */ + cmd[0] = (rt_uint8_t)((GT911_READ_STATUS >> 8) & 0xFF); + cmd[1] = (rt_uint8_t)(GT911_READ_STATUS & 0xFF); + + if (gt911_read_regs(>911_client, cmd, &point_status, 1) != RT_EOK) + { + LOG_D("read point failed\n"); + read_num = 0; + goto exit_; + } + + if (point_status == 0) /* no data */ + { + read_num = 0; + goto exit_; + } + + if ((point_status & 0x80) == 0) /* data is not ready */ + { + read_num = 0; + goto exit_; + } + + touch_num = point_status & 0x0f; /* get point num */ + + if (touch_num > GT911_MAX_TOUCH) /* point num is not correct */ + { + read_num = 0; + goto exit_; + } + + cmd[0] = (rt_uint8_t)((GT911_POINT1_REG >> 8) & 0xFF); + cmd[1] = (rt_uint8_t)(GT911_POINT1_REG & 0xFF); + + /* read point num is touch_num */ + if(gt911_read_regs(>911_client, cmd, read_buf, read_num * GT911_POINT_INFO_NUM) !=RT_EOK) + { + LOG_D("read point failed\n"); + read_num = 0; + goto exit_; + } + + if(pre_touch > touch_num) /* point up */ + { + for (read_index = 0; read_index < pre_touch; read_index++) + { + rt_uint8_t j; + + for (j = 0; j < touch_num; j++) /* this time touch num */ + { + read_id = read_buf[j * 8] & 0x0F; + + if (pre_id[read_index] == read_id) /* this id is not free */ + break; + + if (j >= touch_num - 1) + { + rt_uint8_t up_id; + up_id = pre_id[read_index]; + gt911_touch_up(buf, up_id); + } + } + } + } + + if(touch_num) /* point down */ + { + rt_uint8_t off_set; + + for(read_index = 0; read_index < touch_num; read_index++) + { + off_set = read_index * 8; + read_id = read_buf[off_set] & 0x0f; + pre_id[read_index] = read_id; + input_x = read_buf[off_set + 1] | (read_buf[off_set + 2] << 8); /* x */ + input_y = read_buf[off_set + 3] | (read_buf[off_set + 4] << 8); /* y */ + input_w = read_buf[off_set + 5] | (read_buf[off_set + 6] << 8); /* size */ + + gt911_touch_down(buf, read_id, input_x, input_y, input_w); + } + } + else if (pre_touch) + { + for(read_index = 0; read_index < pre_touch; read_index++) + { + gt911_touch_up(buf, pre_id[read_index]); + } + } + + pre_touch = touch_num; + +exit_: + write_buf[0] = (rt_uint8_t)((GT911_READ_STATUS >> 8) & 0xFF); + write_buf[1] = (rt_uint8_t)(GT911_READ_STATUS & 0xFF); + write_buf[2] = 0x00; + gt911_write_reg(>911_client, write_buf, 3); + + return read_num; +} + +static rt_err_t gt911_control(struct rt_touch_device *touch, int cmd, void *arg) +{ + if (cmd == RT_TOUCH_CTRL_GET_ID) + { + return gt911_get_product_id(>911_client, arg, 6); + } + + if (cmd == RT_TOUCH_CTRL_GET_INFO) + { + return gt911_get_info(>911_client, arg); + } + + rt_uint8_t buf[4]; + rt_uint8_t i = 0; + rt_uint8_t *config; + + config = (rt_uint8_t *)rt_calloc(1, sizeof(GT911_CFG_TBL) + GT911_REGITER_LEN); + if(config == RT_NULL) + { + LOG_D("malloc config memory failed\n"); + return -RT_ERROR; + } + + config[0] = (rt_uint8_t)((GT911_CONFIG_REG >> 8) & 0xFF); + config[1] = (rt_uint8_t)(GT911_CONFIG_REG & 0xFF); + + memcpy(&config[2], GT911_CFG_TBL, sizeof(GT911_CFG_TBL)); + + switch(cmd) + { + case RT_TOUCH_CTRL_SET_X_RANGE: + { + rt_uint16_t x_range; + + x_range = *(rt_uint16_t *)arg; + config[4] = (rt_uint8_t)(x_range >> 8); + config[3] = (rt_uint8_t)(x_range & 0xff); + + GT911_CFG_TBL[2] = config[4]; + GT911_CFG_TBL[1] = config[3]; + break; + } + case RT_TOUCH_CTRL_SET_Y_RANGE: + { + rt_uint16_t y_range; + + y_range = *(rt_uint16_t *)arg; + config[6] = (rt_uint8_t)(y_range >> 8); + config[5] = (rt_uint8_t)(y_range & 0xff); + + GT911_CFG_TBL[4] = config[6]; + GT911_CFG_TBL[3] = config[5]; + break; + } + case RT_TOUCH_CTRL_SET_X_TO_Y: + { + config[8] ^= (1 << 3); + break; + } + case RT_TOUCH_CTRL_SET_MODE: + { + rt_uint16_t trig_type; + trig_type = *(rt_uint16_t *)arg; + + switch (trig_type) + { + case RT_DEVICE_FLAG_INT_RX: + config[8] &= 0xFC; + break; + case RT_DEVICE_FLAG_RDONLY: + config[8] &= 0xFC; + config[8] |= 0x02; + break; + default: + break; + } + break; + } + default: + { + break; + } + } + + if(gt911_write_reg(>911_client, config, sizeof(GT911_CFG_TBL) + GT911_ADDR_LEN) != RT_EOK) + { + LOG_D("send config failed"); + return -1; + } + + buf[0] = (rt_uint8_t)((GT911_CHECK_SUM >> 8) & 0xFF); + buf[1] = (rt_uint8_t)(GT911_CHECK_SUM & 0xFF); + buf[2] = 0; + + for(i = GT911_ADDR_LEN; i < sizeof(GT911_CFG_TBL) + GT911_ADDR_LEN; i++) + { + buf[GT911_ADDR_LEN] += config[i]; + } + + buf[2] = (~buf[2]) + 1; + buf[3] = 1; + + gt911_write_reg(>911_client, buf, 4); + rt_free(config); + + return RT_EOK; +} + +static struct rt_touch_ops gt911_touch_ops = +{ + .touch_readpoint = gt911_read_point, + .touch_control = gt911_control, +}; + +int rt_hw_gt911_init(const char *name, struct rt_touch_config *cfg) +{ + struct rt_touch_device *touch_device = RT_NULL; + rt_uint32_t bus_speed = 400000; + + touch_device = (struct rt_touch_device *)rt_malloc(sizeof(struct rt_touch_device)); + if(touch_device == RT_NULL) + { + LOG_E("touch device malloc fail"); + return -RT_ERROR; + } + rt_memset((void *)touch_device, 0, sizeof(struct rt_touch_device)); + + /* hw init*/ + rt_pin_mode(*(rt_uint8_t *)cfg->user_data, PIN_MODE_OUTPUT); + rt_pin_mode(cfg->irq_pin.pin, PIN_MODE_OUTPUT); + + rt_pin_write(*(rt_uint8_t *)cfg->user_data, PIN_LOW); + rt_pin_write(cfg->irq_pin.pin, PIN_LOW); + rt_thread_delay(10); + rt_pin_write(*(rt_uint8_t *)cfg->user_data, PIN_HIGH); + rt_thread_delay(10); + rt_pin_write(cfg->irq_pin.pin, PIN_MODE_INPUT); + rt_thread_delay(100); + + gt911_client.bus = (struct rt_i2c_bus_device *)rt_device_find(cfg->dev_name); + + if(gt911_client.bus == RT_NULL) + { + LOG_E("Can't find %s device", cfg->dev_name); + return -RT_ERROR; + } + + if(rt_device_open((rt_device_t)gt911_client.bus, RT_DEVICE_FLAG_RDWR) != RT_EOK) + { + LOG_E("open %s device failed", cfg->dev_name); + return -RT_ERROR; + } + + if ( rt_device_control((rt_device_t)gt911_client.bus, RT_I2C_DEV_CTRL_CLK, &bus_speed) != RT_EOK ) + { + LOG_E("control %s device failed", cfg->dev_name); + return -RT_ERROR; + } + + gt911_client.client_addr = GT911_ADDRESS_HIGH; + gt911_soft_reset(>911_client); + + /* register touch device */ + touch_device->info.type = RT_TOUCH_TYPE_CAPACITANCE; + touch_device->info.vendor = RT_TOUCH_VENDOR_GT; + rt_memcpy(&touch_device->config, cfg, sizeof(struct rt_touch_config)); + touch_device->ops = >911_touch_ops; + + rt_hw_touch_register(touch_device, name, RT_DEVICE_FLAG_INT_RX, RT_NULL); + + LOG_I("touch device gt911 init success"); + + return RT_EOK; +} diff --git a/bsp/nuvoton/libraries/nu_packages/TPC/gt911.h b/bsp/nuvoton/libraries/nu_packages/TPC/gt911.h new file mode 100644 index 0000000000..61221bf3fe --- /dev/null +++ b/bsp/nuvoton/libraries/nu_packages/TPC/gt911.h @@ -0,0 +1,41 @@ +/* + * Copyright (c) 2006-2018, RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2021-01-13 RiceChen the first version + */ + +#ifndef __GT911_H__ +#define __GT911_H__ + +#include "touch.h" + +#define GT911_ADDR_LEN 2 +#define GT911_REGITER_LEN 2 +#define GT911_MAX_TOUCH 5 +#define GT911_POINT_INFO_NUM 1 + +#define GT911_ADDRESS_HIGH 0x5D +#define GT911_ADDRESS_LOW 0x14 + +#define GT911_COMMAND_REG 0x8040 +#define GT911_CONFIG_REG 0x8047 + +#define GT911_PRODUCT_ID 0x8140 +#define GT911_VENDOR_ID 0x814A +#define GT911_READ_STATUS 0x814E + +#define GT911_POINT1_REG 0x814F +#define GT911_POINT2_REG 0x8157 +#define GT911_POINT3_REG 0x815F +#define GT911_POINT4_REG 0x8167 +#define GT911_POINT5_REG 0x816F + +#define GT911_CHECK_SUM 0x80FF + +int rt_hw_gt911_init(const char *name, struct rt_touch_config *cfg); + +#endif /* gt911.h */ diff --git a/bsp/nuvoton/libraries/nu_packages/TPC/ili.c b/bsp/nuvoton/libraries/nu_packages/TPC/ili.c new file mode 100644 index 0000000000..f8cb0237b4 --- /dev/null +++ b/bsp/nuvoton/libraries/nu_packages/TPC/ili.c @@ -0,0 +1,644 @@ +/* + * Copyright (c) 2006-2018, RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2022-02-25 Wayne the first version + */ + +#include +#include + +#include + +#define DBG_TAG "ili_tpc" +#define DBG_LVL DBG_INFO +#include + +#include "ili.h" + +#define ILI_MAX_TOUCH 5 +#define ILI_ADDRESS 0x41 + +#define BL_V1_8 0x108 +#define BL_V1_7 0x107 +#define BL_V1_6 0x106 + +#define ILITEK_TP_CMD_GET_TP_RES 0x20 +#define ILITEK_TP_CMD_GET_SCRN_RES 0x21 +#define ILITEK_TP_CMD_SET_IC_SLEEP 0x30 +#define ILITEK_TP_CMD_SET_IC_WAKE 0x31 +#define ILITEK_TP_CMD_GET_FW_VER 0x40 +#define ILITEK_TP_CMD_GET_PRL_VER 0x42 +#define ILITEK_TP_CMD_GET_MCU_VER 0x61 +#define ILITEK_TP_CMD_GET_IC_MODE 0xC0 +#define ILITEK_TP_CMD_RESET 0x60 + +#define REPORT_COUNT_ADDRESS 61 + +struct ili_protocol_info +{ + rt_uint16_t ver; + rt_uint8_t ver_major; +}; + +struct ili_ts_data +{ + struct rt_touch_device touch_device; + struct rt_i2c_client *client; + + rt_base_t reset_pin; + rt_base_t irq_pin; + + struct ili_protocol_info ptl; + rt_uint8_t product_id[30]; + rt_uint16_t mcu_ver; + rt_uint8_t ic_mode; + rt_uint8_t firmware_ver[8]; + + rt_int32_t screen_max_x; + rt_int32_t screen_max_y; + rt_int32_t screen_min_x; + rt_int32_t screen_min_y; + rt_int32_t max_tp; +}; +typedef struct ili_ts_data *ili_ts_data_t; + +// Private data +static struct ili_ts_data g_iliTsData; + +static rt_err_t ili_i2c_write_and_read(struct rt_i2c_client *psI2cClient, + rt_uint8_t *cmd, int write_len, int delay, + rt_uint8_t *data, int read_len) +{ + struct rt_i2c_msg msgs[] = + { + { + .addr = psI2cClient->client_addr, + .flags = RT_I2C_WR, + .len = write_len, + .buf = cmd, + }, + { + .addr = psI2cClient->client_addr, + .flags = RT_I2C_RD, + .len = read_len, + .buf = data, + }, + }; + + if (delay == 0 && write_len > 0 && read_len > 0) + { + if (rt_i2c_transfer(psI2cClient->bus, msgs, 2) != 2) + goto exit_ili_i2c_write_and_read; + } + else + { + if (write_len > 0) + { + if (rt_i2c_transfer(psI2cClient->bus, msgs, 1) != 1) + goto exit_ili_i2c_write_and_read; + } + + if (delay > 0) + rt_thread_mdelay(delay); + + if (read_len > 0) + { + if (rt_i2c_transfer(psI2cClient->bus, msgs + 1, 1) != 1) + goto exit_ili_i2c_write_and_read; + } + } + + return RT_EOK; + +exit_ili_i2c_write_and_read: + + return -RT_ERROR; +} + +static int ili_get_ptl_ver(ili_ts_data_t psIliTs, + rt_uint16_t cmd, rt_uint8_t *inbuf, rt_uint8_t *outbuf) +{ + rt_int32_t error; + rt_uint8_t buf[64]; + + buf[0] = cmd; + error = ili_i2c_write_and_read(psIliTs->client, buf, 1, 5, outbuf, 3); + if (error) + return error; + + psIliTs->ptl.ver = nu_get16_be(outbuf); + psIliTs->ptl.ver_major = outbuf[0]; + + return 0; +} + +static int ili_get_mcu_ver(ili_ts_data_t psIliTs, + rt_uint16_t cmd, rt_uint8_t *inbuf, rt_uint8_t *outbuf) +{ + rt_int32_t error; + rt_uint8_t buf[64]; + + buf[0] = cmd; + error = ili_i2c_write_and_read(psIliTs->client, buf, 1, 5, outbuf, 32); + if (error) + return error; + + psIliTs->mcu_ver = nu_get16_le(outbuf); + rt_memset(psIliTs->product_id, 0, sizeof(psIliTs->product_id)); + rt_memcpy(psIliTs->product_id, outbuf + 6, 26); + + return 0; +} + +static int ili_get_fw_ver(ili_ts_data_t psIliTs, + rt_uint16_t cmd, rt_uint8_t *inbuf, rt_uint8_t *outbuf) +{ + rt_int32_t error; + rt_uint8_t buf[64]; + + buf[0] = cmd; + error = ili_i2c_write_and_read(psIliTs->client, buf, 1, 5, outbuf, 8); + if (error) + return error; + + rt_memcpy(psIliTs->firmware_ver, outbuf, 8); + + return 0; +} + +static int ili_get_scrn_res(ili_ts_data_t psIliTs, + rt_uint16_t cmd, rt_uint8_t *inbuf, rt_uint8_t *outbuf) +{ + rt_int32_t error; + rt_uint8_t buf[64]; + + buf[0] = cmd; + error = ili_i2c_write_and_read(psIliTs->client, buf, 1, 5, outbuf, 8); + if (error) + return error; + + psIliTs->screen_min_x = nu_get16_le(outbuf); + psIliTs->screen_min_y = nu_get16_le(outbuf + 2); + psIliTs->screen_max_x = nu_get16_le(outbuf + 4); + psIliTs->screen_max_y = nu_get16_le(outbuf + 6); + + return 0; +} + +static int ili_get_tp_res(ili_ts_data_t psIliTs, + rt_uint16_t cmd, rt_uint8_t *inbuf, rt_uint8_t *outbuf) +{ + rt_int32_t error; + rt_uint8_t buf[64]; + + buf[0] = cmd; + error = ili_i2c_write_and_read(psIliTs->client, buf, 1, 5, outbuf, 15); + if (error) + return error; + + psIliTs->max_tp = outbuf[8]; + if (psIliTs->max_tp > ILI_MAX_TOUCH) + { + return -RT_EINVAL; + } + + return 0; +} + +static int ili_get_ic_mode(ili_ts_data_t psIliTs, + rt_uint16_t cmd, rt_uint8_t *inbuf, rt_uint8_t *outbuf) +{ + rt_int32_t error; + rt_uint8_t buf[64]; + + buf[0] = cmd; + error = ili_i2c_write_and_read(psIliTs->client, buf, 1, 5, outbuf, 2); + if (error) + return error; + + psIliTs->ic_mode = outbuf[0]; + return 0; +} + +static int ili_send_soft_reset(ili_ts_data_t psIliTs, + rt_uint16_t cmd, rt_uint8_t *inbuf, rt_uint8_t *outbuf) +{ + rt_int32_t error; + rt_uint8_t buf[64]; + + buf[0] = cmd; + error = ili_i2c_write_and_read(psIliTs->client, buf, 1, 0, RT_NULL, 0); + if (error) + return error; + + return 0; +} + +static void ili_tpc_reset(ili_ts_data_t psIliTs, int delay_ms) +{ + if (0) + { + //FIXME + /* hw pin init*/ + rt_pin_mode(psIliTs->reset_pin, PIN_MODE_OUTPUT); + + /* Reset */ + rt_pin_write(psIliTs->reset_pin, PIN_HIGH); + rt_thread_mdelay(10); + rt_pin_write(psIliTs->reset_pin, PIN_LOW); + } + else + { + rt_err_t error; + error = ili_send_soft_reset(psIliTs, ILITEK_TP_CMD_RESET, RT_NULL, RT_NULL); + if (error) + return; + } + rt_thread_mdelay(delay_ms); +} + +static rt_err_t ili_get_info(ili_ts_data_t psIliTs, struct rt_touch_info *info) +{ + rt_uint8_t outbuf[256]; + rt_err_t error; + + error = ili_get_ptl_ver(psIliTs, ILITEK_TP_CMD_GET_PRL_VER, RT_NULL, outbuf); + if (error) + goto exit_ili_get_info; + + error = ili_get_mcu_ver(psIliTs, ILITEK_TP_CMD_GET_MCU_VER, RT_NULL, outbuf); + if (error) + goto exit_ili_get_info; + + error = ili_get_fw_ver(psIliTs, ILITEK_TP_CMD_GET_FW_VER, NULL, outbuf); + if (error) + goto exit_ili_get_info; + + error = ili_get_scrn_res(psIliTs, ILITEK_TP_CMD_GET_SCRN_RES, NULL, outbuf); + if (error) + goto exit_ili_get_info; + + error = ili_get_tp_res(psIliTs, ILITEK_TP_CMD_GET_TP_RES, NULL, outbuf); + if (error) + goto exit_ili_get_info; + + error = ili_get_ic_mode(psIliTs, ILITEK_TP_CMD_GET_IC_MODE, NULL, outbuf); + if (error) + goto exit_ili_get_info; + + LOG_I("touch device probed"); + + return RT_EOK; + +exit_ili_get_info: + + return -RT_ERROR; +} + +static void ili_info_dump(ili_ts_data_t psIliTs) +{ + rt_kprintf("reset_pin: %d\n", psIliTs->reset_pin); + rt_kprintf("irq_pin: %d\n", psIliTs->irq_pin); + rt_kprintf("ptl.ver: %x \n", psIliTs->ptl.ver_major); + rt_kprintf("mcu_ver: %x\n", psIliTs->mcu_ver); + rt_kprintf("firmware_ver:[%02X%02X.%02X%02X.%02X%02X.%02X%02X]\n", + psIliTs->firmware_ver[0], + psIliTs->firmware_ver[1], + psIliTs->firmware_ver[2], + psIliTs->firmware_ver[3], + psIliTs->firmware_ver[4], + psIliTs->firmware_ver[5], + psIliTs->firmware_ver[6], + psIliTs->firmware_ver[7]); + + rt_kprintf("product_id: %s\n", psIliTs->product_id); + + rt_kprintf("screen_max_x: %d\n", psIliTs->screen_max_x); + rt_kprintf("screen_max_y: %d\n", psIliTs->screen_max_y); + rt_kprintf("screen_min_x: %d\n", psIliTs->screen_min_x); + rt_kprintf("screen_min_y: %d\n", psIliTs->screen_min_y); + rt_kprintf("max_tp: %d\n", psIliTs->max_tp); + rt_kprintf("ic_mode: %d\n", psIliTs->ic_mode); +} + +static rt_int16_t pre_x[ILI_MAX_TOUCH] = {-1, -1, -1, -1, -1}; +static rt_int16_t pre_y[ILI_MAX_TOUCH] = {-1, -1, -1, -1, -1}; +static rt_int16_t pre_w[ILI_MAX_TOUCH] = {-1, -1, -1, -1, -1}; +static rt_uint8_t s_tp_dowm[ILI_MAX_TOUCH]; + +static void ili_touch_up(void *buf, int8_t id) +{ + struct rt_touch_data *read_data = (struct rt_touch_data *)buf; + + if (s_tp_dowm[id] == 1) + { + s_tp_dowm[id] = 0; + read_data[id].event = RT_TOUCH_EVENT_UP; + } + else + { + read_data[id].event = RT_TOUCH_EVENT_NONE; + } + + read_data[id].timestamp = rt_touch_get_ts(); + read_data[id].width = pre_w[id]; + read_data[id].x_coordinate = pre_x[id]; + read_data[id].y_coordinate = pre_y[id]; + read_data[id].track_id = id; + + pre_x[id] = -1; /* last point is none */ + pre_y[id] = -1; + pre_w[id] = -1; +} + +static void ili_touch_down(void *buf, int8_t id, int16_t x, int16_t y, int16_t w) +{ + struct rt_touch_data *read_data = (struct rt_touch_data *)buf; + + if (s_tp_dowm[id] == 1) + { + read_data[id].event = RT_TOUCH_EVENT_MOVE; + + } + else + { + read_data[id].event = RT_TOUCH_EVENT_DOWN; + s_tp_dowm[id] = 1; + } + + read_data[id].timestamp = rt_touch_get_ts(); + read_data[id].width = w; + read_data[id].x_coordinate = x; + read_data[id].y_coordinate = y; + read_data[id].track_id = id; + + pre_x[id] = x; /* save last point */ + pre_y[id] = y; + pre_w[id] = w; +} + +static rt_size_t ili_read_point(struct rt_touch_device *touch, void *buf, rt_size_t read_num) +{ +#define DIV_ROUND_UP(n,d) (((n) + (d) - 1) / (d)) + + struct ili_ts_data *ts = (ili_ts_data_t)touch; + rt_uint8_t tmpbuf[256] = {0}; + rt_err_t error = 0; + rt_int32_t packet_len = 5; + rt_int32_t packet_max_point = 10; + rt_int8_t touch_num; + rt_int32_t i, count; + rt_uint16_t x, y; + rt_int32_t tip, point_id; + + static rt_uint8_t pre_touch = 0; + static int8_t pre_id[ILI_MAX_TOUCH] = {0}; + + error = ili_i2c_write_and_read(ts->client, NULL, 0, 0, tmpbuf, 64); + if (error) + { + LOG_E("get touch info failed, err:%d\n", error); + goto exit_ili_read_point; + } + + touch_num = tmpbuf[REPORT_COUNT_ADDRESS]; + if (touch_num > ts->max_tp) + { + LOG_E("FW report max point:%d > panel info. max:%d\n", touch_num, ts->max_tp); + goto exit_ili_read_point; + } + + count = DIV_ROUND_UP(touch_num, packet_max_point); + for (i = 1; i < count; i++) + { + error = ili_i2c_write_and_read(ts->client, NULL, 0, 0, tmpbuf + i * 64, 64); + if (error) + { + LOG_E("get touch info. failed, cnt:%d, err:%d\n", count, error); + goto exit_ili_read_point; + } + } + + if (pre_touch > touch_num) /* point up */ + { + for (i = 0; i < pre_touch; i++) + { + rt_uint8_t j; + for (j = 0; j < touch_num; j++) /* this time touch num */ + { + point_id = tmpbuf[j * packet_len + 1] & 0x3F; + + if (pre_id[i] == point_id) /* this id is not free */ + break; + + if (j >= touch_num - 1) + { + ili_touch_up(buf, pre_id[i]); + } + } + } + } + if (touch_num > 0) + { + uint32_t range_x = touch->info.range_x; + uint32_t range_y = touch->info.range_y; + + for (i = 0; i < touch_num; i++) + { + tip = tmpbuf[i * packet_len + 1] & 0x40; + point_id = tmpbuf[i * packet_len + 1] & 0x3F; + pre_id[i] = point_id; + if (!tip) + { + // Up + ili_touch_up(buf, point_id); + continue; + } + + x = nu_get16_le(tmpbuf + i * packet_len + 2); + y = nu_get16_le(tmpbuf + i * packet_len + 4); + + if (x > ts->screen_max_x || x < ts->screen_min_x || + y > ts->screen_max_y || y < ts->screen_min_y) + { + LOG_E("invalid position, X[%d,%u,%d], Y[%d,%u,%d]\n", + ts->screen_min_x, x, ts->screen_max_x, + ts->screen_min_y, y, ts->screen_max_y); + continue; + } + x = (uint16_t)(range_x * x / ts->screen_max_x); + y = (uint16_t)(range_y * y / ts->screen_max_y); + + ili_touch_down(buf, point_id, x, y, 255); + } + } + + pre_touch = touch_num; + + return read_num; + +exit_ili_read_point: + + return 0; +} + +static rt_err_t ili_control(struct rt_touch_device *touch, int cmd, void *arg) +{ + switch (cmd) + { + case RT_TOUCH_CTRL_GET_ID: + { + RT_ASSERT(arg); + rt_uint8_t *pu8ID = arg; + rt_memcpy((void *)pu8ID, (void *)&g_iliTsData.product_id[0], 8); + } + break; + + case RT_TOUCH_CTRL_GET_INFO: + { + RT_ASSERT(arg); + + touch->info.type = RT_TOUCH_TYPE_CAPACITANCE; + touch->info.vendor = RT_TOUCH_VENDOR_UNKNOWN; + touch->info.point_num = g_iliTsData.max_tp; + + rt_memcpy(arg, &touch->info, sizeof(struct rt_touch_info)); + } + break; + + case RT_TOUCH_CTRL_SET_X_RANGE: + { + RT_ASSERT(arg); + uint16_t range_x = *(rt_uint16_t *)arg; + if (range_x > g_iliTsData.screen_max_x || range_x < g_iliTsData.screen_min_x) + { + LOG_E("Set x range failed. %d", range_x); + } + else + { + touch->info.range_x = range_x; + } + } + break; + + case RT_TOUCH_CTRL_SET_Y_RANGE: + { + RT_ASSERT(arg); + uint16_t range_y = *(rt_uint16_t *)arg; + if (range_y > g_iliTsData.screen_max_y || range_y < g_iliTsData.screen_min_y) + { + LOG_E("Set y range failed. %d", range_y); + } + else + { + touch->info.range_y = range_y; + } + } + break; + + case RT_TOUCH_CTRL_SET_MODE: + { + rt_uint16_t trig_type; + RT_ASSERT(arg); + trig_type = *(rt_uint16_t *)arg; + + switch (trig_type) + { + case RT_DEVICE_FLAG_INT_RX: + break; + case RT_DEVICE_FLAG_RDONLY: + break; + default: + break; + } + } + break; + + default: + { + } + break; + + } + + return RT_EOK; +} + +static struct rt_touch_ops ili_touch_ops = +{ + .touch_readpoint = ili_read_point, + .touch_control = ili_control, +}; + +int rt_hw_ili_tpc_init(const char *name, struct rt_touch_config *cfg) +{ + struct rt_touch_device *touch_device = RT_NULL; + rt_uint32_t bus_speed = 400000; + + touch_device = (struct rt_touch_device *)&g_iliTsData.touch_device; + rt_memset((void *)touch_device, 0, sizeof(struct rt_touch_device)); + + g_iliTsData.client = (struct rt_i2c_client *)rt_malloc(sizeof(struct rt_i2c_client)); + if (g_iliTsData.client == RT_NULL) + { + LOG_E("touch device malloc fail"); + goto exit_rt_hw_ili_tpc_init; + } + rt_memset((void *)g_iliTsData.client, 0, sizeof(struct rt_i2c_client)); + + g_iliTsData.reset_pin = *((rt_base_t *)cfg->user_data); + g_iliTsData.irq_pin = cfg->irq_pin.pin; + + g_iliTsData.client->client_addr = ILI_ADDRESS; + g_iliTsData.client->bus = (struct rt_i2c_bus_device *)rt_device_find(cfg->dev_name); + if (g_iliTsData.client->bus == RT_NULL) + { + LOG_E("Can't find %s device", cfg->dev_name); + goto exit_rt_hw_ili_tpc_init; + } + + if (rt_device_open((rt_device_t)g_iliTsData.client->bus, RT_DEVICE_FLAG_RDWR) != RT_EOK) + { + LOG_E("open %s device failed", cfg->dev_name); + goto exit_rt_hw_ili_tpc_init; + } + + /* register touch device */ + rt_memcpy(&touch_device->config, cfg, sizeof(struct rt_touch_config)); + touch_device->ops = &ili_touch_ops; + if (rt_hw_touch_register(touch_device, name, RT_DEVICE_FLAG_INT_RX, RT_NULL) != RT_EOK) + { + LOG_E("register %s device failed", name); + goto exit_rt_hw_ili_tpc_init; + } + + ili_tpc_reset(&g_iliTsData, 300); + + if (rt_device_control((rt_device_t)g_iliTsData.client->bus, RT_I2C_DEV_CTRL_CLK, &bus_speed) != RT_EOK) + { + LOG_E("control %s device failed", cfg->dev_name); + goto exit_rt_hw_ili_tpc_init; + } + + /* Probe */ + if (ili_get_info(&g_iliTsData, &touch_device->info) != RT_EOK) + { + LOG_E("Get info failed"); + return -RT_ERROR; + } + ili_info_dump(&g_iliTsData); + + + return 0; + +exit_rt_hw_ili_tpc_init: + + if (g_iliTsData.client) + rt_free(g_iliTsData.client); + + return -RT_ERROR; +} diff --git a/bsp/nuvoton/libraries/nu_packages/TPC/ili.h b/bsp/nuvoton/libraries/nu_packages/TPC/ili.h new file mode 100644 index 0000000000..0e59cd6084 --- /dev/null +++ b/bsp/nuvoton/libraries/nu_packages/TPC/ili.h @@ -0,0 +1,18 @@ +/* + * Copyright (c) 2006-2018, RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2022-02-25 Wayne the first version + */ + +#ifndef __ILI_H__ +#define __ILI_H__ + +#include "touch.h" + +int rt_hw_ili_tpc_init(const char *name, struct rt_touch_config *cfg); + +#endif /* ili2130.h */ diff --git a/bsp/nuvoton/libraries/nu_packages/TPC/tpc_worker.c b/bsp/nuvoton/libraries/nu_packages/TPC/tpc_worker.c new file mode 100644 index 0000000000..f053df1dce --- /dev/null +++ b/bsp/nuvoton/libraries/nu_packages/TPC/tpc_worker.c @@ -0,0 +1,117 @@ +/* + * Copyright (c) 2006-2018, RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2022-02-25 Wayne the first version + */ + +#include +#include +#include "touch.h" + +#define THREAD_PRIORITY 5 +#define THREAD_STACK_SIZE 2048 +#define THREAD_TIMESLICE 5 + +static rt_sem_t tpc_sem = RT_NULL; + +RT_WEAK void nu_touch_inputevent_cb(rt_int16_t x, rt_int16_t y, rt_uint8_t state) +{ + rt_kprintf("[%d] %d %d\n", state, x, y); +} + +static rt_err_t rx_callback(rt_device_t dev, rt_size_t size) +{ + return rt_sem_release(tpc_sem); +} + +static void tpc_entry(void *parameter) +{ + struct rt_touch_data *read_data; + struct rt_touch_info info; + rt_device_t dev = RT_NULL; + + const char *name = "ili_tpc"; + rt_uint32_t x_range = BSP_LCD_WIDTH; + rt_uint32_t y_range = BSP_LCD_HEIGHT; + + dev = rt_device_find(name); + if (dev == RT_NULL) + { + rt_kprintf("can't find device:%s\n", name); + return; + } + + if (rt_device_open(dev, RT_DEVICE_FLAG_INT_RX) != RT_EOK) + { + rt_kprintf("open device failed!"); + return; + } + rt_kprintf("[%s] x: %d, y: %d\n", __func__, x_range, y_range); + + rt_device_control(dev, RT_TOUCH_CTRL_SET_X_RANGE, &x_range); /* if possible you can set your x y coordinate*/ + rt_device_control(dev, RT_TOUCH_CTRL_SET_Y_RANGE, &y_range); + + tpc_sem = rt_sem_create("dsem", 0, RT_IPC_FLAG_FIFO); + if (tpc_sem == RT_NULL) + { + rt_kprintf("create dynamic semaphore failed.\n"); + return; + } + + rt_device_set_rx_indicate(dev, rx_callback); + + rt_device_control(dev, RT_TOUCH_CTRL_GET_INFO, &info); + rt_kprintf("range_x = %d \n", info.range_x); + rt_kprintf("range_y = %d \n", info.range_y); + rt_kprintf("point_num = %d \n", info.point_num); + + read_data = (struct rt_touch_data *)rt_malloc(sizeof(struct rt_touch_data) * info.point_num); + RT_ASSERT(read_data); + + rt_memset(read_data, 0, sizeof(struct rt_touch_data) * info.point_num); + + while (1) + { + rt_sem_take(tpc_sem, RT_WAITING_FOREVER); + rt_device_control(dev, RT_TOUCH_CTRL_DISABLE_INT, RT_NULL); + + if (rt_device_read(dev, 0, read_data, info.point_num) == info.point_num) + { + for (rt_uint8_t i = 0; i < 1; i++) // Only report one point. + { + if (read_data[i].event == RT_TOUCH_EVENT_DOWN + || read_data[i].event == RT_TOUCH_EVENT_UP + || read_data[i].event == RT_TOUCH_EVENT_MOVE) + { + //rt_kprintf("[%d] %d %d\n", read_data[i].event, read_data[i].x_coordinate, read_data[i].y_coordinate); + + nu_touch_inputevent_cb(read_data[i].x_coordinate, read_data[i].y_coordinate, read_data[i].event); + } + } + } + rt_device_control(dev, RT_TOUCH_CTRL_ENABLE_INT, RT_NULL); + } +} + + +/* Test function */ +int tpc_sample(void) +{ + rt_thread_t tpc_thread; + tpc_thread = rt_thread_create("tpc", + tpc_entry, + RT_NULL, + THREAD_STACK_SIZE, + THREAD_PRIORITY, + THREAD_TIMESLICE); + + if (tpc_thread != RT_NULL) + rt_thread_startup(tpc_thread); + + return 0; +} +INIT_APP_EXPORT(tpc_sample); diff --git a/bsp/nuvoton/libraries/nuc980/rtt_port/drv_rtc.c b/bsp/nuvoton/libraries/nuc980/rtt_port/drv_rtc.c index d11195c8c9..74118e6c21 100644 --- a/bsp/nuvoton/libraries/nuc980/rtt_port/drv_rtc.c +++ b/bsp/nuvoton/libraries/nuc980/rtt_port/drv_rtc.c @@ -30,12 +30,12 @@ /* rtc date upper bound reaches the year of 2099. */ #define RTC_TM_UPPER_BOUND \ -{ .tm_year = CONV_TO_TM_YEAR(2099), \ - .tm_mon = CONV_TO_TM_MON(12), \ - .tm_mday = 31, \ - .tm_hour = 23, \ - .tm_min = 59, \ - .tm_sec = 59, \ +{ .tm_year = CONV_TO_TM_YEAR(2038), \ + .tm_mon = CONV_TO_TM_MON(1), \ + .tm_mday = 19, \ + .tm_hour = 3, \ + .tm_min = 14, \ + .tm_sec = 07, \ } /* rtc date lower bound reaches the year of 2000. */ @@ -58,8 +58,8 @@ static rt_err_t nu_rtc_control(rt_device_t dev, int cmd, void *args); static rt_size_t nu_rtc_write(rt_device_t dev, rt_off_t pos, const void *buffer, rt_size_t size); #endif -static rt_err_t nu_rtc_is_date_valid(const time_t *const t); -static void nu_rtc_init(void); +static rt_err_t nu_rtc_is_date_valid(const time_t t); +static rt_err_t nu_rtc_init(void); #if defined(RT_USING_ALARM) static void nu_rtc_alarm_reset(void); @@ -76,7 +76,7 @@ static void nu_rtc_init(void); static struct rt_device device_rtc; -static void nu_rtc_init(void) +static rt_err_t nu_rtc_init(void) { nu_sys_ipclk_enable(RTCCKEN); @@ -93,6 +93,8 @@ static void nu_rtc_init(void) rt_hw_interrupt_umask(IRQ_RTC); #endif + + return RT_EOK; } @@ -176,7 +178,7 @@ static rt_size_t nu_rtc_write(rt_device_t dev, rt_off_t pos, const void *buffer, #endif -static rt_err_t nu_rtc_is_date_valid(const time_t *const t) +static rt_err_t nu_rtc_is_date_valid(const time_t t) { static struct tm tm_upper = RTC_TM_UPPER_BOUND; static struct tm tm_lower = RTC_TM_LOWER_BOUND; @@ -191,7 +193,7 @@ static rt_err_t nu_rtc_is_date_valid(const time_t *const t) } /* check the date is supported by rtc. */ - if ((*t > t_upper) || (*t < t_lower)) + if ((t > t_upper) || (t < t_lower)) return -(RT_EINVAL); return RT_EOK; @@ -233,11 +235,11 @@ static rt_err_t nu_rtc_control(rt_device_t dev, int cmd, void *args) case RT_DEVICE_CTRL_RTC_SET_TIME: time = (time_t *) args; - tm_in = gmtime(time); - if (nu_rtc_is_date_valid(time) != RT_EOK) + if (nu_rtc_is_date_valid(*time) != RT_EOK) return -(RT_ERROR); + tm_in = gmtime(time); hw_time.u32Year = CONV_FROM_TM_YEAR(tm_in->tm_year); hw_time.u32Month = CONV_FROM_TM_MON(tm_in->tm_mon); hw_time.u32Day = tm_in->tm_mday; diff --git a/bsp/nuvoton/nk-980iot/.config b/bsp/nuvoton/nk-980iot/.config index 4417d84b30..c00e423797 100644 --- a/bsp/nuvoton/nk-980iot/.config +++ b/bsp/nuvoton/nk-980iot/.config @@ -94,17 +94,8 @@ CONFIG_RT_USING_USER_MAIN=y CONFIG_RT_MAIN_THREAD_STACK_SIZE=2048 CONFIG_RT_MAIN_THREAD_PRIORITY=10 # CONFIG_RT_USING_LEGACY is not set - -# -# C++ features -# -# CONFIG_RT_USING_CPLUSPLUS is not set - -# -# Command shell -# -CONFIG_RT_USING_FINSH=y CONFIG_RT_USING_MSH=y +CONFIG_RT_USING_FINSH=y CONFIG_FINSH_USING_MSH=y CONFIG_FINSH_THREAD_NAME="tshell" CONFIG_FINSH_THREAD_PRIORITY=20 @@ -118,10 +109,6 @@ CONFIG_FINSH_USING_DESCRIPTION=y # CONFIG_FINSH_ECHO_DISABLE_DEFAULT is not set # CONFIG_FINSH_USING_AUTH is not set CONFIG_FINSH_ARG_MAX=10 - -# -# Device virtual file system -# CONFIG_RT_USING_DFS=y CONFIG_DFS_USING_POSIX=y CONFIG_DFS_USING_WORKDIR=y @@ -156,6 +143,8 @@ CONFIG_RT_USING_DFS_DEVFS=y # CONFIG_RT_USING_DFS_ROMFS is not set # CONFIG_RT_USING_DFS_RAMFS is not set # CONFIG_RT_USING_DFS_NFS is not set +# CONFIG_RT_USING_FAL is not set +# CONFIG_RT_USING_LWP is not set # # Device Drivers @@ -183,17 +172,22 @@ CONFIG_RT_USING_ADC=y # CONFIG_RT_USING_DAC is not set CONFIG_RT_USING_PWM=y # CONFIG_RT_USING_MTD_NOR is not set -CONFIG_RT_USING_MTD_NAND=y -CONFIG_RT_MTD_NAND_DEBUG=y +# CONFIG_RT_USING_MTD_NAND is not set # CONFIG_RT_USING_PM is not set CONFIG_RT_USING_RTC=y CONFIG_RT_USING_ALARM=y # CONFIG_RT_USING_SOFT_RTC is not set # CONFIG_RT_USING_SDIO is not set CONFIG_RT_USING_SPI=y +# CONFIG_RT_USING_SPI_BITOPS is not set CONFIG_RT_USING_QSPI=y # CONFIG_RT_USING_SPI_MSD is not set -# CONFIG_RT_USING_SFUD is not set +CONFIG_RT_USING_SFUD=y +CONFIG_RT_SFUD_USING_SFDP=y +CONFIG_RT_SFUD_USING_FLASH_INFO_TABLE=y +CONFIG_RT_SFUD_USING_QSPI=y +CONFIG_RT_SFUD_SPI_MAX_HZ=50000000 +# CONFIG_RT_DEBUG_SFUD is not set # CONFIG_RT_USING_ENC28J60 is not set # CONFIG_RT_USING_SPI_WIFI is not set CONFIG_RT_USING_WDT=y @@ -261,7 +255,7 @@ CONFIG_RT_VCOM_TX_TIMEOUT=1000 CONFIG_RT_USB_MSTORAGE_DISK_NAME="ramdisk1" # -# POSIX layer and C standard library +# C/C++ and POSIX layer # CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8 @@ -269,8 +263,8 @@ CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8 # POSIX (Portable Operating System Interface) layer # CONFIG_RT_USING_POSIX_FS=y -# CONFIG_RT_USING_POSIX_DEVIO is not set -# CONFIG_RT_USING_POSIX_STDIO is not set +CONFIG_RT_USING_POSIX_DEVIO=y +CONFIG_RT_USING_POSIX_STDIO=y CONFIG_RT_USING_POSIX_POLL=y CONFIG_RT_USING_POSIX_SELECT=y # CONFIG_RT_USING_POSIX_TERMIOS is not set @@ -292,14 +286,11 @@ CONFIG_RT_USING_POSIX_SELECT=y # # Socket is in the 'Network' category # +# CONFIG_RT_USING_CPLUSPLUS is not set # # Network # - -# -# Socket abstraction layer -# CONFIG_RT_USING_SAL=y # CONFIG_SAL_INTERNET_CHECK is not set @@ -308,10 +299,6 @@ CONFIG_RT_USING_SAL=y # CONFIG_SAL_USING_LWIP=y CONFIG_SAL_USING_POSIX=y - -# -# Network interface device -# CONFIG_RT_USING_NETDEV=y CONFIG_NETDEV_USING_IFCONFIG=y CONFIG_NETDEV_USING_PING=y @@ -321,14 +308,13 @@ CONFIG_NETDEV_USING_AUTO_DEFAULT=y CONFIG_NETDEV_IPV4=1 CONFIG_NETDEV_IPV6=0 # CONFIG_NETDEV_IPV6_SCOPES is not set - -# -# light weight TCP/IP stack -# CONFIG_RT_USING_LWIP=y +# CONFIG_RT_USING_LWIP_LOCAL_VERSION is not set # CONFIG_RT_USING_LWIP141 is not set # CONFIG_RT_USING_LWIP203 is not set CONFIG_RT_USING_LWIP212=y +# CONFIG_RT_USING_LWIP_LATEST is not set +CONFIG_RT_USING_LWIP_VER_NUM=0x20102 # CONFIG_RT_USING_LWIP_IPV6 is not set CONFIG_RT_LWIP_MEM_ALIGNMENT=4 CONFIG_RT_LWIP_IGMP=y @@ -378,18 +364,9 @@ CONFIG_LWIP_NETIF_LOOPBACK=1 CONFIG_RT_LWIP_STATS=y # CONFIG_RT_LWIP_USING_HW_CHECKSUM is not set CONFIG_RT_LWIP_USING_PING=y -# CONFIG_RT_LWIP_DEBUG is not set - -# -# AT commands -# -# CONFIG_RT_USING_AT is not set # CONFIG_LWIP_USING_DHCPD is not set - -# -# VBUS(Virtual Software BUS) -# -# CONFIG_RT_USING_VBUS is not set +# CONFIG_RT_LWIP_DEBUG is not set +# CONFIG_RT_USING_AT is not set # # Utilities @@ -401,7 +378,7 @@ CONFIG_UTEST_THR_STACK_SIZE=4096 CONFIG_UTEST_THR_PRIORITY=20 # CONFIG_RT_USING_VAR_EXPORT is not set # CONFIG_RT_USING_RT_LINK is not set -# CONFIG_RT_USING_LWP is not set +# CONFIG_RT_USING_VBUS is not set # # RT-Thread Utestcases @@ -415,6 +392,7 @@ CONFIG_UTEST_THR_PRIORITY=20 # # IoT - internet of things # +# CONFIG_PKG_USING_LWIP is not set # CONFIG_PKG_USING_LORAWAN_DRIVER is not set # CONFIG_PKG_USING_PAHOMQTT is not set # CONFIG_PKG_USING_UMQTT is not set @@ -425,12 +403,8 @@ CONFIG_UTEST_THR_PRIORITY=20 # CONFIG_PKG_USING_KAWAII_MQTT is not set # CONFIG_PKG_USING_BC28_MQTT is not set # CONFIG_PKG_USING_WEBTERMINAL is not set -# CONFIG_PKG_USING_CJSON is not set -# CONFIG_PKG_USING_JSMN is not set # CONFIG_PKG_USING_LIBMODBUS is not set # CONFIG_PKG_USING_FREEMODBUS is not set -# CONFIG_PKG_USING_LJSON is not set -# CONFIG_PKG_USING_EZXML is not set # CONFIG_PKG_USING_NANOPB is not set # @@ -500,16 +474,13 @@ CONFIG_PKG_NETUTILS_VER_NUM=0x99999 # CONFIG_PKG_USING_ABUP_FOTA is not set # CONFIG_PKG_USING_LIBCURL2RTT is not set # CONFIG_PKG_USING_CAPNP is not set -# CONFIG_PKG_USING_RT_CJSON_TOOLS is not set # CONFIG_PKG_USING_AGILE_TELNET is not set # CONFIG_PKG_USING_NMEALIB is not set -# CONFIG_PKG_USING_AGILE_JSMN is not set # CONFIG_PKG_USING_PDULIB is not set # CONFIG_PKG_USING_BTSTACK is not set # CONFIG_PKG_USING_LORAWAN_ED_STACK is not set # CONFIG_PKG_USING_WAYZ_IOTKIT is not set # CONFIG_PKG_USING_MAVLINK is not set -# CONFIG_PKG_USING_RAPIDJSON is not set # CONFIG_PKG_USING_BSAL is not set # CONFIG_PKG_USING_AGILE_MODBUS is not set # CONFIG_PKG_USING_AGILE_FTP is not set @@ -534,6 +505,22 @@ CONFIG_PKG_NETUTILS_VER_NUM=0x99999 # # language packages # + +# +# JSON: JavaScript Object Notation, a lightweight data-interchange format +# +# CONFIG_PKG_USING_CJSON is not set +# CONFIG_PKG_USING_LJSON is not set +# CONFIG_PKG_USING_RT_CJSON_TOOLS is not set +# CONFIG_PKG_USING_RAPIDJSON is not set +# CONFIG_PKG_USING_JSMN is not set +# CONFIG_PKG_USING_AGILE_JSMN is not set + +# +# XML: Extensible Markup Language +# +# CONFIG_PKG_USING_SIMPLE_XML is not set +# CONFIG_PKG_USING_EZXML is not set # CONFIG_PKG_USING_LUATOS_SOC is not set # CONFIG_PKG_USING_LUA is not set # CONFIG_PKG_USING_JERRYSCRIPT is not set @@ -559,15 +546,7 @@ CONFIG_PKG_NETUTILS_VER_NUM=0x99999 # CONFIG_PKG_USING_OPENMV is not set # CONFIG_PKG_USING_MUPDF is not set # CONFIG_PKG_USING_STEMWIN is not set -CONFIG_PKG_USING_WAVPLAYER=y -CONFIG_PKG_WAVPLAYER_PATH="/packages/multimedia/wavplayer" -CONFIG_PKG_WP_USING_PLAY=y -CONFIG_PKG_WP_PLAY_DEVICE="sound0" -CONFIG_PKG_WP_USING_RECORD=y -CONFIG_PKG_WP_RECORD_DEVICE="sound0" -# CONFIG_PKG_USING_WAVPLAYER_V020 is not set -CONFIG_PKG_USING_WAVPLAYER_LATEST_VERSION=y -CONFIG_PKG_WAVPLAYER_VER="latest" +# CONFIG_PKG_USING_WAVPLAYER is not set # CONFIG_PKG_USING_TJPGD is not set # CONFIG_PKG_USING_PDFGEN is not set # CONFIG_PKG_USING_HELIX is not set @@ -625,10 +604,15 @@ CONFIG_PKG_WAVPLAYER_VER="latest" # CONFIG_PKG_USING_ANV_BENCH is not set # CONFIG_PKG_USING_DEVMEM is not set # CONFIG_PKG_USING_REGEX is not set -# CONFIG_PKG_USING_MEM_SANDBOX is not set +CONFIG_PKG_USING_MEM_SANDBOX=y +CONFIG_PKG_MEM_SANDBOX_PATH="/packages/tools/mem_sandbox" +CONFIG_PKG_USING_MEM_SANDBOX_LATEST_VERSION=y +CONFIG_PKG_MEM_SANDBOX_VER="latest" # CONFIG_PKG_USING_SOLAR_TERMS is not set # CONFIG_PKG_USING_GAN_ZHI is not set # CONFIG_PKG_USING_FDT is not set +# CONFIG_PKG_USING_CBOX is not set +# CONFIG_PKG_USING_SNOWFLAKE is not set # # system packages @@ -647,7 +631,9 @@ CONFIG_PKG_WAVPLAYER_VER="latest" # CONFIG_PKG_USING_POSIX_GETLINE is not set # CONFIG_PKG_USING_POSIX_WCWIDTH is not set # CONFIG_PKG_USING_POSIX_ITOA is not set -# CONFIG_PKG_USING_POSIX_STRINGS is not set +CONFIG_PKG_USING_POSIX_STRINGS=y +CONFIG_PKG_POSIX_STRINGS_PATH="/packages/system/POSIX/strings" +CONFIG_PKG_POSIX_STRINGS_VER="latest" # # acceleration: Assembly language or algorithmic acceleration packages @@ -671,29 +657,19 @@ CONFIG_PKG_WAVPLAYER_VER="latest" # CONFIG_PKG_USING_UC_CLK is not set # CONFIG_PKG_USING_UC_COMMON is not set # CONFIG_PKG_USING_UC_MODBUS is not set -# CONFIG_RT_USING_ARDUINO is not set +# CONFIG_PKG_USING_RTDUINO is not set # CONFIG_PKG_USING_GUIENGINE is not set # CONFIG_PKG_USING_PERSIMMON is not set # CONFIG_PKG_USING_CAIRO is not set # CONFIG_PKG_USING_PIXMAN is not set # CONFIG_PKG_USING_PARTITION is not set -# CONFIG_PKG_USING_FAL is not set # CONFIG_PKG_USING_FLASHDB is not set # CONFIG_PKG_USING_SQLITE is not set # CONFIG_PKG_USING_RTI is not set # CONFIG_PKG_USING_DFS_YAFFS is not set # CONFIG_PKG_USING_LITTLEFS is not set # CONFIG_PKG_USING_DFS_JFFS2 is not set -CONFIG_PKG_USING_DFS_UFFS=y -CONFIG_PKG_UFFS_PATH="/packages/system/uffs" -CONFIG_RT_USING_DFS_UFFS=y -# CONFIG_RT_UFFS_ECC_MODE_0 is not set -# CONFIG_RT_UFFS_ECC_MODE_1 is not set -# CONFIG_RT_UFFS_ECC_MODE_2 is not set -CONFIG_RT_UFFS_ECC_MODE_3=y -CONFIG_RT_UFFS_ECC_MODE=3 -CONFIG_PKG_USING_DFS_UFFS_LATEST_VERSION=y -CONFIG_PKG_UFFS_VER="latest" +# CONFIG_PKG_USING_DFS_UFFS is not set # CONFIG_PKG_USING_LWEXT4 is not set # CONFIG_PKG_USING_THREAD_POOL is not set # CONFIG_PKG_USING_ROBOTS is not set @@ -717,6 +693,7 @@ CONFIG_PKG_RAMDISK_VER="latest" # CONFIG_PKG_USING_MCUBOOT is not set # CONFIG_PKG_USING_TINYUSB is not set # CONFIG_PKG_USING_CHERRYUSB is not set +# CONFIG_PKG_USING_KMULTI_RTIMER is not set # # peripheral libraries and drivers @@ -740,6 +717,7 @@ CONFIG_PKG_RAMDISK_VER="latest" # CONFIG_PKG_USING_WM_LIBRARIES is not set # CONFIG_PKG_USING_KENDRYTE_SDK is not set # CONFIG_PKG_USING_INFRARED is not set +# CONFIG_PKG_USING_MULTI_INFRARED is not set # CONFIG_PKG_USING_AGILE_BUTTON is not set # CONFIG_PKG_USING_AGILE_LED is not set # CONFIG_PKG_USING_AT24CXX is not set @@ -796,6 +774,7 @@ CONFIG_PKG_RAMDISK_VER="latest" # CONFIG_PKG_USING_SOFT_SERIAL is not set # CONFIG_PKG_USING_MB85RS16 is not set # CONFIG_PKG_USING_CW2015 is not set +# CONFIG_PKG_USING_RFM300 is not set # # AI packages @@ -814,6 +793,10 @@ CONFIG_PKG_RAMDISK_VER="latest" # miscellaneous packages # +# +# project laboratory +# + # # samples: kernel and components samples # @@ -850,6 +833,7 @@ CONFIG_PKG_OPTPARSE_VER="latest" # CONFIG_PKG_USING_CANFESTIVAL is not set # CONFIG_PKG_USING_ZLIB is not set # CONFIG_PKG_USING_MINIZIP is not set +# CONFIG_PKG_USING_HEATSHRINK is not set # CONFIG_PKG_USING_DSTR is not set # CONFIG_PKG_USING_TINYFRAME is not set # CONFIG_PKG_USING_KENDRYTE_DEMO is not set @@ -857,7 +841,27 @@ CONFIG_PKG_OPTPARSE_VER="latest" # CONFIG_PKG_USING_UPACKER is not set # CONFIG_PKG_USING_UPARAM is not set # CONFIG_PKG_USING_HELLO is not set -# CONFIG_PKG_USING_VI is not set +CONFIG_PKG_USING_VI=y +CONFIG_PKG_VI_PATH="/packages/misc/vi" +CONFIG_VI_SANDBOX_SIZE_KB=20 +CONFIG_VI_MAX_LEN=4096 +# CONFIG_VI_ENABLE_8BIT is not set +CONFIG_VI_ENABLE_COLON=y +CONFIG_VI_ENABLE_COLON_EXPAND=y +CONFIG_VI_ENABLE_YANKMARK=y +CONFIG_VI_ENABLE_SEARCH=y +CONFIG_VI_ENABLE_DOT_CMD=y +CONFIG_VI_ENABLE_READONLY=y +CONFIG_VI_ENABLE_SETOPTS=y +CONFIG_VI_ENABLE_SET=y +# CONFIG_VI_ENABLE_WIN_RESIZE is not set +CONFIG_VI_ENABLE_VI_ASK_TERMINAL=y +CONFIG_VI_ENABLE_UNDO=y +CONFIG_VI_ENABLE_UNDO_QUEUE=y +CONFIG_VI_UNDO_QUEUE_MAX=256 +CONFIG_VI_ENABLE_VERBOSE_STATUS=y +CONFIG_PKG_USING_VI_LATEST_VERSION=y +CONFIG_PKG_VI_VER="latest" # CONFIG_PKG_USING_KI is not set # CONFIG_PKG_USING_ARMv7M_DWT is not set # CONFIG_PKG_USING_UKAL is not set @@ -867,6 +871,7 @@ CONFIG_PKG_OPTPARSE_VER="latest" # CONFIG_PKG_USING_DESIGN_PATTERN is not set # CONFIG_PKG_USING_CONTROLLER is not set # CONFIG_PKG_USING_PHASE_LOCKED_LOOP is not set +# CONFIG_PKG_USING_MFBD is not set # # Hardware Drivers Config @@ -947,9 +952,9 @@ CONFIG_BSP_USING_SPI1_NONE=y CONFIG_BSP_USING_I2S=y CONFIG_NU_I2S_DMA_FIFO_SIZE=4096 CONFIG_BSP_USING_QSPI=y -CONFIG_BSP_USING_QSPI_PDMA=y +# CONFIG_BSP_USING_QSPI_PDMA is not set CONFIG_BSP_USING_QSPI0=y -CONFIG_BSP_USING_QSPI0_PDMA=y +# CONFIG_BSP_USING_QSPI0_PDMA is not set # CONFIG_BSP_USING_SCUART is not set CONFIG_BSP_USING_CRYPTO=y # CONFIG_NU_PRNG_USE_SEED is not set @@ -966,8 +971,8 @@ CONFIG_BSP_USING_CONSOLE=y CONFIG_BOARD_USING_IP101GR=y CONFIG_BOARD_USING_NAU8822=y CONFIG_BOARD_USING_STORAGE_SDCARD=y -# CONFIG_BOARD_USING_STORAGE_SPIFLASH is not set -CONFIG_BOARD_USING_STORAGE_SPINAND=y +CONFIG_BOARD_USING_STORAGE_SPIFLASH=y +# CONFIG_BOARD_USING_STORAGE_SPINAND is not set CONFIG_BOARD_USING_USB0_DEVICE_HOST=y CONFIG_BOARD_USING_USB1_HOST=y @@ -989,6 +994,7 @@ CONFIG_NU_PKG_USING_DEMO=y CONFIG_NU_PKG_USING_NAU8822=y # CONFIG_NU_PKG_USING_DA9062 is not set # CONFIG_NU_PKG_USING_ILI9341 is not set -CONFIG_NU_PKG_USING_SPINAND=y -CONFIG_BOARD_USE_UTEST=y -CONFIG_UTEST_CMD_PREFIX="bsp.nuvoton.nk980-iot.test.utest." +# CONFIG_NU_PKG_USING_SSD1963 is not set +# CONFIG_NU_PKG_USING_TPC is not set +# CONFIG_NU_PKG_USING_ADC_TOUCH is not set +# CONFIG_NU_PKG_USING_SPINAND is not set diff --git a/bsp/nuvoton/nk-980iot/README.md b/bsp/nuvoton/nk-980iot/README.md index 610ca09a55..b11ee99eb4 100644 --- a/bsp/nuvoton/nk-980iot/README.md +++ b/bsp/nuvoton/nk-980iot/README.md @@ -48,15 +48,13 @@ Nuvoton Technology provides industrial IoT development platform using NUC980DK61 |VCOM | For console | Ready.(Need to install VCOM driver) | ## 2. Supported compiler -Support GCC, MDK4 and MDK5 IDE/compilers. More information of these compiler version as following: - +Support GCC and MDK IDE/compilers. More information of these compiler version as following: | IDE/Compiler | Tested version | | ---------- | ---------------------------- | -| MDK4 | 4.76 | -| MDK5 | 5.26.2 | -| GCC | GCC 5.4.1 20160919 (release) | +| MDK | uVision 5.25 | +| GCC | 6-2017-q1-update | -Notice: Please install ICE driver for development. +Notice: Please install ICE driver for development and [NuMicro_ARM9_Device_Database_Keil](https://www.nuvoton.com/resource-download.jsp?tp_GUID=SW1820201207155701). ## 3. Program firmware ### 3.1 SDRAM Downloading using NuWriter diff --git a/bsp/nuvoton/nk-980iot/rtconfig.h b/bsp/nuvoton/nk-980iot/rtconfig.h index 4a0fa6cbfb..f96c48b80b 100644 --- a/bsp/nuvoton/nk-980iot/rtconfig.h +++ b/bsp/nuvoton/nk-980iot/rtconfig.h @@ -58,14 +58,8 @@ #define RT_USING_USER_MAIN #define RT_MAIN_THREAD_STACK_SIZE 2048 #define RT_MAIN_THREAD_PRIORITY 10 - -/* C++ features */ - - -/* Command shell */ - -#define RT_USING_FINSH #define RT_USING_MSH +#define RT_USING_FINSH #define FINSH_USING_MSH #define FINSH_THREAD_NAME "tshell" #define FINSH_THREAD_PRIORITY 20 @@ -77,9 +71,6 @@ #define MSH_USING_BUILT_IN_COMMANDS #define FINSH_USING_DESCRIPTION #define FINSH_ARG_MAX 10 - -/* Device virtual file system */ - #define RT_USING_DFS #define DFS_USING_POSIX #define DFS_USING_WORKDIR @@ -123,12 +114,15 @@ #define RT_USING_PIN #define RT_USING_ADC #define RT_USING_PWM -#define RT_USING_MTD_NAND -#define RT_MTD_NAND_DEBUG #define RT_USING_RTC #define RT_USING_ALARM #define RT_USING_SPI #define RT_USING_QSPI +#define RT_USING_SFUD +#define RT_SFUD_USING_SFDP +#define RT_SFUD_USING_FLASH_INFO_TABLE +#define RT_SFUD_USING_QSPI +#define RT_SFUD_SPI_MAX_HZ 50000000 #define RT_USING_WDT #define RT_USING_AUDIO #define RT_AUDIO_REPLAY_MP_BLOCK_SIZE 4096 @@ -173,13 +167,15 @@ #define RT_VCOM_TX_TIMEOUT 1000 #define RT_USB_MSTORAGE_DISK_NAME "ramdisk1" -/* POSIX layer and C standard library */ +/* C/C++ and POSIX layer */ #define RT_LIBC_DEFAULT_TIMEZONE 8 /* POSIX (Portable Operating System Interface) layer */ #define RT_USING_POSIX_FS +#define RT_USING_POSIX_DEVIO +#define RT_USING_POSIX_STDIO #define RT_USING_POSIX_POLL #define RT_USING_POSIX_SELECT @@ -188,9 +184,8 @@ /* Socket is in the 'Network' category */ -/* Network */ -/* Socket abstraction layer */ +/* Network */ #define RT_USING_SAL @@ -198,9 +193,6 @@ #define SAL_USING_LWIP #define SAL_USING_POSIX - -/* Network interface device */ - #define RT_USING_NETDEV #define NETDEV_USING_IFCONFIG #define NETDEV_USING_PING @@ -208,11 +200,9 @@ #define NETDEV_USING_AUTO_DEFAULT #define NETDEV_IPV4 1 #define NETDEV_IPV6 0 - -/* light weight TCP/IP stack */ - #define RT_USING_LWIP #define RT_USING_LWIP212 +#define RT_USING_LWIP_VER_NUM 0x20102 #define RT_LWIP_MEM_ALIGNMENT 4 #define RT_LWIP_IGMP #define RT_LWIP_ICMP @@ -256,12 +246,6 @@ #define RT_LWIP_STATS #define RT_LWIP_USING_PING -/* AT commands */ - - -/* VBUS(Virtual Software BUS) */ - - /* Utilities */ #define RT_USING_UTEST @@ -304,6 +288,11 @@ /* language packages */ +/* JSON: JavaScript Object Notation, a lightweight data-interchange format */ + + +/* XML: Extensible Markup Language */ + /* multimedia packages */ @@ -312,18 +301,14 @@ /* u8g2: a monochrome graphic library */ -#define PKG_USING_WAVPLAYER -#define PKG_WP_USING_PLAY -#define PKG_WP_PLAY_DEVICE "sound0" -#define PKG_WP_USING_RECORD -#define PKG_WP_RECORD_DEVICE "sound0" -#define PKG_USING_WAVPLAYER_LATEST_VERSION /* PainterEngine: A cross-platform graphics application framework written in C language */ /* tools packages */ +#define PKG_USING_MEM_SANDBOX +#define PKG_USING_MEM_SANDBOX_LATEST_VERSION /* system packages */ @@ -332,6 +317,7 @@ /* POSIX extension functions */ +#define PKG_USING_POSIX_STRINGS /* acceleration: Assembly language or algorithmic acceleration packages */ @@ -341,11 +327,6 @@ /* Micrium: Micrium software products porting for RT-Thread */ -#define PKG_USING_DFS_UFFS -#define RT_USING_DFS_UFFS -#define RT_UFFS_ECC_MODE_3 -#define RT_UFFS_ECC_MODE 3 -#define PKG_USING_DFS_UFFS_LATEST_VERSION #define PKG_USING_RAMDISK #define PKG_USING_RAMDISK_LATEST_VERSION @@ -357,6 +338,8 @@ /* miscellaneous packages */ +/* project laboratory */ + /* samples: kernel and components samples */ @@ -364,6 +347,23 @@ #define PKG_USING_OPTPARSE #define PKG_USING_OPTPARSE_LATEST_VERSION +#define PKG_USING_VI +#define VI_SANDBOX_SIZE_KB 20 +#define VI_MAX_LEN 4096 +#define VI_ENABLE_COLON +#define VI_ENABLE_COLON_EXPAND +#define VI_ENABLE_YANKMARK +#define VI_ENABLE_SEARCH +#define VI_ENABLE_DOT_CMD +#define VI_ENABLE_READONLY +#define VI_ENABLE_SETOPTS +#define VI_ENABLE_SET +#define VI_ENABLE_VI_ASK_TERMINAL +#define VI_ENABLE_UNDO +#define VI_ENABLE_UNDO_QUEUE +#define VI_UNDO_QUEUE_MAX 256 +#define VI_ENABLE_VERBOSE_STATUS +#define PKG_USING_VI_LATEST_VERSION /* Hardware Drivers Config */ @@ -415,9 +415,7 @@ #define BSP_USING_I2S #define NU_I2S_DMA_FIFO_SIZE 4096 #define BSP_USING_QSPI -#define BSP_USING_QSPI_PDMA #define BSP_USING_QSPI0 -#define BSP_USING_QSPI0_PDMA #define BSP_USING_CRYPTO #define BSP_USING_WDT #define BSP_USING_USBD @@ -429,7 +427,7 @@ #define BOARD_USING_IP101GR #define BOARD_USING_NAU8822 #define BOARD_USING_STORAGE_SDCARD -#define BOARD_USING_STORAGE_SPINAND +#define BOARD_USING_STORAGE_SPIFLASH #define BOARD_USING_USB0_DEVICE_HOST #define BOARD_USING_USB1_HOST @@ -441,8 +439,5 @@ #define NU_PKG_USING_UTILS #define NU_PKG_USING_DEMO #define NU_PKG_USING_NAU8822 -#define NU_PKG_USING_SPINAND -#define BOARD_USE_UTEST -#define UTEST_CMD_PREFIX "bsp.nuvoton.nk980-iot.test.utest." #endif diff --git a/bsp/nuvoton/nk-980iot/spinor.config b/bsp/nuvoton/nk-980iot/spinor.config index 689099bb5b..0d48e5fe10 100644 --- a/bsp/nuvoton/nk-980iot/spinor.config +++ b/bsp/nuvoton/nk-980iot/spinor.config @@ -7,7 +7,6 @@ # RT-Thread Kernel # CONFIG_RT_NAME_MAX=16 -# CONFIG_RT_USING_BIG_ENDIAN is not set # CONFIG_RT_USING_ARCH_DATA_TYPE is not set # CONFIG_RT_USING_SMP is not set CONFIG_RT_ALIGN_SIZE=4 @@ -95,17 +94,8 @@ CONFIG_RT_USING_USER_MAIN=y CONFIG_RT_MAIN_THREAD_STACK_SIZE=2048 CONFIG_RT_MAIN_THREAD_PRIORITY=10 # CONFIG_RT_USING_LEGACY is not set - -# -# C++ features -# -# CONFIG_RT_USING_CPLUSPLUS is not set - -# -# Command shell -# -CONFIG_RT_USING_FINSH=y CONFIG_RT_USING_MSH=y +CONFIG_RT_USING_FINSH=y CONFIG_FINSH_USING_MSH=y CONFIG_FINSH_THREAD_NAME="tshell" CONFIG_FINSH_THREAD_PRIORITY=20 @@ -119,10 +109,6 @@ CONFIG_FINSH_USING_DESCRIPTION=y # CONFIG_FINSH_ECHO_DISABLE_DEFAULT is not set # CONFIG_FINSH_USING_AUTH is not set CONFIG_FINSH_ARG_MAX=10 - -# -# Device virtual file system -# CONFIG_RT_USING_DFS=y CONFIG_DFS_USING_POSIX=y CONFIG_DFS_USING_WORKDIR=y @@ -157,6 +143,13 @@ CONFIG_RT_USING_DFS_DEVFS=y # CONFIG_RT_USING_DFS_ROMFS is not set # CONFIG_RT_USING_DFS_RAMFS is not set # CONFIG_RT_USING_DFS_NFS is not set +CONFIG_RT_USING_FAL=y +CONFIG_FAL_DEBUG_CONFIG=y +CONFIG_FAL_DEBUG=1 +CONFIG_FAL_PART_HAS_TABLE_CFG=y +CONFIG_FAL_USING_SFUD_PORT=y +CONFIG_FAL_USING_NOR_FLASH_DEV_NAME="norflash0" +# CONFIG_RT_USING_LWP is not set # # Device Drivers @@ -191,6 +184,7 @@ CONFIG_RT_USING_ALARM=y # CONFIG_RT_USING_SOFT_RTC is not set # CONFIG_RT_USING_SDIO is not set CONFIG_RT_USING_SPI=y +# CONFIG_RT_USING_SPI_BITOPS is not set CONFIG_RT_USING_QSPI=y # CONFIG_RT_USING_SPI_MSD is not set CONFIG_RT_USING_SFUD=y @@ -266,9 +260,8 @@ CONFIG_RT_VCOM_TX_TIMEOUT=1000 CONFIG_RT_USB_MSTORAGE_DISK_NAME="ramdisk1" # -# POSIX layer and C standard library +# C/C++ and POSIX layer # -# CONFIG_RT_USING_MODULE is not set CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8 # @@ -284,7 +277,9 @@ CONFIG_RT_USING_POSIX_SELECT=y # CONFIG_RT_USING_POSIX_MMAN is not set # CONFIG_RT_USING_POSIX_DELAY is not set # CONFIG_RT_USING_POSIX_CLOCK is not set +# CONFIG_RT_USING_POSIX_TIMER is not set # CONFIG_RT_USING_PTHREADS is not set +# CONFIG_RT_USING_MODULE is not set # # Interprocess Communication (IPC) @@ -296,14 +291,11 @@ CONFIG_RT_USING_POSIX_SELECT=y # # Socket is in the 'Network' category # +# CONFIG_RT_USING_CPLUSPLUS is not set # # Network # - -# -# Socket abstraction layer -# CONFIG_RT_USING_SAL=y # CONFIG_SAL_INTERNET_CHECK is not set @@ -312,10 +304,6 @@ CONFIG_RT_USING_SAL=y # CONFIG_SAL_USING_LWIP=y CONFIG_SAL_USING_POSIX=y - -# -# Network interface device -# CONFIG_RT_USING_NETDEV=y CONFIG_NETDEV_USING_IFCONFIG=y CONFIG_NETDEV_USING_PING=y @@ -325,15 +313,13 @@ CONFIG_NETDEV_USING_AUTO_DEFAULT=y CONFIG_NETDEV_IPV4=1 CONFIG_NETDEV_IPV6=0 # CONFIG_NETDEV_IPV6_SCOPES is not set - -# -# light weight TCP/IP stack -# CONFIG_RT_USING_LWIP=y +# CONFIG_RT_USING_LWIP_LOCAL_VERSION is not set # CONFIG_RT_USING_LWIP141 is not set -# CONFIG_RT_USING_LWIP202 is not set # CONFIG_RT_USING_LWIP203 is not set CONFIG_RT_USING_LWIP212=y +# CONFIG_RT_USING_LWIP_LATEST is not set +CONFIG_RT_USING_LWIP_VER_NUM=0x20102 # CONFIG_RT_USING_LWIP_IPV6 is not set CONFIG_RT_LWIP_MEM_ALIGNMENT=4 CONFIG_RT_LWIP_IGMP=y @@ -383,18 +369,9 @@ CONFIG_LWIP_NETIF_LOOPBACK=1 CONFIG_RT_LWIP_STATS=y # CONFIG_RT_LWIP_USING_HW_CHECKSUM is not set CONFIG_RT_LWIP_USING_PING=y -# CONFIG_RT_LWIP_DEBUG is not set - -# -# AT commands -# -# CONFIG_RT_USING_AT is not set # CONFIG_LWIP_USING_DHCPD is not set - -# -# VBUS(Virtual Software BUS) -# -# CONFIG_RT_USING_VBUS is not set +# CONFIG_RT_LWIP_DEBUG is not set +# CONFIG_RT_USING_AT is not set # # Utilities @@ -406,7 +383,7 @@ CONFIG_UTEST_THR_STACK_SIZE=4096 CONFIG_UTEST_THR_PRIORITY=20 # CONFIG_RT_USING_VAR_EXPORT is not set # CONFIG_RT_USING_RT_LINK is not set -# CONFIG_RT_USING_LWP is not set +# CONFIG_RT_USING_VBUS is not set # # RT-Thread Utestcases @@ -420,6 +397,7 @@ CONFIG_UTEST_THR_PRIORITY=20 # # IoT - internet of things # +# CONFIG_PKG_USING_LWIP is not set # CONFIG_PKG_USING_LORAWAN_DRIVER is not set # CONFIG_PKG_USING_PAHOMQTT is not set # CONFIG_PKG_USING_UMQTT is not set @@ -430,12 +408,8 @@ CONFIG_UTEST_THR_PRIORITY=20 # CONFIG_PKG_USING_KAWAII_MQTT is not set # CONFIG_PKG_USING_BC28_MQTT is not set # CONFIG_PKG_USING_WEBTERMINAL is not set -# CONFIG_PKG_USING_CJSON is not set -# CONFIG_PKG_USING_JSMN is not set # CONFIG_PKG_USING_LIBMODBUS is not set # CONFIG_PKG_USING_FREEMODBUS is not set -# CONFIG_PKG_USING_LJSON is not set -# CONFIG_PKG_USING_EZXML is not set # CONFIG_PKG_USING_NANOPB is not set # @@ -468,11 +442,9 @@ CONFIG_NETUTILS_NTP_HOSTNAME2="1.tw.pool.ntp.org" CONFIG_NETUTILS_NTP_HOSTNAME3="2.tw.pool.ntp.org" # CONFIG_PKG_NETUTILS_TELNET is not set # CONFIG_PKG_NETUTILS_TCPDUMP is not set -# CONFIG_PKG_USING_NETUTILS_LATEST_VERSION is not set -CONFIG_PKG_USING_NETUTILS_V131=y -# CONFIG_PKG_USING_NETUTILS_V130 is not set -CONFIG_PKG_NETUTILS_VER="v1.3.1" -CONFIG_PKG_NETUTILS_VER_NUM=0x10301 +CONFIG_PKG_USING_NETUTILS_LATEST_VERSION=y +CONFIG_PKG_NETUTILS_VER="latest" +CONFIG_PKG_NETUTILS_VER_NUM=0x99999 # CONFIG_PKG_USING_CMUX is not set # CONFIG_PKG_USING_PPP_DEVICE is not set # CONFIG_PKG_USING_AT_DEVICE is not set @@ -493,6 +465,7 @@ CONFIG_PKG_NETUTILS_VER_NUM=0x10301 # CONFIG_PKG_USING_JOYLINK is not set # CONFIG_PKG_USING_EZ_IOT_OS is not set # CONFIG_PKG_USING_NIMBLE is not set +# CONFIG_PKG_USING_LLSYNC_SDK_ADAPTER is not set # CONFIG_PKG_USING_OTA_DOWNLOADER is not set # CONFIG_PKG_USING_IPMSG is not set # CONFIG_PKG_USING_LSSDP is not set @@ -506,16 +479,13 @@ CONFIG_PKG_NETUTILS_VER_NUM=0x10301 # CONFIG_PKG_USING_ABUP_FOTA is not set # CONFIG_PKG_USING_LIBCURL2RTT is not set # CONFIG_PKG_USING_CAPNP is not set -# CONFIG_PKG_USING_RT_CJSON_TOOLS is not set # CONFIG_PKG_USING_AGILE_TELNET is not set # CONFIG_PKG_USING_NMEALIB is not set -# CONFIG_PKG_USING_AGILE_JSMN is not set # CONFIG_PKG_USING_PDULIB is not set # CONFIG_PKG_USING_BTSTACK is not set # CONFIG_PKG_USING_LORAWAN_ED_STACK is not set # CONFIG_PKG_USING_WAYZ_IOTKIT is not set # CONFIG_PKG_USING_MAVLINK is not set -# CONFIG_PKG_USING_RAPIDJSON is not set # CONFIG_PKG_USING_BSAL is not set # CONFIG_PKG_USING_AGILE_MODBUS is not set # CONFIG_PKG_USING_AGILE_FTP is not set @@ -540,6 +510,22 @@ CONFIG_PKG_NETUTILS_VER_NUM=0x10301 # # language packages # + +# +# JSON: JavaScript Object Notation, a lightweight data-interchange format +# +# CONFIG_PKG_USING_CJSON is not set +# CONFIG_PKG_USING_LJSON is not set +# CONFIG_PKG_USING_RT_CJSON_TOOLS is not set +# CONFIG_PKG_USING_RAPIDJSON is not set +# CONFIG_PKG_USING_JSMN is not set +# CONFIG_PKG_USING_AGILE_JSMN is not set + +# +# XML: Extensible Markup Language +# +# CONFIG_PKG_USING_SIMPLE_XML is not set +# CONFIG_PKG_USING_EZXML is not set # CONFIG_PKG_USING_LUATOS_SOC is not set # CONFIG_PKG_USING_LUA is not set # CONFIG_PKG_USING_JERRYSCRIPT is not set @@ -630,6 +616,8 @@ CONFIG_PKG_MEM_SANDBOX_VER="latest" # CONFIG_PKG_USING_SOLAR_TERMS is not set # CONFIG_PKG_USING_GAN_ZHI is not set # CONFIG_PKG_USING_FDT is not set +# CONFIG_PKG_USING_CBOX is not set +# CONFIG_PKG_USING_SNOWFLAKE is not set # # system packages @@ -648,7 +636,9 @@ CONFIG_PKG_MEM_SANDBOX_VER="latest" # CONFIG_PKG_USING_POSIX_GETLINE is not set # CONFIG_PKG_USING_POSIX_WCWIDTH is not set # CONFIG_PKG_USING_POSIX_ITOA is not set -# CONFIG_PKG_USING_POSIX_STRINGS is not set +CONFIG_PKG_USING_POSIX_STRINGS=y +CONFIG_PKG_POSIX_STRINGS_PATH="/packages/system/POSIX/strings" +CONFIG_PKG_POSIX_STRINGS_VER="latest" # # acceleration: Assembly language or algorithmic acceleration packages @@ -672,27 +662,12 @@ CONFIG_PKG_MEM_SANDBOX_VER="latest" # CONFIG_PKG_USING_UC_CLK is not set # CONFIG_PKG_USING_UC_COMMON is not set # CONFIG_PKG_USING_UC_MODBUS is not set -# CONFIG_RT_USING_ARDUINO is not set +# CONFIG_PKG_USING_RTDUINO is not set # CONFIG_PKG_USING_GUIENGINE is not set # CONFIG_PKG_USING_PERSIMMON is not set # CONFIG_PKG_USING_CAIRO is not set # CONFIG_PKG_USING_PIXMAN is not set # CONFIG_PKG_USING_PARTITION is not set -CONFIG_PKG_USING_FAL=y -CONFIG_PKG_FAL_PATH="/packages/system/fal" -CONFIG_FAL_DEBUG_CONFIG=y -CONFIG_FAL_DEBUG=1 -CONFIG_FAL_PART_HAS_TABLE_CFG=y -CONFIG_FAL_USING_SFUD_PORT=y -CONFIG_FAL_USING_NOR_FLASH_DEV_NAME="norflash0" -# CONFIG_PKG_USING_FAL_V00500 is not set -# CONFIG_PKG_USING_FAL_V00400 is not set -# CONFIG_PKG_USING_FAL_V00300 is not set -# CONFIG_PKG_USING_FAL_V00200 is not set -# CONFIG_PKG_USING_FAL_V00100 is not set -CONFIG_PKG_USING_FAL_LATEST_VERSION=y -CONFIG_PKG_FAL_VER="latest" -CONFIG_PKG_FAL_VER_NUM=0x99999 # CONFIG_PKG_USING_FLASHDB is not set # CONFIG_PKG_USING_SQLITE is not set # CONFIG_PKG_USING_RTI is not set @@ -722,7 +697,8 @@ CONFIG_PKG_RAMDISK_VER="latest" # CONFIG_PKG_USING_ARM_2D is not set # CONFIG_PKG_USING_MCUBOOT is not set # CONFIG_PKG_USING_TINYUSB is not set -# CONFIG_PKG_USING_USB_STACK is not set +# CONFIG_PKG_USING_CHERRYUSB is not set +# CONFIG_PKG_USING_KMULTI_RTIMER is not set # # peripheral libraries and drivers @@ -746,6 +722,7 @@ CONFIG_PKG_RAMDISK_VER="latest" # CONFIG_PKG_USING_WM_LIBRARIES is not set # CONFIG_PKG_USING_KENDRYTE_SDK is not set # CONFIG_PKG_USING_INFRARED is not set +# CONFIG_PKG_USING_MULTI_INFRARED is not set # CONFIG_PKG_USING_AGILE_BUTTON is not set # CONFIG_PKG_USING_AGILE_LED is not set # CONFIG_PKG_USING_AT24CXX is not set @@ -802,6 +779,7 @@ CONFIG_PKG_RAMDISK_VER="latest" # CONFIG_PKG_USING_SOFT_SERIAL is not set # CONFIG_PKG_USING_MB85RS16 is not set # CONFIG_PKG_USING_CW2015 is not set +# CONFIG_PKG_USING_RFM300 is not set # # AI packages @@ -820,6 +798,10 @@ CONFIG_PKG_RAMDISK_VER="latest" # miscellaneous packages # +# +# project laboratory +# + # # samples: kernel and components samples # @@ -856,6 +838,7 @@ CONFIG_PKG_OPTPARSE_VER="latest" # CONFIG_PKG_USING_CANFESTIVAL is not set # CONFIG_PKG_USING_ZLIB is not set # CONFIG_PKG_USING_MINIZIP is not set +# CONFIG_PKG_USING_HEATSHRINK is not set # CONFIG_PKG_USING_DSTR is not set # CONFIG_PKG_USING_TINYFRAME is not set # CONFIG_PKG_USING_KENDRYTE_DEMO is not set @@ -893,6 +876,7 @@ CONFIG_PKG_VI_VER="latest" # CONFIG_PKG_USING_DESIGN_PATTERN is not set # CONFIG_PKG_USING_CONTROLLER is not set # CONFIG_PKG_USING_PHASE_LOCKED_LOOP is not set +# CONFIG_PKG_USING_MFBD is not set # # Hardware Drivers Config @@ -1015,6 +999,7 @@ CONFIG_NU_PKG_USING_DEMO=y CONFIG_NU_PKG_USING_NAU8822=y # CONFIG_NU_PKG_USING_DA9062 is not set # CONFIG_NU_PKG_USING_ILI9341 is not set +# CONFIG_NU_PKG_USING_SSD1963 is not set +# CONFIG_NU_PKG_USING_TPC is not set +# CONFIG_NU_PKG_USING_ADC_TOUCH is not set # CONFIG_NU_PKG_USING_SPINAND is not set -CONFIG_BOARD_USE_UTEST=y -CONFIG_UTEST_CMD_PREFIX="bsp.nuvoton.nk980-iot.test.utest." diff --git a/bsp/nuvoton/nk-980iot/template.uvproj b/bsp/nuvoton/nk-980iot/template.uvproj index 23e8dd2bcb..0626f656a1 100644 --- a/bsp/nuvoton/nk-980iot/template.uvproj +++ b/bsp/nuvoton/nk-980iot/template.uvproj @@ -10,11 +10,12 @@ rtthread 0x4 ARM-ADS + 0 Nuvoton_ARM9_Series Nuvoton - + IRAM(0x0-0x0) CLOCK(000000000) CPUTYPE(ARM926EJ-S) @@ -30,6 +31,7 @@ + 0 0 @@ -43,7 +45,7 @@ 0 1 - .\Objects\ + .\build\keil4\ rtthread 1 0 @@ -71,14 +73,18 @@ 0 0 + 0 + 0 - 0 + 1 0 - + fromelf.exe --bin --output "$L@L.bin" "$L@L.axf" 0 0 + 0 + 0 0 @@ -97,6 +103,7 @@ 3 + 1 SARM.DLL @@ -126,6 +133,7 @@ 1 1 0 + 1 1 @@ -137,9 +145,10 @@ 0 1 1 + 1 0 - 6 + 18 @@ -169,6 +178,10 @@ Segger\JLTAgdi.dll "" () + + + + 0 @@ -199,22 +212,24 @@ 1 0 0 - + ARM926EJ-S 0 0 0 0 - 0 + 1 0 0 0 + 0 0 0 0 0 0 0 + 0 3 3 0 @@ -267,8 +282,8 @@ 0 - 0x200000 - 0x1000 + 0x0 + 0x1 1 @@ -323,7 +338,7 @@ 0 0x0 - 0x0 + 0x1 0 @@ -347,6 +362,16 @@ 2 0 0 + 0 + 0 + 0 + 1 + 1 + 1 + 1 + 0 + 0 + 0 --c99 RT_USING_INTERRUPT_INFO @@ -363,6 +388,8 @@ 0 0 0 + 0 + 0 @@ -379,6 +406,7 @@ 0 0x20000000 0x20800000 + .\linking_scripts\nuc980.sct diff --git a/bsp/nuvoton/nk-980iot/template.uvprojx b/bsp/nuvoton/nk-980iot/template.uvprojx deleted file mode 100644 index aad158ccc3..0000000000 --- a/bsp/nuvoton/nk-980iot/template.uvprojx +++ /dev/null @@ -1,387 +0,0 @@ - - - - 2.1 - -
### uVision Project, (C) Keil Software
- - - - rtthread - 0x4 - ARM-ADS - 0 - - - Nuvoton_ARM9_Series - Nuvoton - - - - - 0 - - - - - - - - - - - - 0 - 0 - - - - Atmel\SAM9260\ - Atmel\SAM9260\ - - 0 - 0 - 0 - 0 - 1 - - .\build\keil5\ - rtthread - 1 - 0 - 1 - 1 - 1 - .\build\keil5\ - 1 - 0 - 0 - - 0 - 0 - - - 0 - 0 - 0 - 0 - - - 0 - 0 - - - 0 - 0 - 0 - 0 - - - 1 - 0 - fromelf.exe --bin --output "$L@L.bin" "$L@L.axf" - - 0 - 0 - 0 - 0 - - 0 - - - - 0 - 0 - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 0 - 3 - - - 1 - - - SARM.DLL - -cAT91SAM9260 - DARMATS9.DLL - -p91SAM9260 - SARM.DLL - - TARMATS9.DLL - -p91SAM9260 - - - - 1 - 0 - 0 - 0 - 16 - - - - - 1 - 0 - 0 - 0 - 1 - 4098 - - 0 - Segger\JLTAgdi.dll - "" () - - - - - 0 - - - - 0 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 0 - 1 - 1 - 0 - 1 - 1 - 0 - 0 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 0 - 0 - ARM926EJ-S - - 0 - 0 - 0 - 1 - 1 - 0 - 0 - 0 - 0 - 1 - 0 - 8 - 0 - 0 - 0 - 0 - 3 - 3 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - 0 - 0x0 - 0x0 - - - 0 - 0x0 - 0x0 - - - 0 - 0x0 - 0x0 - - - 0 - 0x0 - 0x0 - - - 0 - 0x0 - 0x0 - - - 0 - 0x0 - 0x0 - - - 0 - 0x200000 - 0x1000 - - - 1 - 0x100000 - 0x8000 - - - 0 - 0x0 - 0x0 - - - 1 - 0x20000000 - 0x800000 - - - 1 - 0x0 - 0x0 - - - 1 - 0x0 - 0x0 - - - 1 - 0x100000 - 0x8000 - - - 1 - 0x0 - 0x0 - - - 0 - 0x20800000 - 0x1800000 - - - 0 - 0x0 - 0x0 - - - 0 - 0x0 - 0x0 - - - 0 - 0x200000 - 0x1000 - - - 0 - 0x300000 - 0x1000 - - - - - - 1 - 1 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 2 - 0 - 0 - 0 - 0 - 0 - 1 - 1 - 1 - 1 - 0 - 0 - 0 - - --c99 - - - - - - - 1 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - - - - - 0 - 0 - 0 - 0 - 1 - 0 - 0x20000000 - 0x20800000 - - .\linking_scripts\nuc980.sct - - - - - - - - - - - - - - - - - -
diff --git a/bsp/nuvoton/nk-n9h30/.config b/bsp/nuvoton/nk-n9h30/.config index 342436b58f..0bd358116f 100644 --- a/bsp/nuvoton/nk-n9h30/.config +++ b/bsp/nuvoton/nk-n9h30/.config @@ -94,17 +94,8 @@ CONFIG_RT_USING_USER_MAIN=y CONFIG_RT_MAIN_THREAD_STACK_SIZE=2048 CONFIG_RT_MAIN_THREAD_PRIORITY=10 # CONFIG_RT_USING_LEGACY is not set - -# -# C++ features -# -# CONFIG_RT_USING_CPLUSPLUS is not set - -# -# Command shell -# -CONFIG_RT_USING_FINSH=y CONFIG_RT_USING_MSH=y +CONFIG_RT_USING_FINSH=y CONFIG_FINSH_USING_MSH=y CONFIG_FINSH_THREAD_NAME="tshell" CONFIG_FINSH_THREAD_PRIORITY=20 @@ -118,10 +109,6 @@ CONFIG_FINSH_USING_DESCRIPTION=y # CONFIG_FINSH_ECHO_DISABLE_DEFAULT is not set # CONFIG_FINSH_USING_AUTH is not set CONFIG_FINSH_ARG_MAX=10 - -# -# Device virtual file system -# CONFIG_RT_USING_DFS=y CONFIG_DFS_USING_POSIX=y CONFIG_DFS_USING_WORKDIR=y @@ -156,6 +143,13 @@ CONFIG_RT_USING_DFS_DEVFS=y # CONFIG_RT_USING_DFS_ROMFS is not set # CONFIG_RT_USING_DFS_RAMFS is not set # CONFIG_RT_USING_DFS_NFS is not set +CONFIG_RT_USING_FAL=y +CONFIG_FAL_DEBUG_CONFIG=y +CONFIG_FAL_DEBUG=1 +CONFIG_FAL_PART_HAS_TABLE_CFG=y +CONFIG_FAL_USING_SFUD_PORT=y +CONFIG_FAL_USING_NOR_FLASH_DEV_NAME="norflash0" +# CONFIG_RT_USING_LWP is not set # # Device Drivers @@ -190,6 +184,7 @@ CONFIG_RT_USING_ALARM=y # CONFIG_RT_USING_SOFT_RTC is not set # CONFIG_RT_USING_SDIO is not set CONFIG_RT_USING_SPI=y +# CONFIG_RT_USING_SPI_BITOPS is not set CONFIG_RT_USING_QSPI=y # CONFIG_RT_USING_SPI_MSD is not set CONFIG_RT_USING_SFUD=y @@ -244,7 +239,7 @@ CONFIG_RT_VCOM_TX_TIMEOUT=1000 CONFIG_RT_USB_MSTORAGE_DISK_NAME="ramdisk1" # -# POSIX layer and C standard library +# C/C++ and POSIX layer # CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8 @@ -275,14 +270,11 @@ CONFIG_RT_USING_POSIX_SELECT=y # # Socket is in the 'Network' category # +# CONFIG_RT_USING_CPLUSPLUS is not set # # Network # - -# -# Socket abstraction layer -# CONFIG_RT_USING_SAL=y CONFIG_SAL_INTERNET_CHECK=y @@ -291,10 +283,6 @@ CONFIG_SAL_INTERNET_CHECK=y # CONFIG_SAL_USING_LWIP=y CONFIG_SAL_USING_POSIX=y - -# -# Network interface device -# CONFIG_RT_USING_NETDEV=y CONFIG_NETDEV_USING_IFCONFIG=y CONFIG_NETDEV_USING_PING=y @@ -304,14 +292,13 @@ CONFIG_NETDEV_USING_AUTO_DEFAULT=y CONFIG_NETDEV_IPV4=1 CONFIG_NETDEV_IPV6=0 # CONFIG_NETDEV_IPV6_SCOPES is not set - -# -# light weight TCP/IP stack -# CONFIG_RT_USING_LWIP=y +# CONFIG_RT_USING_LWIP_LOCAL_VERSION is not set # CONFIG_RT_USING_LWIP141 is not set CONFIG_RT_USING_LWIP203=y # CONFIG_RT_USING_LWIP212 is not set +# CONFIG_RT_USING_LWIP_LATEST is not set +CONFIG_RT_USING_LWIP_VER_NUM=0x20003 # CONFIG_RT_USING_LWIP_IPV6 is not set CONFIG_RT_LWIP_MEM_ALIGNMENT=4 CONFIG_RT_LWIP_IGMP=y @@ -361,18 +348,9 @@ CONFIG_LWIP_NETIF_LOOPBACK=1 CONFIG_RT_LWIP_STATS=y # CONFIG_RT_LWIP_USING_HW_CHECKSUM is not set CONFIG_RT_LWIP_USING_PING=y -# CONFIG_RT_LWIP_DEBUG is not set - -# -# AT commands -# -# CONFIG_RT_USING_AT is not set # CONFIG_LWIP_USING_DHCPD is not set - -# -# VBUS(Virtual Software BUS) -# -# CONFIG_RT_USING_VBUS is not set +# CONFIG_RT_LWIP_DEBUG is not set +# CONFIG_RT_USING_AT is not set # # Utilities @@ -384,7 +362,7 @@ CONFIG_UTEST_THR_STACK_SIZE=4096 CONFIG_UTEST_THR_PRIORITY=20 # CONFIG_RT_USING_VAR_EXPORT is not set # CONFIG_RT_USING_RT_LINK is not set -# CONFIG_RT_USING_LWP is not set +# CONFIG_RT_USING_VBUS is not set # # RT-Thread Utestcases @@ -398,6 +376,7 @@ CONFIG_UTEST_THR_PRIORITY=20 # # IoT - internet of things # +# CONFIG_PKG_USING_LWIP is not set # CONFIG_PKG_USING_LORAWAN_DRIVER is not set # CONFIG_PKG_USING_PAHOMQTT is not set # CONFIG_PKG_USING_UMQTT is not set @@ -408,12 +387,8 @@ CONFIG_UTEST_THR_PRIORITY=20 # CONFIG_PKG_USING_KAWAII_MQTT is not set # CONFIG_PKG_USING_BC28_MQTT is not set # CONFIG_PKG_USING_WEBTERMINAL is not set -# CONFIG_PKG_USING_CJSON is not set -# CONFIG_PKG_USING_JSMN is not set # CONFIG_PKG_USING_LIBMODBUS is not set # CONFIG_PKG_USING_FREEMODBUS is not set -# CONFIG_PKG_USING_LJSON is not set -# CONFIG_PKG_USING_EZXML is not set # CONFIG_PKG_USING_NANOPB is not set # @@ -467,16 +442,13 @@ CONFIG_UTEST_THR_PRIORITY=20 # CONFIG_PKG_USING_ABUP_FOTA is not set # CONFIG_PKG_USING_LIBCURL2RTT is not set # CONFIG_PKG_USING_CAPNP is not set -# CONFIG_PKG_USING_RT_CJSON_TOOLS is not set # CONFIG_PKG_USING_AGILE_TELNET is not set # CONFIG_PKG_USING_NMEALIB is not set -# CONFIG_PKG_USING_AGILE_JSMN is not set # CONFIG_PKG_USING_PDULIB is not set # CONFIG_PKG_USING_BTSTACK is not set # CONFIG_PKG_USING_LORAWAN_ED_STACK is not set # CONFIG_PKG_USING_WAYZ_IOTKIT is not set # CONFIG_PKG_USING_MAVLINK is not set -# CONFIG_PKG_USING_RAPIDJSON is not set # CONFIG_PKG_USING_BSAL is not set # CONFIG_PKG_USING_AGILE_MODBUS is not set # CONFIG_PKG_USING_AGILE_FTP is not set @@ -501,6 +473,22 @@ CONFIG_UTEST_THR_PRIORITY=20 # # language packages # + +# +# JSON: JavaScript Object Notation, a lightweight data-interchange format +# +# CONFIG_PKG_USING_CJSON is not set +# CONFIG_PKG_USING_LJSON is not set +# CONFIG_PKG_USING_RT_CJSON_TOOLS is not set +# CONFIG_PKG_USING_RAPIDJSON is not set +# CONFIG_PKG_USING_JSMN is not set +# CONFIG_PKG_USING_AGILE_JSMN is not set + +# +# XML: Extensible Markup Language +# +# CONFIG_PKG_USING_SIMPLE_XML is not set +# CONFIG_PKG_USING_EZXML is not set # CONFIG_PKG_USING_LUATOS_SOC is not set # CONFIG_PKG_USING_LUA is not set # CONFIG_PKG_USING_JERRYSCRIPT is not set @@ -598,6 +586,8 @@ CONFIG_PKG_LV_MUSIC_DEMO_VER="v0.1.1" # CONFIG_PKG_USING_SOLAR_TERMS is not set # CONFIG_PKG_USING_GAN_ZHI is not set # CONFIG_PKG_USING_FDT is not set +# CONFIG_PKG_USING_CBOX is not set +# CONFIG_PKG_USING_SNOWFLAKE is not set # # system packages @@ -640,28 +630,12 @@ CONFIG_PKG_LV_MUSIC_DEMO_VER="v0.1.1" # CONFIG_PKG_USING_UC_CLK is not set # CONFIG_PKG_USING_UC_COMMON is not set # CONFIG_PKG_USING_UC_MODBUS is not set -# CONFIG_RT_USING_ARDUINO is not set +# CONFIG_PKG_USING_RTDUINO is not set # CONFIG_PKG_USING_GUIENGINE is not set # CONFIG_PKG_USING_PERSIMMON is not set # CONFIG_PKG_USING_CAIRO is not set # CONFIG_PKG_USING_PIXMAN is not set # CONFIG_PKG_USING_PARTITION is not set -CONFIG_PKG_USING_FAL=y -CONFIG_PKG_FAL_PATH="/packages/system/fal" -CONFIG_FAL_DEBUG_CONFIG=y -CONFIG_FAL_DEBUG=1 -CONFIG_FAL_PART_HAS_TABLE_CFG=y -CONFIG_FAL_USING_SFUD_PORT=y -CONFIG_FAL_USING_NOR_FLASH_DEV_NAME="norflash0" -# CONFIG_PKG_USING_FAL_V10000 is not set -# CONFIG_PKG_USING_FAL_V00500 is not set -# CONFIG_PKG_USING_FAL_V00400 is not set -# CONFIG_PKG_USING_FAL_V00300 is not set -# CONFIG_PKG_USING_FAL_V00200 is not set -# CONFIG_PKG_USING_FAL_V00100 is not set -CONFIG_PKG_USING_FAL_LATEST_VERSION=y -CONFIG_PKG_FAL_VER="latest" -CONFIG_PKG_FAL_VER_NUM=0x99999 # CONFIG_PKG_USING_FLASHDB is not set # CONFIG_PKG_USING_SQLITE is not set # CONFIG_PKG_USING_RTI is not set @@ -692,6 +666,7 @@ CONFIG_PKG_RAMDISK_VER="latest" # CONFIG_PKG_USING_MCUBOOT is not set # CONFIG_PKG_USING_TINYUSB is not set # CONFIG_PKG_USING_CHERRYUSB is not set +# CONFIG_PKG_USING_KMULTI_RTIMER is not set # # peripheral libraries and drivers @@ -715,6 +690,7 @@ CONFIG_PKG_RAMDISK_VER="latest" # CONFIG_PKG_USING_WM_LIBRARIES is not set # CONFIG_PKG_USING_KENDRYTE_SDK is not set # CONFIG_PKG_USING_INFRARED is not set +# CONFIG_PKG_USING_MULTI_INFRARED is not set # CONFIG_PKG_USING_AGILE_BUTTON is not set # CONFIG_PKG_USING_AGILE_LED is not set # CONFIG_PKG_USING_AT24CXX is not set @@ -771,6 +747,7 @@ CONFIG_PKG_RAMDISK_VER="latest" # CONFIG_PKG_USING_SOFT_SERIAL is not set # CONFIG_PKG_USING_MB85RS16 is not set # CONFIG_PKG_USING_CW2015 is not set +# CONFIG_PKG_USING_RFM300 is not set # # AI packages @@ -789,6 +766,10 @@ CONFIG_PKG_RAMDISK_VER="latest" # miscellaneous packages # +# +# project laboratory +# + # # samples: kernel and components samples # @@ -839,6 +820,7 @@ CONFIG_PKG_RAMDISK_VER="latest" # CONFIG_PKG_USING_DESIGN_PATTERN is not set # CONFIG_PKG_USING_CONTROLLER is not set # CONFIG_PKG_USING_PHASE_LOCKED_LOOP is not set +# CONFIG_PKG_USING_MFBD is not set # # Hardware Drivers Config @@ -966,8 +948,8 @@ CONFIG_NU_PKG_USING_UTILS=y CONFIG_NU_PKG_USING_NAU8822=y # CONFIG_NU_PKG_USING_DA9062 is not set # CONFIG_NU_PKG_USING_ILI9341 is not set +# CONFIG_NU_PKG_USING_SSD1963 is not set +# CONFIG_NU_PKG_USING_TPC is not set CONFIG_NU_PKG_USING_ADC_TOUCH=y # CONFIG_NU_PKG_USING_ADC_TOUCH_SW is not set # CONFIG_NU_PKG_USING_SPINAND is not set -CONFIG_BOARD_USE_UTEST=y -CONFIG_UTEST_CMD_PREFIX="bsp.nuvoton.nk-n9h30.test.utest." diff --git a/bsp/nuvoton/nk-n9h30/README.md b/bsp/nuvoton/nk-n9h30/README.md index 58827e6fcc..32d1c96833 100644 --- a/bsp/nuvoton/nk-n9h30/README.md +++ b/bsp/nuvoton/nk-n9h30/README.md @@ -43,13 +43,13 @@ Nuvoton offers HMI platforms which are embedded with Nuvoton N9H MPU. The N9H s |SPI NOR flash | W25Q256JVEQ (32 MB) | Supported | ## 2. Supported compiler -Support GCC, MDK4 and MDK5 IDE/compilers. More information of these compiler version as following: +Support GCC and MDK IDE/compilers. More information of these compiler version as following: | IDE/Compiler | Tested version | | ---------- | ---------------------------- | -| MDK5 | 5.26.2 | +| MDK | uVision 5.25.2 | | GCC | 6-2017-q1-update | -Notice: Please install ICE driver for development. +Notice: Please install ICE driver for development and [NuMicro_ARM9_Device_Database_Keil](https://www.nuvoton.com/resource-download.jsp?tp_GUID=SW1820201207155701). ## 3. Program firmware ### 3.1 SDRAM Downloading using NuWriter diff --git a/bsp/nuvoton/nk-n9h30/applications/lvgl/lv_conf.h b/bsp/nuvoton/nk-n9h30/applications/lvgl/lv_conf.h index 232cbc0f4f..081c44886a 100644 --- a/bsp/nuvoton/nk-n9h30/applications/lvgl/lv_conf.h +++ b/bsp/nuvoton/nk-n9h30/applications/lvgl/lv_conf.h @@ -13,6 +13,8 @@ #include "rtconfig.h" +#define LV_VERSION_EQUAL(x,y,z) (x == LVGL_VERSION_MAJOR && y==LVGL_VERSION_MINOR && z==LVGL_VERSION_PATCH ) + //#define LV_USE_GPU_N9H30_GE2D 1 #define LV_COLOR_DEPTH BSP_LCD_BPP @@ -23,8 +25,13 @@ #define LV_FONT_MONTSERRAT_16 1 #define LV_USE_PERF_MONITOR 1 +#if LV_VERSION_EQUAL(8, 1, 0) #define LV_USE_DEMO_RTT_MUSIC 1 #define LV_DEMO_RTT_MUSIC_AUTO_PLAY 1 +#else +#define LV_USE_DEMO_MUSIC 1 +#define LV_DEMO_MUSIC_AUTO_PLAY 1 +#endif //#define LV_DISP_DEF_REFR_PERIOD 16 diff --git a/bsp/nuvoton/nk-n9h30/applications/lvgl/lv_port_disp.c b/bsp/nuvoton/nk-n9h30/applications/lvgl/lv_port_disp.c index 3162bf8d2b..6d94354e17 100644 --- a/bsp/nuvoton/nk-n9h30/applications/lvgl/lv_port_disp.c +++ b/bsp/nuvoton/nk-n9h30/applications/lvgl/lv_port_disp.c @@ -135,6 +135,7 @@ static void nu_flush(lv_disp_drv_t *disp_drv, const lv_area_t *area, lv_color_t lv_disp_flush_ready(disp_drv); } +#if LV_VERSION_EQUAL(8, 1, 0) static void nu_fill_cb(struct _lv_disp_drv_t *disp_drv, lv_color_t *dest_buf, lv_coord_t dest_width, const lv_area_t *fill_area, lv_color_t color) { @@ -185,6 +186,7 @@ static void nu_fill_cb(struct _lv_disp_drv_t *disp_drv, lv_color_t *dest_buf, lv // -> Leave GE2D } } +#endif void nu_perf_monitor(struct _lv_disp_drv_t *disp_drv, uint32_t time, uint32_t px) { @@ -271,8 +273,10 @@ void lv_port_disp_init(void) /*Set a display buffer*/ disp_drv.draw_buf = &disp_buf; +#if LV_VERSION_EQUAL(8, 1, 0) /*Fill a memory with a color (GPU only)*/ disp_drv.gpu_fill_cb = nu_fill_cb; +#endif /*Called after every refresh cycle to tell the rendering and flushing time + the number of flushed pixels*/ //disp_drv.monitor_cb = nu_perf_monitor; diff --git a/bsp/nuvoton/nk-n9h30/rtconfig.h b/bsp/nuvoton/nk-n9h30/rtconfig.h index f542288a73..2ba4a38a4c 100644 --- a/bsp/nuvoton/nk-n9h30/rtconfig.h +++ b/bsp/nuvoton/nk-n9h30/rtconfig.h @@ -59,14 +59,8 @@ #define RT_USING_USER_MAIN #define RT_MAIN_THREAD_STACK_SIZE 2048 #define RT_MAIN_THREAD_PRIORITY 10 - -/* C++ features */ - - -/* Command shell */ - -#define RT_USING_FINSH #define RT_USING_MSH +#define RT_USING_FINSH #define FINSH_USING_MSH #define FINSH_THREAD_NAME "tshell" #define FINSH_THREAD_PRIORITY 20 @@ -78,9 +72,6 @@ #define MSH_USING_BUILT_IN_COMMANDS #define FINSH_USING_DESCRIPTION #define FINSH_ARG_MAX 10 - -/* Device virtual file system */ - #define RT_USING_DFS #define DFS_USING_POSIX #define DFS_USING_WORKDIR @@ -104,6 +95,12 @@ #define RT_DFS_ELM_REENTRANT #define RT_DFS_ELM_MUTEX_TIMEOUT 3000 #define RT_USING_DFS_DEVFS +#define RT_USING_FAL +#define FAL_DEBUG_CONFIG +#define FAL_DEBUG 1 +#define FAL_PART_HAS_TABLE_CFG +#define FAL_USING_SFUD_PORT +#define FAL_USING_NOR_FLASH_DEV_NAME "norflash0" /* Device Drivers */ @@ -160,7 +157,7 @@ #define RT_VCOM_TX_TIMEOUT 1000 #define RT_USB_MSTORAGE_DISK_NAME "ramdisk1" -/* POSIX layer and C standard library */ +/* C/C++ and POSIX layer */ #define RT_LIBC_DEFAULT_TIMEZONE 8 @@ -176,9 +173,8 @@ /* Socket is in the 'Network' category */ -/* Network */ -/* Socket abstraction layer */ +/* Network */ #define RT_USING_SAL #define SAL_INTERNET_CHECK @@ -187,9 +183,6 @@ #define SAL_USING_LWIP #define SAL_USING_POSIX - -/* Network interface device */ - #define RT_USING_NETDEV #define NETDEV_USING_IFCONFIG #define NETDEV_USING_PING @@ -197,11 +190,9 @@ #define NETDEV_USING_AUTO_DEFAULT #define NETDEV_IPV4 1 #define NETDEV_IPV6 0 - -/* light weight TCP/IP stack */ - #define RT_USING_LWIP #define RT_USING_LWIP203 +#define RT_USING_LWIP_VER_NUM 0x20003 #define RT_LWIP_MEM_ALIGNMENT 4 #define RT_LWIP_IGMP #define RT_LWIP_ICMP @@ -244,12 +235,6 @@ #define RT_LWIP_STATS #define RT_LWIP_USING_PING -/* AT commands */ - - -/* VBUS(Virtual Software BUS) */ - - /* Utilities */ #define RT_USING_UTEST @@ -280,6 +265,11 @@ /* language packages */ +/* JSON: JavaScript Object Notation, a lightweight data-interchange format */ + + +/* XML: Extensible Markup Language */ + /* multimedia packages */ @@ -315,14 +305,6 @@ /* Micrium: Micrium software products porting for RT-Thread */ -#define RT_USING_FAL -#define FAL_DEBUG_CONFIG -#define FAL_DEBUG 1 -#define FAL_PART_HAS_TABLE_CFG -#define FAL_USING_SFUD_PORT -#define FAL_USING_NOR_FLASH_DEV_NAME "norflash0" -#define RT_USING_FAL_LATEST_VERSION -#define PKG_FAL_VER_NUM 0x99999 #define PKG_USING_RAMDISK #define PKG_USING_RAMDISK_LATEST_VERSION @@ -334,6 +316,8 @@ /* miscellaneous packages */ +/* project laboratory */ + /* samples: kernel and components samples */ @@ -420,7 +404,6 @@ #define NU_PKG_USING_UTILS #define NU_PKG_USING_NAU8822 -#define BOARD_USE_UTEST -#define UTEST_CMD_PREFIX "bsp.nuvoton.nk-n9h30.test.utest." +#define NU_PKG_USING_ADC_TOUCH #endif diff --git a/bsp/nuvoton/nk-n9h30/template.uvproj b/bsp/nuvoton/nk-n9h30/template.uvproj index 2a4f8efb44..e75ccf39ca 100644 --- a/bsp/nuvoton/nk-n9h30/template.uvproj +++ b/bsp/nuvoton/nk-n9h30/template.uvproj @@ -10,11 +10,13 @@ rtthread 0x4 ARM-ADS + 5060750::V5.06 update 6 (build 750)::ARMCC + 0 Nuvoton_ARM9_Series Nuvoton - + IRAM(0x0-0x0) CLOCK(000000000) CPUTYPE(ARM926EJ-S) @@ -30,6 +32,7 @@ + 0 0 @@ -43,7 +46,7 @@ 0 1 - .\Objects\ + .\build\keil4\ rtthread 1 0 @@ -71,14 +74,18 @@ 0 0 + 0 + 0 - 0 + 1 0 - + fromelf.exe --bin --output "$L@L.bin" "$L@L.axf" 0 0 + 0 + 0 0 @@ -97,6 +104,7 @@ 3 + 1 SARM.DLL @@ -126,6 +134,7 @@ 1 1 0 + 1 1 @@ -137,9 +146,10 @@ 0 1 1 + 1 0 - 6 + 18 @@ -152,7 +162,7 @@ - ..\libraries\nuc980\Script\NUC980xx61.ini + ..\libraries\n9h30\Script\InitDDR2.ini Segger\JLTAgdi.dll @@ -167,8 +177,12 @@ 0 Segger\JLTAgdi.dll - "" () + + + + + 0 @@ -199,22 +213,24 @@ 1 0 0 - + ARM926EJ-S 0 0 0 0 - 0 + 1 0 0 0 + 0 0 0 0 0 0 0 + 0 3 3 0 @@ -267,8 +283,8 @@ 0 - 0x200000 - 0x1000 + 0x0 + 0x1 1 @@ -323,7 +339,7 @@ 0 0x0 - 0x0 + 0x1 0 @@ -347,6 +363,16 @@ 2 0 0 + 0 + 0 + 0 + 1 + 1 + 1 + 1 + 0 + 0 + 0 --c99 RT_USING_INTERRUPT_INFO @@ -363,6 +389,8 @@ 0 0 0 + 0 + 0 @@ -379,6 +407,7 @@ 0 0x20000000 0x20800000 + .\linking_scripts\n9h30.sct diff --git a/bsp/nuvoton/nk-n9h30/template.uvprojx b/bsp/nuvoton/nk-n9h30/template.uvprojx deleted file mode 100644 index f3525c7031..0000000000 --- a/bsp/nuvoton/nk-n9h30/template.uvprojx +++ /dev/null @@ -1,387 +0,0 @@ - - - - 2.1 - -
### uVision Project, (C) Keil Software
- - - - rtthread - 0x4 - ARM-ADS - 0 - - - Nuvoton_ARM9_Series - Nuvoton - - - - - 0 - - - - - - - - - - - - 0 - 0 - - - - Atmel\SAM9260\ - Atmel\SAM9260\ - - 0 - 0 - 0 - 0 - 1 - - .\build\keil5\ - rtthread - 1 - 0 - 1 - 1 - 1 - .\build\keil5\ - 1 - 0 - 0 - - 0 - 0 - - - 0 - 0 - 0 - 0 - - - 0 - 0 - - - 0 - 0 - 0 - 0 - - - 1 - 0 - fromelf.exe --bin --output "$L@L.bin" "$L@L.axf" - - 0 - 0 - 0 - 0 - - 0 - - - - 0 - 0 - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 0 - 3 - - - 1 - - - SARM.DLL - -cAT91SAM9260 - DARMATS9.DLL - -p91SAM9260 - SARM.DLL - - TARMATS9.DLL - -p91SAM9260 - - - - 1 - 0 - 0 - 0 - 16 - - - - - 1 - 0 - 0 - 0 - 1 - 4098 - - 0 - Segger\JLTAgdi.dll - "" () - - - - - 0 - - - - 0 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 0 - 1 - 1 - 0 - 1 - 1 - 0 - 0 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 0 - 0 - ARM926EJ-S - - 0 - 0 - 0 - 1 - 1 - 0 - 0 - 0 - 0 - 1 - 0 - 8 - 0 - 0 - 0 - 0 - 3 - 3 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - 0 - 0x0 - 0x0 - - - 0 - 0x0 - 0x0 - - - 0 - 0x0 - 0x0 - - - 0 - 0x0 - 0x0 - - - 0 - 0x0 - 0x0 - - - 0 - 0x0 - 0x0 - - - 0 - 0x200000 - 0x1000 - - - 1 - 0x100000 - 0x8000 - - - 0 - 0x0 - 0x0 - - - 1 - 0x20000000 - 0x800000 - - - 1 - 0x0 - 0x0 - - - 1 - 0x0 - 0x0 - - - 1 - 0x100000 - 0x8000 - - - 1 - 0x0 - 0x0 - - - 0 - 0x20800000 - 0x1800000 - - - 0 - 0x0 - 0x0 - - - 0 - 0x0 - 0x0 - - - 0 - 0x200000 - 0x1000 - - - 0 - 0x300000 - 0x1000 - - - - - - 1 - 1 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 2 - 0 - 0 - 0 - 0 - 0 - 1 - 1 - 1 - 1 - 0 - 0 - 0 - - --c99 - - - - - - - 1 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - - - - - 0 - 0 - 0 - 0 - 1 - 0 - 0x20000000 - 0x20800000 - - .\linking_scripts\n9h30.sct - - - - - - - - - - - - - - - - - -
diff --git a/bsp/nuvoton/nk-rtu980/.config b/bsp/nuvoton/nk-rtu980/.config index 0bfb5f1643..46cf30079f 100644 --- a/bsp/nuvoton/nk-rtu980/.config +++ b/bsp/nuvoton/nk-rtu980/.config @@ -94,17 +94,8 @@ CONFIG_RT_USING_USER_MAIN=y CONFIG_RT_MAIN_THREAD_STACK_SIZE=2048 CONFIG_RT_MAIN_THREAD_PRIORITY=10 # CONFIG_RT_USING_LEGACY is not set - -# -# C++ features -# -# CONFIG_RT_USING_CPLUSPLUS is not set - -# -# Command shell -# -CONFIG_RT_USING_FINSH=y CONFIG_RT_USING_MSH=y +CONFIG_RT_USING_FINSH=y CONFIG_FINSH_USING_MSH=y CONFIG_FINSH_THREAD_NAME="tshell" CONFIG_FINSH_THREAD_PRIORITY=20 @@ -118,10 +109,6 @@ CONFIG_FINSH_USING_DESCRIPTION=y # CONFIG_FINSH_ECHO_DISABLE_DEFAULT is not set # CONFIG_FINSH_USING_AUTH is not set CONFIG_FINSH_ARG_MAX=10 - -# -# Device virtual file system -# CONFIG_RT_USING_DFS=y CONFIG_DFS_USING_POSIX=y CONFIG_DFS_USING_WORKDIR=y @@ -156,6 +143,13 @@ CONFIG_RT_USING_DFS_DEVFS=y # CONFIG_RT_USING_DFS_ROMFS is not set # CONFIG_RT_USING_DFS_RAMFS is not set # CONFIG_RT_USING_DFS_NFS is not set +CONFIG_RT_USING_FAL=y +CONFIG_FAL_DEBUG_CONFIG=y +CONFIG_FAL_DEBUG=1 +CONFIG_FAL_PART_HAS_TABLE_CFG=y +CONFIG_FAL_USING_SFUD_PORT=y +CONFIG_FAL_USING_NOR_FLASH_DEV_NAME="norflash0" +# CONFIG_RT_USING_LWP is not set # # Device Drivers @@ -190,6 +184,7 @@ CONFIG_RT_USING_RTC=y CONFIG_RT_USING_SOFT_RTC=y # CONFIG_RT_USING_SDIO is not set CONFIG_RT_USING_SPI=y +# CONFIG_RT_USING_SPI_BITOPS is not set CONFIG_RT_USING_QSPI=y # CONFIG_RT_USING_SPI_MSD is not set CONFIG_RT_USING_SFUD=y @@ -262,7 +257,7 @@ CONFIG_RT_VCOM_TX_TIMEOUT=1000 CONFIG_RT_USB_MSTORAGE_DISK_NAME="ramdisk1" # -# POSIX layer and C standard library +# C/C++ and POSIX layer # CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8 @@ -293,14 +288,11 @@ CONFIG_RT_USING_POSIX_SELECT=y # # Socket is in the 'Network' category # +# CONFIG_RT_USING_CPLUSPLUS is not set # # Network # - -# -# Socket abstraction layer -# CONFIG_RT_USING_SAL=y # CONFIG_SAL_INTERNET_CHECK is not set @@ -309,10 +301,6 @@ CONFIG_RT_USING_SAL=y # CONFIG_SAL_USING_LWIP=y CONFIG_SAL_USING_POSIX=y - -# -# Network interface device -# CONFIG_RT_USING_NETDEV=y CONFIG_NETDEV_USING_IFCONFIG=y CONFIG_NETDEV_USING_PING=y @@ -322,14 +310,13 @@ CONFIG_NETDEV_USING_AUTO_DEFAULT=y CONFIG_NETDEV_IPV4=1 CONFIG_NETDEV_IPV6=0 # CONFIG_NETDEV_IPV6_SCOPES is not set - -# -# light weight TCP/IP stack -# CONFIG_RT_USING_LWIP=y +# CONFIG_RT_USING_LWIP_LOCAL_VERSION is not set # CONFIG_RT_USING_LWIP141 is not set # CONFIG_RT_USING_LWIP203 is not set CONFIG_RT_USING_LWIP212=y +# CONFIG_RT_USING_LWIP_LATEST is not set +CONFIG_RT_USING_LWIP_VER_NUM=0x20102 # CONFIG_RT_USING_LWIP_IPV6 is not set CONFIG_RT_LWIP_MEM_ALIGNMENT=4 CONFIG_RT_LWIP_IGMP=y @@ -379,18 +366,9 @@ CONFIG_LWIP_NETIF_LOOPBACK=1 CONFIG_RT_LWIP_STATS=y # CONFIG_RT_LWIP_USING_HW_CHECKSUM is not set CONFIG_RT_LWIP_USING_PING=y -# CONFIG_RT_LWIP_DEBUG is not set - -# -# AT commands -# -# CONFIG_RT_USING_AT is not set # CONFIG_LWIP_USING_DHCPD is not set - -# -# VBUS(Virtual Software BUS) -# -# CONFIG_RT_USING_VBUS is not set +# CONFIG_RT_LWIP_DEBUG is not set +# CONFIG_RT_USING_AT is not set # # Utilities @@ -402,7 +380,7 @@ CONFIG_UTEST_THR_STACK_SIZE=4096 CONFIG_UTEST_THR_PRIORITY=20 # CONFIG_RT_USING_VAR_EXPORT is not set # CONFIG_RT_USING_RT_LINK is not set -# CONFIG_RT_USING_LWP is not set +# CONFIG_RT_USING_VBUS is not set # # RT-Thread Utestcases @@ -416,6 +394,7 @@ CONFIG_UTEST_THR_PRIORITY=20 # # IoT - internet of things # +# CONFIG_PKG_USING_LWIP is not set # CONFIG_PKG_USING_LORAWAN_DRIVER is not set # CONFIG_PKG_USING_PAHOMQTT is not set # CONFIG_PKG_USING_UMQTT is not set @@ -426,12 +405,8 @@ CONFIG_UTEST_THR_PRIORITY=20 # CONFIG_PKG_USING_KAWAII_MQTT is not set # CONFIG_PKG_USING_BC28_MQTT is not set # CONFIG_PKG_USING_WEBTERMINAL is not set -# CONFIG_PKG_USING_CJSON is not set -# CONFIG_PKG_USING_JSMN is not set # CONFIG_PKG_USING_LIBMODBUS is not set # CONFIG_PKG_USING_FREEMODBUS is not set -# CONFIG_PKG_USING_LJSON is not set -# CONFIG_PKG_USING_EZXML is not set # CONFIG_PKG_USING_NANOPB is not set # @@ -501,16 +476,13 @@ CONFIG_PKG_NETUTILS_VER_NUM=0x99999 # CONFIG_PKG_USING_ABUP_FOTA is not set # CONFIG_PKG_USING_LIBCURL2RTT is not set # CONFIG_PKG_USING_CAPNP is not set -# CONFIG_PKG_USING_RT_CJSON_TOOLS is not set # CONFIG_PKG_USING_AGILE_TELNET is not set # CONFIG_PKG_USING_NMEALIB is not set -# CONFIG_PKG_USING_AGILE_JSMN is not set # CONFIG_PKG_USING_PDULIB is not set # CONFIG_PKG_USING_BTSTACK is not set # CONFIG_PKG_USING_LORAWAN_ED_STACK is not set # CONFIG_PKG_USING_WAYZ_IOTKIT is not set # CONFIG_PKG_USING_MAVLINK is not set -# CONFIG_PKG_USING_RAPIDJSON is not set # CONFIG_PKG_USING_BSAL is not set # CONFIG_PKG_USING_AGILE_MODBUS is not set # CONFIG_PKG_USING_AGILE_FTP is not set @@ -535,6 +507,22 @@ CONFIG_PKG_NETUTILS_VER_NUM=0x99999 # # language packages # + +# +# JSON: JavaScript Object Notation, a lightweight data-interchange format +# +# CONFIG_PKG_USING_CJSON is not set +# CONFIG_PKG_USING_LJSON is not set +# CONFIG_PKG_USING_RT_CJSON_TOOLS is not set +# CONFIG_PKG_USING_RAPIDJSON is not set +# CONFIG_PKG_USING_JSMN is not set +# CONFIG_PKG_USING_AGILE_JSMN is not set + +# +# XML: Extensible Markup Language +# +# CONFIG_PKG_USING_SIMPLE_XML is not set +# CONFIG_PKG_USING_EZXML is not set # CONFIG_PKG_USING_LUATOS_SOC is not set # CONFIG_PKG_USING_LUA is not set # CONFIG_PKG_USING_JERRYSCRIPT is not set @@ -622,6 +610,8 @@ CONFIG_PKG_NETUTILS_VER_NUM=0x99999 # CONFIG_PKG_USING_SOLAR_TERMS is not set # CONFIG_PKG_USING_GAN_ZHI is not set # CONFIG_PKG_USING_FDT is not set +# CONFIG_PKG_USING_CBOX is not set +# CONFIG_PKG_USING_SNOWFLAKE is not set # # system packages @@ -664,27 +654,12 @@ CONFIG_PKG_NETUTILS_VER_NUM=0x99999 # CONFIG_PKG_USING_UC_CLK is not set # CONFIG_PKG_USING_UC_COMMON is not set # CONFIG_PKG_USING_UC_MODBUS is not set -# CONFIG_RT_USING_ARDUINO is not set +# CONFIG_PKG_USING_RTDUINO is not set # CONFIG_PKG_USING_GUIENGINE is not set # CONFIG_PKG_USING_PERSIMMON is not set # CONFIG_PKG_USING_CAIRO is not set # CONFIG_PKG_USING_PIXMAN is not set # CONFIG_PKG_USING_PARTITION is not set -CONFIG_PKG_USING_FAL=y -CONFIG_PKG_FAL_PATH="/packages/system/fal" -CONFIG_FAL_DEBUG_CONFIG=y -CONFIG_FAL_DEBUG=1 -CONFIG_FAL_PART_HAS_TABLE_CFG=y -CONFIG_FAL_USING_SFUD_PORT=y -CONFIG_FAL_USING_NOR_FLASH_DEV_NAME="norflash0" -# CONFIG_PKG_USING_FAL_V00500 is not set -# CONFIG_PKG_USING_FAL_V00400 is not set -# CONFIG_PKG_USING_FAL_V00300 is not set -# CONFIG_PKG_USING_FAL_V00200 is not set -# CONFIG_PKG_USING_FAL_V00100 is not set -CONFIG_PKG_USING_FAL_LATEST_VERSION=y -CONFIG_PKG_FAL_VER="latest" -CONFIG_PKG_FAL_VER_NUM=0x99999 # CONFIG_PKG_USING_FLASHDB is not set # CONFIG_PKG_USING_SQLITE is not set # CONFIG_PKG_USING_RTI is not set @@ -715,6 +690,7 @@ CONFIG_PKG_RAMDISK_VER="latest" # CONFIG_PKG_USING_MCUBOOT is not set # CONFIG_PKG_USING_TINYUSB is not set # CONFIG_PKG_USING_CHERRYUSB is not set +# CONFIG_PKG_USING_KMULTI_RTIMER is not set # # peripheral libraries and drivers @@ -738,6 +714,7 @@ CONFIG_PKG_RAMDISK_VER="latest" # CONFIG_PKG_USING_WM_LIBRARIES is not set # CONFIG_PKG_USING_KENDRYTE_SDK is not set # CONFIG_PKG_USING_INFRARED is not set +# CONFIG_PKG_USING_MULTI_INFRARED is not set # CONFIG_PKG_USING_AGILE_BUTTON is not set # CONFIG_PKG_USING_AGILE_LED is not set # CONFIG_PKG_USING_AT24CXX is not set @@ -794,6 +771,7 @@ CONFIG_PKG_RAMDISK_VER="latest" # CONFIG_PKG_USING_SOFT_SERIAL is not set # CONFIG_PKG_USING_MB85RS16 is not set # CONFIG_PKG_USING_CW2015 is not set +# CONFIG_PKG_USING_RFM300 is not set # # AI packages @@ -812,6 +790,10 @@ CONFIG_PKG_RAMDISK_VER="latest" # miscellaneous packages # +# +# project laboratory +# + # # samples: kernel and components samples # @@ -848,6 +830,7 @@ CONFIG_PKG_OPTPARSE_VER="latest" # CONFIG_PKG_USING_CANFESTIVAL is not set # CONFIG_PKG_USING_ZLIB is not set # CONFIG_PKG_USING_MINIZIP is not set +# CONFIG_PKG_USING_HEATSHRINK is not set # CONFIG_PKG_USING_DSTR is not set # CONFIG_PKG_USING_TINYFRAME is not set # CONFIG_PKG_USING_KENDRYTE_DEMO is not set @@ -865,6 +848,7 @@ CONFIG_PKG_OPTPARSE_VER="latest" # CONFIG_PKG_USING_DESIGN_PATTERN is not set # CONFIG_PKG_USING_CONTROLLER is not set # CONFIG_PKG_USING_PHASE_LOCKED_LOOP is not set +# CONFIG_PKG_USING_MFBD is not set # # Hardware Drivers Config @@ -978,6 +962,7 @@ CONFIG_NU_PKG_USING_DEMO=y # CONFIG_NU_PKG_USING_NAU8822 is not set # CONFIG_NU_PKG_USING_DA9062 is not set # CONFIG_NU_PKG_USING_ILI9341 is not set +# CONFIG_NU_PKG_USING_SSD1963 is not set +# CONFIG_NU_PKG_USING_TPC is not set +# CONFIG_NU_PKG_USING_ADC_TOUCH is not set # CONFIG_NU_PKG_USING_SPINAND is not set -CONFIG_BOARD_USE_UTEST=y -CONFIG_UTEST_CMD_PREFIX="bsp.nuvoton.nk-rtu980.test.utest." diff --git a/bsp/nuvoton/nk-rtu980/README.md b/bsp/nuvoton/nk-rtu980/README.md index 20294482ea..0ae21af700 100644 --- a/bsp/nuvoton/nk-rtu980/README.md +++ b/bsp/nuvoton/nk-rtu980/README.md @@ -44,15 +44,13 @@ NuMaker-RTU-NUC980, also known as Chili, is a Nuvoton’s development platform t |VCOM | For console | Ready.(Need to install VCOM driver) | ## 2. Supported compiler -Support GCC, MDK4 and MDK5 IDE/compilers. More information of these compiler version as following: - +Support GCC and MDK IDE/compilers. More information of these compiler version as following: | IDE/Compiler | Tested version | | ---------- | ---------------------------- | -| MDK4 | 4.76 | -| MDK5 | 5.26.2 | -| GCC | GCC 5.4.1 20160919 (release) | +| MDK | uVision 5.25.2 | +| GCC | 6-2017-q1-update | -Notice: Please install ICE driver for development. +Notice: Please install ICE driver for development and [NuMicro_ARM9_Device_Database_Keil](https://www.nuvoton.com/resource-download.jsp?tp_GUID=SW1820201207155701). ## 3. Program firmware ### 3.1 SDRAM Downloading using NuWriter diff --git a/bsp/nuvoton/nk-rtu980/rtconfig.h b/bsp/nuvoton/nk-rtu980/rtconfig.h index bfa96e1f3a..ed7af73bbc 100644 --- a/bsp/nuvoton/nk-rtu980/rtconfig.h +++ b/bsp/nuvoton/nk-rtu980/rtconfig.h @@ -58,14 +58,8 @@ #define RT_USING_USER_MAIN #define RT_MAIN_THREAD_STACK_SIZE 2048 #define RT_MAIN_THREAD_PRIORITY 10 - -/* C++ features */ - - -/* Command shell */ - -#define RT_USING_FINSH #define RT_USING_MSH +#define RT_USING_FINSH #define FINSH_USING_MSH #define FINSH_THREAD_NAME "tshell" #define FINSH_THREAD_PRIORITY 20 @@ -77,9 +71,6 @@ #define MSH_USING_BUILT_IN_COMMANDS #define FINSH_USING_DESCRIPTION #define FINSH_ARG_MAX 10 - -/* Device virtual file system */ - #define RT_USING_DFS #define DFS_USING_POSIX #define DFS_USING_WORKDIR @@ -103,6 +94,12 @@ #define RT_DFS_ELM_REENTRANT #define RT_DFS_ELM_MUTEX_TIMEOUT 3000 #define RT_USING_DFS_DEVFS +#define RT_USING_FAL +#define FAL_DEBUG_CONFIG +#define FAL_DEBUG 1 +#define FAL_PART_HAS_TABLE_CFG +#define FAL_USING_SFUD_PORT +#define FAL_USING_NOR_FLASH_DEV_NAME "norflash0" /* Device Drivers */ @@ -171,7 +168,7 @@ #define RT_VCOM_TX_TIMEOUT 1000 #define RT_USB_MSTORAGE_DISK_NAME "ramdisk1" -/* POSIX layer and C standard library */ +/* C/C++ and POSIX layer */ #define RT_LIBC_DEFAULT_TIMEZONE 8 @@ -187,9 +184,8 @@ /* Socket is in the 'Network' category */ -/* Network */ -/* Socket abstraction layer */ +/* Network */ #define RT_USING_SAL @@ -197,9 +193,6 @@ #define SAL_USING_LWIP #define SAL_USING_POSIX - -/* Network interface device */ - #define RT_USING_NETDEV #define NETDEV_USING_IFCONFIG #define NETDEV_USING_PING @@ -207,11 +200,9 @@ #define NETDEV_USING_AUTO_DEFAULT #define NETDEV_IPV4 1 #define NETDEV_IPV6 0 - -/* light weight TCP/IP stack */ - #define RT_USING_LWIP #define RT_USING_LWIP212 +#define RT_USING_LWIP_VER_NUM 0x20102 #define RT_LWIP_MEM_ALIGNMENT 4 #define RT_LWIP_IGMP #define RT_LWIP_ICMP @@ -255,12 +246,6 @@ #define RT_LWIP_STATS #define RT_LWIP_USING_PING -/* AT commands */ - - -/* VBUS(Virtual Software BUS) */ - - /* Utilities */ #define RT_USING_UTEST @@ -303,6 +288,11 @@ /* language packages */ +/* JSON: JavaScript Object Notation, a lightweight data-interchange format */ + + +/* XML: Extensible Markup Language */ + /* multimedia packages */ @@ -334,14 +324,6 @@ /* Micrium: Micrium software products porting for RT-Thread */ -#define RT_USING_FAL -#define FAL_DEBUG_CONFIG -#define FAL_DEBUG 1 -#define FAL_PART_HAS_TABLE_CFG -#define FAL_USING_SFUD_PORT -#define FAL_USING_NOR_FLASH_DEV_NAME "norflash0" -#define RT_USING_FAL_LATEST_VERSION -#define PKG_FAL_VER_NUM 0x99999 #define PKG_USING_RAMDISK #define PKG_USING_RAMDISK_LATEST_VERSION @@ -353,6 +335,8 @@ /* miscellaneous packages */ +/* project laboratory */ + /* samples: kernel and components samples */ @@ -429,7 +413,5 @@ #define NU_PKG_USING_UTILS #define NU_PKG_USING_DEMO -#define BOARD_USE_UTEST -#define UTEST_CMD_PREFIX "bsp.nuvoton.nk-rtu980.test.utest." #endif diff --git a/bsp/nuvoton/nk-rtu980/template.uvproj b/bsp/nuvoton/nk-rtu980/template.uvproj index 23e8dd2bcb..d6bd4f2d1a 100644 --- a/bsp/nuvoton/nk-rtu980/template.uvproj +++ b/bsp/nuvoton/nk-rtu980/template.uvproj @@ -10,11 +10,13 @@ rtthread 0x4 ARM-ADS + 5060750::V5.06 update 6 (build 750)::ARMCC + 0 Nuvoton_ARM9_Series Nuvoton - + IRAM(0x0-0x0) CLOCK(000000000) CPUTYPE(ARM926EJ-S) @@ -30,6 +32,7 @@ + 0 0 @@ -43,14 +46,14 @@ 0 1 - .\Objects\ + .\build\keil4\ rtthread 1 0 0 1 1 - .\Listings\ + .\build\keil4\ 1 0 0 @@ -71,14 +74,18 @@ 0 0 + 0 + 0 - 0 + 1 0 - + fromelf.exe --bin --output "$L@L.bin" "$L@L.axf" 0 0 + 0 + 0 0 @@ -97,6 +104,7 @@ 3 + 1 SARM.DLL @@ -118,7 +126,7 @@ 0 - 1 + 0 1 1 1 @@ -126,10 +134,11 @@ 1 1 0 + 1 1 - 0 + 1 0 1 1 @@ -137,9 +146,10 @@ 0 1 1 + 1 0 - 6 + 18 @@ -167,8 +177,12 @@ 0 Segger\JLTAgdi.dll - "" () + + + + + 0 @@ -199,22 +213,24 @@ 1 0 0 - + ARM926EJ-S 0 0 0 0 - 0 + 1 0 0 0 + 0 0 0 0 0 0 0 + 0 3 3 0 @@ -267,8 +283,8 @@ 0 - 0x200000 - 0x1000 + 0x0 + 0x1 1 @@ -323,7 +339,7 @@ 0 0x0 - 0x0 + 0x1 0 @@ -347,6 +363,16 @@ 2 0 0 + 0 + 0 + 0 + 1 + 1 + 1 + 1 + 0 + 0 + 0 --c99 RT_USING_INTERRUPT_INFO @@ -363,6 +389,8 @@ 0 0 0 + 0 + 0 @@ -379,6 +407,7 @@ 0 0x20000000 0x20800000 + .\linking_scripts\nuc980.sct diff --git a/bsp/nuvoton/nk-rtu980/template.uvprojx b/bsp/nuvoton/nk-rtu980/template.uvprojx deleted file mode 100644 index aad158ccc3..0000000000 --- a/bsp/nuvoton/nk-rtu980/template.uvprojx +++ /dev/null @@ -1,387 +0,0 @@ - - - - 2.1 - -
### uVision Project, (C) Keil Software
- - - - rtthread - 0x4 - ARM-ADS - 0 - - - Nuvoton_ARM9_Series - Nuvoton - - - - - 0 - - - - - - - - - - - - 0 - 0 - - - - Atmel\SAM9260\ - Atmel\SAM9260\ - - 0 - 0 - 0 - 0 - 1 - - .\build\keil5\ - rtthread - 1 - 0 - 1 - 1 - 1 - .\build\keil5\ - 1 - 0 - 0 - - 0 - 0 - - - 0 - 0 - 0 - 0 - - - 0 - 0 - - - 0 - 0 - 0 - 0 - - - 1 - 0 - fromelf.exe --bin --output "$L@L.bin" "$L@L.axf" - - 0 - 0 - 0 - 0 - - 0 - - - - 0 - 0 - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 0 - 3 - - - 1 - - - SARM.DLL - -cAT91SAM9260 - DARMATS9.DLL - -p91SAM9260 - SARM.DLL - - TARMATS9.DLL - -p91SAM9260 - - - - 1 - 0 - 0 - 0 - 16 - - - - - 1 - 0 - 0 - 0 - 1 - 4098 - - 0 - Segger\JLTAgdi.dll - "" () - - - - - 0 - - - - 0 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 0 - 1 - 1 - 0 - 1 - 1 - 0 - 0 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 0 - 0 - ARM926EJ-S - - 0 - 0 - 0 - 1 - 1 - 0 - 0 - 0 - 0 - 1 - 0 - 8 - 0 - 0 - 0 - 0 - 3 - 3 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - 0 - 0x0 - 0x0 - - - 0 - 0x0 - 0x0 - - - 0 - 0x0 - 0x0 - - - 0 - 0x0 - 0x0 - - - 0 - 0x0 - 0x0 - - - 0 - 0x0 - 0x0 - - - 0 - 0x200000 - 0x1000 - - - 1 - 0x100000 - 0x8000 - - - 0 - 0x0 - 0x0 - - - 1 - 0x20000000 - 0x800000 - - - 1 - 0x0 - 0x0 - - - 1 - 0x0 - 0x0 - - - 1 - 0x100000 - 0x8000 - - - 1 - 0x0 - 0x0 - - - 0 - 0x20800000 - 0x1800000 - - - 0 - 0x0 - 0x0 - - - 0 - 0x0 - 0x0 - - - 0 - 0x200000 - 0x1000 - - - 0 - 0x300000 - 0x1000 - - - - - - 1 - 1 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 2 - 0 - 0 - 0 - 0 - 0 - 1 - 1 - 1 - 1 - 0 - 0 - 0 - - --c99 - - - - - - - 1 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - - - - - 0 - 0 - 0 - 0 - 1 - 0 - 0x20000000 - 0x20800000 - - .\linking_scripts\nuc980.sct - - - - - - - - - - - - - - - - - -
diff --git a/bsp/nuvoton/numaker-iot-m487/.config b/bsp/nuvoton/numaker-iot-m487/.config index 35a86cd719..5edbda638c 100644 --- a/bsp/nuvoton/numaker-iot-m487/.config +++ b/bsp/nuvoton/numaker-iot-m487/.config @@ -7,7 +7,6 @@ # RT-Thread Kernel # CONFIG_RT_NAME_MAX=8 -# CONFIG_RT_USING_BIG_ENDIAN is not set # CONFIG_RT_USING_ARCH_DATA_TYPE is not set # CONFIG_RT_USING_SMP is not set CONFIG_RT_ALIGN_SIZE=4 @@ -94,17 +93,8 @@ CONFIG_RT_USING_USER_MAIN=y CONFIG_RT_MAIN_THREAD_STACK_SIZE=2048 CONFIG_RT_MAIN_THREAD_PRIORITY=10 # CONFIG_RT_USING_LEGACY is not set - -# -# C++ features -# -# CONFIG_RT_USING_CPLUSPLUS is not set - -# -# Command shell -# -CONFIG_RT_USING_FINSH=y CONFIG_RT_USING_MSH=y +CONFIG_RT_USING_FINSH=y CONFIG_FINSH_USING_MSH=y CONFIG_FINSH_THREAD_NAME="tshell" CONFIG_FINSH_THREAD_PRIORITY=20 @@ -118,10 +108,6 @@ CONFIG_FINSH_USING_DESCRIPTION=y # CONFIG_FINSH_ECHO_DISABLE_DEFAULT is not set # CONFIG_FINSH_USING_AUTH is not set CONFIG_FINSH_ARG_MAX=10 - -# -# Device virtual file system -# CONFIG_RT_USING_DFS=y CONFIG_DFS_USING_POSIX=y CONFIG_DFS_USING_WORKDIR=y @@ -155,6 +141,12 @@ CONFIG_RT_DFS_ELM_MUTEX_TIMEOUT=3000 CONFIG_RT_USING_DFS_DEVFS=y # CONFIG_RT_USING_DFS_ROMFS is not set # CONFIG_RT_USING_DFS_RAMFS is not set +CONFIG_RT_USING_FAL=y +CONFIG_FAL_DEBUG_CONFIG=y +CONFIG_FAL_DEBUG=1 +CONFIG_FAL_PART_HAS_TABLE_CFG=y +# CONFIG_FAL_USING_SFUD_PORT is not set +# CONFIG_RT_USING_LWP is not set # # Device Drivers @@ -194,6 +186,7 @@ CONFIG_RT_USING_RTC=y # CONFIG_RT_USING_SOFT_RTC is not set # CONFIG_RT_USING_SDIO is not set CONFIG_RT_USING_SPI=y +# CONFIG_RT_USING_SPI_BITOPS is not set CONFIG_RT_USING_QSPI=y # CONFIG_RT_USING_SPI_MSD is not set CONFIG_RT_USING_SFUD=y @@ -275,7 +268,7 @@ CONFIG_RT_USB_DEVICE_HID_MOUSE=y # CONFIG_RT_USB_DEVICE_HID_MEDIA is not set # -# POSIX layer and C standard library +# C/C++ and POSIX layer # CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8 @@ -306,14 +299,11 @@ CONFIG_RT_USING_POSIX_SELECT=y # # Socket is in the 'Network' category # +# CONFIG_RT_USING_CPLUSPLUS is not set # # Network # - -# -# Socket abstraction layer -# CONFIG_RT_USING_SAL=y CONFIG_SAL_INTERNET_CHECK=y @@ -322,10 +312,6 @@ CONFIG_SAL_INTERNET_CHECK=y # CONFIG_SAL_USING_AT=y CONFIG_SAL_USING_POSIX=y - -# -# Network interface device -# CONFIG_RT_USING_NETDEV=y CONFIG_NETDEV_USING_IFCONFIG=y CONFIG_NETDEV_USING_PING=y @@ -335,15 +321,7 @@ CONFIG_NETDEV_USING_AUTO_DEFAULT=y CONFIG_NETDEV_IPV4=1 CONFIG_NETDEV_IPV6=0 # CONFIG_NETDEV_IPV6_SCOPES is not set - -# -# light weight TCP/IP stack -# # CONFIG_RT_USING_LWIP is not set - -# -# AT commands -# CONFIG_RT_USING_AT=y # CONFIG_AT_DEBUG is not set # CONFIG_AT_USING_SERVER is not set @@ -355,11 +333,6 @@ CONFIG_AT_USING_CLI=y CONFIG_AT_CMD_MAX_LEN=512 CONFIG_AT_SW_VERSION_NUM=0x10301 -# -# VBUS(Virtual Software BUS) -# -# CONFIG_RT_USING_VBUS is not set - # # Utilities # @@ -370,7 +343,7 @@ CONFIG_UTEST_THR_STACK_SIZE=4096 CONFIG_UTEST_THR_PRIORITY=20 # CONFIG_RT_USING_VAR_EXPORT is not set # CONFIG_RT_USING_RT_LINK is not set -# CONFIG_RT_USING_LWP is not set +# CONFIG_RT_USING_VBUS is not set # # RT-Thread Utestcases @@ -384,6 +357,7 @@ CONFIG_UTEST_THR_PRIORITY=20 # # IoT - internet of things # +# CONFIG_PKG_USING_LWIP is not set # CONFIG_PKG_USING_LORAWAN_DRIVER is not set # CONFIG_PKG_USING_PAHOMQTT is not set # CONFIG_PKG_USING_UMQTT is not set @@ -394,12 +368,8 @@ CONFIG_UTEST_THR_PRIORITY=20 # CONFIG_PKG_USING_KAWAII_MQTT is not set # CONFIG_PKG_USING_BC28_MQTT is not set # CONFIG_PKG_USING_WEBTERMINAL is not set -# CONFIG_PKG_USING_CJSON is not set -# CONFIG_PKG_USING_JSMN is not set # CONFIG_PKG_USING_LIBMODBUS is not set # CONFIG_PKG_USING_FREEMODBUS is not set -# CONFIG_PKG_USING_LJSON is not set -# CONFIG_PKG_USING_EZXML is not set # CONFIG_PKG_USING_NANOPB is not set # @@ -473,6 +443,7 @@ CONFIG_PKG_AT_DEVICE_VER_NUM=0x99999 # CONFIG_PKG_USING_JOYLINK is not set # CONFIG_PKG_USING_EZ_IOT_OS is not set # CONFIG_PKG_USING_NIMBLE is not set +# CONFIG_PKG_USING_LLSYNC_SDK_ADAPTER is not set # CONFIG_PKG_USING_OTA_DOWNLOADER is not set # CONFIG_PKG_USING_IPMSG is not set # CONFIG_PKG_USING_LSSDP is not set @@ -486,16 +457,13 @@ CONFIG_PKG_AT_DEVICE_VER_NUM=0x99999 # CONFIG_PKG_USING_ABUP_FOTA is not set # CONFIG_PKG_USING_LIBCURL2RTT is not set # CONFIG_PKG_USING_CAPNP is not set -# CONFIG_PKG_USING_RT_CJSON_TOOLS is not set # CONFIG_PKG_USING_AGILE_TELNET is not set # CONFIG_PKG_USING_NMEALIB is not set -# CONFIG_PKG_USING_AGILE_JSMN is not set # CONFIG_PKG_USING_PDULIB is not set # CONFIG_PKG_USING_BTSTACK is not set # CONFIG_PKG_USING_LORAWAN_ED_STACK is not set # CONFIG_PKG_USING_WAYZ_IOTKIT is not set # CONFIG_PKG_USING_MAVLINK is not set -# CONFIG_PKG_USING_RAPIDJSON is not set # CONFIG_PKG_USING_BSAL is not set # CONFIG_PKG_USING_AGILE_MODBUS is not set # CONFIG_PKG_USING_AGILE_FTP is not set @@ -520,6 +488,22 @@ CONFIG_PKG_AT_DEVICE_VER_NUM=0x99999 # # language packages # + +# +# JSON: JavaScript Object Notation, a lightweight data-interchange format +# +# CONFIG_PKG_USING_CJSON is not set +# CONFIG_PKG_USING_LJSON is not set +# CONFIG_PKG_USING_RT_CJSON_TOOLS is not set +# CONFIG_PKG_USING_RAPIDJSON is not set +# CONFIG_PKG_USING_JSMN is not set +# CONFIG_PKG_USING_AGILE_JSMN is not set + +# +# XML: Extensible Markup Language +# +# CONFIG_PKG_USING_SIMPLE_XML is not set +# CONFIG_PKG_USING_EZXML is not set # CONFIG_PKG_USING_LUATOS_SOC is not set # CONFIG_PKG_USING_LUA is not set # CONFIG_PKG_USING_JERRYSCRIPT is not set @@ -607,6 +591,8 @@ CONFIG_PKG_AT_DEVICE_VER_NUM=0x99999 # CONFIG_PKG_USING_SOLAR_TERMS is not set # CONFIG_PKG_USING_GAN_ZHI is not set # CONFIG_PKG_USING_FDT is not set +# CONFIG_PKG_USING_CBOX is not set +# CONFIG_PKG_USING_SNOWFLAKE is not set # # system packages @@ -649,26 +635,12 @@ CONFIG_PKG_AT_DEVICE_VER_NUM=0x99999 # CONFIG_PKG_USING_UC_CLK is not set # CONFIG_PKG_USING_UC_COMMON is not set # CONFIG_PKG_USING_UC_MODBUS is not set -# CONFIG_RT_USING_ARDUINO is not set +# CONFIG_PKG_USING_RTDUINO is not set # CONFIG_PKG_USING_GUIENGINE is not set # CONFIG_PKG_USING_PERSIMMON is not set # CONFIG_PKG_USING_CAIRO is not set # CONFIG_PKG_USING_PIXMAN is not set # CONFIG_PKG_USING_PARTITION is not set -CONFIG_PKG_USING_FAL=y -CONFIG_PKG_FAL_PATH="/packages/system/fal" -CONFIG_FAL_DEBUG_CONFIG=y -CONFIG_FAL_DEBUG=1 -CONFIG_FAL_PART_HAS_TABLE_CFG=y -# CONFIG_FAL_USING_SFUD_PORT is not set -# CONFIG_PKG_USING_FAL_V00500 is not set -# CONFIG_PKG_USING_FAL_V00400 is not set -# CONFIG_PKG_USING_FAL_V00300 is not set -# CONFIG_PKG_USING_FAL_V00200 is not set -# CONFIG_PKG_USING_FAL_V00100 is not set -CONFIG_PKG_USING_FAL_LATEST_VERSION=y -CONFIG_PKG_FAL_VER="latest" -CONFIG_PKG_FAL_VER_NUM=0x99999 # CONFIG_PKG_USING_FLASHDB is not set # CONFIG_PKG_USING_SQLITE is not set # CONFIG_PKG_USING_RTI is not set @@ -694,7 +666,8 @@ CONFIG_PKG_FAL_VER_NUM=0x99999 # CONFIG_PKG_USING_ARM_2D is not set # CONFIG_PKG_USING_MCUBOOT is not set # CONFIG_PKG_USING_TINYUSB is not set -# CONFIG_PKG_USING_USB_STACK is not set +# CONFIG_PKG_USING_CHERRYUSB is not set +# CONFIG_PKG_USING_KMULTI_RTIMER is not set # # peripheral libraries and drivers @@ -718,6 +691,7 @@ CONFIG_PKG_FAL_VER_NUM=0x99999 # CONFIG_PKG_USING_WM_LIBRARIES is not set # CONFIG_PKG_USING_KENDRYTE_SDK is not set # CONFIG_PKG_USING_INFRARED is not set +# CONFIG_PKG_USING_MULTI_INFRARED is not set # CONFIG_PKG_USING_AGILE_BUTTON is not set # CONFIG_PKG_USING_AGILE_LED is not set # CONFIG_PKG_USING_AT24CXX is not set @@ -774,6 +748,7 @@ CONFIG_PKG_FAL_VER_NUM=0x99999 # CONFIG_PKG_USING_SOFT_SERIAL is not set # CONFIG_PKG_USING_MB85RS16 is not set # CONFIG_PKG_USING_CW2015 is not set +# CONFIG_PKG_USING_RFM300 is not set # # AI packages @@ -792,6 +767,10 @@ CONFIG_PKG_FAL_VER_NUM=0x99999 # miscellaneous packages # +# +# project laboratory +# + # # samples: kernel and components samples # @@ -824,6 +803,7 @@ CONFIG_PKG_FAL_VER_NUM=0x99999 # CONFIG_PKG_USING_CANFESTIVAL is not set # CONFIG_PKG_USING_ZLIB is not set # CONFIG_PKG_USING_MINIZIP is not set +# CONFIG_PKG_USING_HEATSHRINK is not set # CONFIG_PKG_USING_DSTR is not set # CONFIG_PKG_USING_TINYFRAME is not set # CONFIG_PKG_USING_KENDRYTE_DEMO is not set @@ -841,6 +821,7 @@ CONFIG_PKG_FAL_VER_NUM=0x99999 # CONFIG_PKG_USING_DESIGN_PATTERN is not set # CONFIG_PKG_USING_CONTROLLER is not set # CONFIG_PKG_USING_PHASE_LOCKED_LOOP is not set +# CONFIG_PKG_USING_MFBD is not set # # Hardware Drivers Config @@ -980,6 +961,7 @@ CONFIG_NU_PKG_USING_NAU88L25=y # CONFIG_NU_PKG_USING_NAU8822 is not set # CONFIG_NU_PKG_USING_DA9062 is not set # CONFIG_NU_PKG_USING_ILI9341 is not set +# CONFIG_NU_PKG_USING_SSD1963 is not set +# CONFIG_NU_PKG_USING_TPC is not set +# CONFIG_NU_PKG_USING_ADC_TOUCH is not set # CONFIG_NU_PKG_USING_SPINAND is not set -CONFIG_BOARD_USE_UTEST=y -CONFIG_UTEST_CMD_PREFIX="bsp.nuvoton.numaker-iot-m487.test.utest." diff --git a/bsp/nuvoton/numaker-iot-m487/rtconfig.h b/bsp/nuvoton/numaker-iot-m487/rtconfig.h index 5d9ad0d400..bbe503d285 100644 --- a/bsp/nuvoton/numaker-iot-m487/rtconfig.h +++ b/bsp/nuvoton/numaker-iot-m487/rtconfig.h @@ -57,14 +57,8 @@ #define RT_USING_USER_MAIN #define RT_MAIN_THREAD_STACK_SIZE 2048 #define RT_MAIN_THREAD_PRIORITY 10 - -/* C++ features */ - - -/* Command shell */ - -#define RT_USING_FINSH #define RT_USING_MSH +#define RT_USING_FINSH #define FINSH_USING_MSH #define FINSH_THREAD_NAME "tshell" #define FINSH_THREAD_PRIORITY 20 @@ -76,9 +70,6 @@ #define MSH_USING_BUILT_IN_COMMANDS #define FINSH_USING_DESCRIPTION #define FINSH_ARG_MAX 10 - -/* Device virtual file system */ - #define RT_USING_DFS #define DFS_USING_POSIX #define DFS_USING_WORKDIR @@ -101,6 +92,10 @@ #define RT_DFS_ELM_REENTRANT #define RT_DFS_ELM_MUTEX_TIMEOUT 3000 #define RT_USING_DFS_DEVFS +#define RT_USING_FAL +#define FAL_DEBUG_CONFIG +#define FAL_DEBUG 1 +#define FAL_PART_HAS_TABLE_CFG /* Device Drivers */ @@ -178,7 +173,7 @@ #define RT_USB_DEVICE_HID #define RT_USB_DEVICE_HID_MOUSE -/* POSIX layer and C standard library */ +/* C/C++ and POSIX layer */ #define RT_LIBC_DEFAULT_TIMEZONE 8 @@ -194,9 +189,8 @@ /* Socket is in the 'Network' category */ -/* Network */ -/* Socket abstraction layer */ +/* Network */ #define RT_USING_SAL #define SAL_INTERNET_CHECK @@ -205,9 +199,6 @@ #define SAL_USING_AT #define SAL_USING_POSIX - -/* Network interface device */ - #define RT_USING_NETDEV #define NETDEV_USING_IFCONFIG #define NETDEV_USING_PING @@ -215,12 +206,6 @@ #define NETDEV_USING_AUTO_DEFAULT #define NETDEV_IPV4 1 #define NETDEV_IPV6 0 - -/* light weight TCP/IP stack */ - - -/* AT commands */ - #define RT_USING_AT #define AT_USING_CLIENT #define AT_CLIENT_NUM_MAX 1 @@ -229,9 +214,6 @@ #define AT_CMD_MAX_LEN 512 #define AT_SW_VERSION_NUM 0x10301 -/* VBUS(Virtual Software BUS) */ - - /* Utilities */ #define RT_USING_UTEST @@ -268,6 +250,11 @@ /* language packages */ +/* JSON: JavaScript Object Notation, a lightweight data-interchange format */ + + +/* XML: Extensible Markup Language */ + /* multimedia packages */ @@ -299,12 +286,6 @@ /* Micrium: Micrium software products porting for RT-Thread */ -#define PKG_USING_FAL -#define FAL_DEBUG_CONFIG -#define FAL_DEBUG 1 -#define FAL_PART_HAS_TABLE_CFG -#define PKG_USING_FAL_LATEST_VERSION -#define PKG_FAL_VER_NUM 0x99999 /* peripheral libraries and drivers */ @@ -314,6 +295,8 @@ /* miscellaneous packages */ +/* project laboratory */ + /* samples: kernel and components samples */ @@ -398,7 +381,5 @@ #define NU_PKG_USING_DEMO #define NU_PKG_USING_BMX055 #define NU_PKG_USING_NAU88L25 -#define BOARD_USE_UTEST -#define UTEST_CMD_PREFIX "bsp.nuvoton.numaker-iot-m487.test.utest." #endif diff --git a/bsp/nuvoton/numaker-m032ki/.config b/bsp/nuvoton/numaker-m032ki/.config index 13bed80dd6..c66fd910f2 100644 --- a/bsp/nuvoton/numaker-m032ki/.config +++ b/bsp/nuvoton/numaker-m032ki/.config @@ -7,7 +7,6 @@ # RT-Thread Kernel # CONFIG_RT_NAME_MAX=8 -# CONFIG_RT_USING_BIG_ENDIAN is not set # CONFIG_RT_USING_ARCH_DATA_TYPE is not set # CONFIG_RT_USING_SMP is not set CONFIG_RT_ALIGN_SIZE=4 @@ -96,17 +95,8 @@ CONFIG_RT_USING_USER_MAIN=y CONFIG_RT_MAIN_THREAD_STACK_SIZE=2048 CONFIG_RT_MAIN_THREAD_PRIORITY=10 # CONFIG_RT_USING_LEGACY is not set - -# -# C++ features -# -# CONFIG_RT_USING_CPLUSPLUS is not set - -# -# Command shell -# -CONFIG_RT_USING_FINSH=y CONFIG_RT_USING_MSH=y +CONFIG_RT_USING_FINSH=y CONFIG_FINSH_USING_MSH=y CONFIG_FINSH_THREAD_NAME="tshell" CONFIG_FINSH_THREAD_PRIORITY=20 @@ -120,10 +110,6 @@ CONFIG_FINSH_USING_DESCRIPTION=y # CONFIG_FINSH_ECHO_DISABLE_DEFAULT is not set # CONFIG_FINSH_USING_AUTH is not set CONFIG_FINSH_ARG_MAX=10 - -# -# Device virtual file system -# CONFIG_RT_USING_DFS=y CONFIG_DFS_USING_POSIX=y CONFIG_DFS_USING_WORKDIR=y @@ -135,6 +121,8 @@ CONFIG_DFS_FD_MAX=16 CONFIG_RT_USING_DFS_DEVFS=y # CONFIG_RT_USING_DFS_ROMFS is not set # CONFIG_RT_USING_DFS_RAMFS is not set +# CONFIG_RT_USING_FAL is not set +# CONFIG_RT_USING_LWP is not set # # Device Drivers @@ -199,9 +187,8 @@ CONFIG_RT_USB_DEVICE_HID_MOUSE=y # CONFIG_RT_USB_DEVICE_HID_MEDIA is not set # -# POSIX layer and C standard library +# C/C++ and POSIX layer # -# CONFIG_RT_USING_MODULE is not set CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8 # @@ -210,7 +197,9 @@ CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8 # CONFIG_RT_USING_POSIX_FS is not set # CONFIG_RT_USING_POSIX_DELAY is not set # CONFIG_RT_USING_POSIX_CLOCK is not set +# CONFIG_RT_USING_POSIX_TIMER is not set # CONFIG_RT_USING_PTHREADS is not set +# CONFIG_RT_USING_MODULE is not set # # Interprocess Communication (IPC) @@ -222,36 +211,16 @@ CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8 # # Socket is in the 'Network' category # +# CONFIG_RT_USING_CPLUSPLUS is not set # # Network # - -# -# Socket abstraction layer -# # CONFIG_RT_USING_SAL is not set - -# -# Network interface device -# # CONFIG_RT_USING_NETDEV is not set - -# -# light weight TCP/IP stack -# # CONFIG_RT_USING_LWIP is not set - -# -# AT commands -# # CONFIG_RT_USING_AT is not set -# -# VBUS(Virtual Software BUS) -# -# CONFIG_RT_USING_VBUS is not set - # # Utilities # @@ -262,7 +231,7 @@ CONFIG_UTEST_THR_STACK_SIZE=4096 CONFIG_UTEST_THR_PRIORITY=20 # CONFIG_RT_USING_VAR_EXPORT is not set # CONFIG_RT_USING_RT_LINK is not set -# CONFIG_RT_USING_LWP is not set +# CONFIG_RT_USING_VBUS is not set # # RT-Thread Utestcases @@ -300,6 +269,7 @@ CONFIG_UTEST_SMALL_MEM_TC=y # # IoT - internet of things # +# CONFIG_PKG_USING_LWIP is not set # CONFIG_PKG_USING_LORAWAN_DRIVER is not set # CONFIG_PKG_USING_PAHOMQTT is not set # CONFIG_PKG_USING_UMQTT is not set @@ -310,12 +280,8 @@ CONFIG_UTEST_SMALL_MEM_TC=y # CONFIG_PKG_USING_KAWAII_MQTT is not set # CONFIG_PKG_USING_BC28_MQTT is not set # CONFIG_PKG_USING_WEBTERMINAL is not set -# CONFIG_PKG_USING_CJSON is not set -# CONFIG_PKG_USING_JSMN is not set # CONFIG_PKG_USING_LIBMODBUS is not set # CONFIG_PKG_USING_FREEMODBUS is not set -# CONFIG_PKG_USING_LJSON is not set -# CONFIG_PKG_USING_EZXML is not set # CONFIG_PKG_USING_NANOPB is not set # @@ -355,6 +321,7 @@ CONFIG_UTEST_SMALL_MEM_TC=y # CONFIG_PKG_USING_JOYLINK is not set # CONFIG_PKG_USING_EZ_IOT_OS is not set # CONFIG_PKG_USING_NIMBLE is not set +# CONFIG_PKG_USING_LLSYNC_SDK_ADAPTER is not set # CONFIG_PKG_USING_OTA_DOWNLOADER is not set # CONFIG_PKG_USING_IPMSG is not set # CONFIG_PKG_USING_LSSDP is not set @@ -368,16 +335,13 @@ CONFIG_UTEST_SMALL_MEM_TC=y # CONFIG_PKG_USING_ABUP_FOTA is not set # CONFIG_PKG_USING_LIBCURL2RTT is not set # CONFIG_PKG_USING_CAPNP is not set -# CONFIG_PKG_USING_RT_CJSON_TOOLS is not set # CONFIG_PKG_USING_AGILE_TELNET is not set # CONFIG_PKG_USING_NMEALIB is not set -# CONFIG_PKG_USING_AGILE_JSMN is not set # CONFIG_PKG_USING_PDULIB is not set # CONFIG_PKG_USING_BTSTACK is not set # CONFIG_PKG_USING_LORAWAN_ED_STACK is not set # CONFIG_PKG_USING_WAYZ_IOTKIT is not set # CONFIG_PKG_USING_MAVLINK is not set -# CONFIG_PKG_USING_RAPIDJSON is not set # CONFIG_PKG_USING_BSAL is not set # CONFIG_PKG_USING_AGILE_MODBUS is not set # CONFIG_PKG_USING_AGILE_FTP is not set @@ -402,6 +366,22 @@ CONFIG_UTEST_SMALL_MEM_TC=y # # language packages # + +# +# JSON: JavaScript Object Notation, a lightweight data-interchange format +# +# CONFIG_PKG_USING_CJSON is not set +# CONFIG_PKG_USING_LJSON is not set +# CONFIG_PKG_USING_RT_CJSON_TOOLS is not set +# CONFIG_PKG_USING_RAPIDJSON is not set +# CONFIG_PKG_USING_JSMN is not set +# CONFIG_PKG_USING_AGILE_JSMN is not set + +# +# XML: Extensible Markup Language +# +# CONFIG_PKG_USING_SIMPLE_XML is not set +# CONFIG_PKG_USING_EZXML is not set # CONFIG_PKG_USING_LUATOS_SOC is not set # CONFIG_PKG_USING_LUA is not set # CONFIG_PKG_USING_JERRYSCRIPT is not set @@ -446,6 +426,7 @@ CONFIG_UTEST_SMALL_MEM_TC=y # CONFIG_PKG_USING_MCURSES is not set # CONFIG_PKG_USING_TERMBOX is not set # CONFIG_PKG_USING_VT100 is not set +# CONFIG_PKG_USING_QRCODE is not set # # tools packages @@ -456,7 +437,6 @@ CONFIG_UTEST_SMALL_MEM_TC=y # CONFIG_PKG_USING_SYSTEMVIEW is not set # CONFIG_PKG_USING_SEGGER_RTT is not set # CONFIG_PKG_USING_RDB is not set -# CONFIG_PKG_USING_QRCODE is not set # CONFIG_PKG_USING_ULOG_EASYFLASH is not set # CONFIG_PKG_USING_ULOG_FILE is not set # CONFIG_PKG_USING_LOGMGR is not set @@ -489,6 +469,8 @@ CONFIG_UTEST_SMALL_MEM_TC=y # CONFIG_PKG_USING_SOLAR_TERMS is not set # CONFIG_PKG_USING_GAN_ZHI is not set # CONFIG_PKG_USING_FDT is not set +# CONFIG_PKG_USING_CBOX is not set +# CONFIG_PKG_USING_SNOWFLAKE is not set # # system packages @@ -507,6 +489,7 @@ CONFIG_UTEST_SMALL_MEM_TC=y # CONFIG_PKG_USING_POSIX_GETLINE is not set # CONFIG_PKG_USING_POSIX_WCWIDTH is not set # CONFIG_PKG_USING_POSIX_ITOA is not set +# CONFIG_PKG_USING_POSIX_STRINGS is not set # # acceleration: Assembly language or algorithmic acceleration packages @@ -530,12 +513,11 @@ CONFIG_UTEST_SMALL_MEM_TC=y # CONFIG_PKG_USING_UC_CLK is not set # CONFIG_PKG_USING_UC_COMMON is not set # CONFIG_PKG_USING_UC_MODBUS is not set -# CONFIG_RT_USING_ARDUINO is not set +# CONFIG_PKG_USING_RTDUINO is not set # CONFIG_PKG_USING_GUIENGINE is not set # CONFIG_PKG_USING_CAIRO is not set # CONFIG_PKG_USING_PIXMAN is not set # CONFIG_PKG_USING_PARTITION is not set -# CONFIG_PKG_USING_FAL is not set # CONFIG_PKG_USING_FLASHDB is not set # CONFIG_PKG_USING_SQLITE is not set # CONFIG_PKG_USING_RTI is not set @@ -561,7 +543,8 @@ CONFIG_UTEST_SMALL_MEM_TC=y # CONFIG_PKG_USING_ARM_2D is not set # CONFIG_PKG_USING_MCUBOOT is not set # CONFIG_PKG_USING_TINYUSB is not set -# CONFIG_PKG_USING_USB_STACK is not set +# CONFIG_PKG_USING_CHERRYUSB is not set +# CONFIG_PKG_USING_KMULTI_RTIMER is not set # # peripheral libraries and drivers @@ -585,6 +568,7 @@ CONFIG_UTEST_SMALL_MEM_TC=y # CONFIG_PKG_USING_WM_LIBRARIES is not set # CONFIG_PKG_USING_KENDRYTE_SDK is not set # CONFIG_PKG_USING_INFRARED is not set +# CONFIG_PKG_USING_MULTI_INFRARED is not set # CONFIG_PKG_USING_AGILE_BUTTON is not set # CONFIG_PKG_USING_AGILE_LED is not set # CONFIG_PKG_USING_AT24CXX is not set @@ -618,6 +602,7 @@ CONFIG_UTEST_SMALL_MEM_TC=y # CONFIG_PKG_USING_SSD1306 is not set # CONFIG_PKG_USING_QKEY is not set # CONFIG_PKG_USING_RS485 is not set +# CONFIG_PKG_USING_RS232 is not set # CONFIG_PKG_USING_NES is not set # CONFIG_PKG_USING_VIRTUAL_SENSOR is not set # CONFIG_PKG_USING_VDEVICE is not set @@ -640,6 +625,7 @@ CONFIG_UTEST_SMALL_MEM_TC=y # CONFIG_PKG_USING_SOFT_SERIAL is not set # CONFIG_PKG_USING_MB85RS16 is not set # CONFIG_PKG_USING_CW2015 is not set +# CONFIG_PKG_USING_RFM300 is not set # # AI packages @@ -658,6 +644,10 @@ CONFIG_UTEST_SMALL_MEM_TC=y # miscellaneous packages # +# +# project laboratory +# + # # samples: kernel and components samples # @@ -690,6 +680,7 @@ CONFIG_UTEST_SMALL_MEM_TC=y # CONFIG_PKG_USING_CANFESTIVAL is not set # CONFIG_PKG_USING_ZLIB is not set # CONFIG_PKG_USING_MINIZIP is not set +# CONFIG_PKG_USING_HEATSHRINK is not set # CONFIG_PKG_USING_DSTR is not set # CONFIG_PKG_USING_TINYFRAME is not set # CONFIG_PKG_USING_KENDRYTE_DEMO is not set @@ -705,19 +696,9 @@ CONFIG_UTEST_SMALL_MEM_TC=y # CONFIG_PKG_USING_LWGPS is not set # CONFIG_PKG_USING_STATE_MACHINE is not set # CONFIG_PKG_USING_DESIGN_PATTERN is not set - -# -# Nuvoton Packages Config -# -CONFIG_NU_PKG_USING_UTILS=y -CONFIG_NU_PKG_USING_DEMO=y -# CONFIG_NU_PKG_USING_BMX055 is not set -# CONFIG_NU_PKG_USING_MAX31875 is not set -# CONFIG_NU_PKG_USING_NAU88L25 is not set -# CONFIG_NU_PKG_USING_NAU8822 is not set -# CONFIG_NU_PKG_USING_DA9062 is not set -# CONFIG_NU_PKG_USING_ILI9341 is not set -# CONFIG_NU_PKG_USING_SPINAND is not set +# CONFIG_PKG_USING_CONTROLLER is not set +# CONFIG_PKG_USING_PHASE_LOCKED_LOOP is not set +# CONFIG_PKG_USING_MFBD is not set # # Hardware Drivers Config @@ -797,5 +778,20 @@ CONFIG_BSP_USING_NULINKME=y # Board extended module drivers # # CONFIG_BOARD_USING_STORAGE_SPIFLASH is not set -CONFIG_BOARD_USE_UTEST=y -CONFIG_UTEST_CMD_PREFIX="bsp.nuvoton.numaker-m032ki.test.utest." +# CONFIG_BOARD_USING_LCD_ILI9341 is not set + +# +# Nuvoton Packages Config +# +CONFIG_NU_PKG_USING_UTILS=y +CONFIG_NU_PKG_USING_DEMO=y +# CONFIG_NU_PKG_USING_BMX055 is not set +# CONFIG_NU_PKG_USING_MAX31875 is not set +# CONFIG_NU_PKG_USING_NAU88L25 is not set +# CONFIG_NU_PKG_USING_NAU8822 is not set +# CONFIG_NU_PKG_USING_DA9062 is not set +# CONFIG_NU_PKG_USING_ILI9341 is not set +# CONFIG_NU_PKG_USING_SSD1963 is not set +# CONFIG_NU_PKG_USING_TPC is not set +# CONFIG_NU_PKG_USING_ADC_TOUCH is not set +# CONFIG_NU_PKG_USING_SPINAND is not set diff --git a/bsp/nuvoton/numaker-m032ki/rtconfig.h b/bsp/nuvoton/numaker-m032ki/rtconfig.h index e9b573e762..bad19497ce 100644 --- a/bsp/nuvoton/numaker-m032ki/rtconfig.h +++ b/bsp/nuvoton/numaker-m032ki/rtconfig.h @@ -57,14 +57,8 @@ #define RT_USING_USER_MAIN #define RT_MAIN_THREAD_STACK_SIZE 2048 #define RT_MAIN_THREAD_PRIORITY 10 - -/* C++ features */ - - -/* Command shell */ - -#define RT_USING_FINSH #define RT_USING_MSH +#define RT_USING_FINSH #define FINSH_USING_MSH #define FINSH_THREAD_NAME "tshell" #define FINSH_THREAD_PRIORITY 20 @@ -76,9 +70,6 @@ #define MSH_USING_BUILT_IN_COMMANDS #define FINSH_USING_DESCRIPTION #define FINSH_ARG_MAX 10 - -/* Device virtual file system */ - #define RT_USING_DFS #define DFS_USING_POSIX #define DFS_USING_WORKDIR @@ -115,7 +106,7 @@ #define RT_USB_DEVICE_HID #define RT_USB_DEVICE_HID_MOUSE -/* POSIX layer and C standard library */ +/* C/C++ and POSIX layer */ #define RT_LIBC_DEFAULT_TIMEZONE 8 @@ -127,22 +118,9 @@ /* Socket is in the 'Network' category */ + /* Network */ -/* Socket abstraction layer */ - - -/* Network interface device */ - - -/* light weight TCP/IP stack */ - - -/* AT commands */ - - -/* VBUS(Virtual Software BUS) */ - /* Utilities */ @@ -186,6 +164,11 @@ /* language packages */ +/* JSON: JavaScript Object Notation, a lightweight data-interchange format */ + + +/* XML: Extensible Markup Language */ + /* multimedia packages */ @@ -226,17 +209,14 @@ /* miscellaneous packages */ +/* project laboratory */ + /* samples: kernel and components samples */ /* entertainment: terminal games and other interesting software packages */ -/* Nuvoton Packages Config */ - -#define NU_PKG_USING_UTILS -#define NU_PKG_USING_DEMO - /* Hardware Drivers Config */ /* On-chip Peripheral Drivers */ @@ -282,7 +262,10 @@ /* Board extended module drivers */ -#define BOARD_USE_UTEST -#define UTEST_CMD_PREFIX "bsp.nuvoton.numaker-m032ki.test.utest." + +/* Nuvoton Packages Config */ + +#define NU_PKG_USING_UTILS +#define NU_PKG_USING_DEMO #endif diff --git a/bsp/nuvoton/numaker-m2354/.config b/bsp/nuvoton/numaker-m2354/.config index 12f8e22bcc..a5ddbeaf2b 100644 --- a/bsp/nuvoton/numaker-m2354/.config +++ b/bsp/nuvoton/numaker-m2354/.config @@ -7,7 +7,6 @@ # RT-Thread Kernel # CONFIG_RT_NAME_MAX=8 -# CONFIG_RT_USING_BIG_ENDIAN is not set # CONFIG_RT_USING_ARCH_DATA_TYPE is not set # CONFIG_RT_USING_SMP is not set CONFIG_RT_ALIGN_SIZE=4 @@ -91,17 +90,8 @@ CONFIG_RT_USING_USER_MAIN=y CONFIG_RT_MAIN_THREAD_STACK_SIZE=2048 CONFIG_RT_MAIN_THREAD_PRIORITY=10 # CONFIG_RT_USING_LEGACY is not set - -# -# C++ features -# -# CONFIG_RT_USING_CPLUSPLUS is not set - -# -# Command shell -# -CONFIG_RT_USING_FINSH=y CONFIG_RT_USING_MSH=y +CONFIG_RT_USING_FINSH=y CONFIG_FINSH_USING_MSH=y CONFIG_FINSH_THREAD_NAME="tshell" CONFIG_FINSH_THREAD_PRIORITY=20 @@ -115,10 +105,6 @@ CONFIG_FINSH_USING_DESCRIPTION=y # CONFIG_FINSH_ECHO_DISABLE_DEFAULT is not set # CONFIG_FINSH_USING_AUTH is not set CONFIG_FINSH_ARG_MAX=10 - -# -# Device virtual file system -# CONFIG_RT_USING_DFS=y CONFIG_DFS_USING_POSIX=y CONFIG_DFS_USING_WORKDIR=y @@ -152,6 +138,11 @@ CONFIG_RT_DFS_ELM_MUTEX_TIMEOUT=3000 CONFIG_RT_USING_DFS_DEVFS=y # CONFIG_RT_USING_DFS_ROMFS is not set # CONFIG_RT_USING_DFS_RAMFS is not set +CONFIG_RT_USING_FAL=y +CONFIG_FAL_DEBUG_CONFIG=y +CONFIG_FAL_DEBUG=1 +CONFIG_FAL_PART_HAS_TABLE_CFG=y +# CONFIG_FAL_USING_SFUD_PORT is not set # # Device Drivers @@ -191,6 +182,7 @@ CONFIG_RT_USING_RTC=y # CONFIG_RT_USING_SOFT_RTC is not set # CONFIG_RT_USING_SDIO is not set CONFIG_RT_USING_SPI=y +# CONFIG_RT_USING_SPI_BITOPS is not set CONFIG_RT_USING_QSPI=y # CONFIG_RT_USING_SPI_MSD is not set CONFIG_RT_USING_SFUD=y @@ -272,9 +264,8 @@ CONFIG_RT_USB_DEVICE_HID_MOUSE=y # CONFIG_RT_USB_DEVICE_HID_MEDIA is not set # -# POSIX layer and C standard library +# C/C++ and POSIX layer # -# CONFIG_RT_USING_MODULE is not set CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8 # @@ -290,7 +281,9 @@ CONFIG_RT_USING_POSIX_SELECT=y # CONFIG_RT_USING_POSIX_MMAN is not set # CONFIG_RT_USING_POSIX_DELAY is not set # CONFIG_RT_USING_POSIX_CLOCK is not set +# CONFIG_RT_USING_POSIX_TIMER is not set # CONFIG_RT_USING_PTHREADS is not set +# CONFIG_RT_USING_MODULE is not set # # Interprocess Communication (IPC) @@ -302,14 +295,11 @@ CONFIG_RT_USING_POSIX_SELECT=y # # Socket is in the 'Network' category # +# CONFIG_RT_USING_CPLUSPLUS is not set # # Network # - -# -# Socket abstraction layer -# CONFIG_RT_USING_SAL=y CONFIG_SAL_INTERNET_CHECK=y @@ -318,10 +308,6 @@ CONFIG_SAL_INTERNET_CHECK=y # CONFIG_SAL_USING_AT=y CONFIG_SAL_USING_POSIX=y - -# -# Network interface device -# CONFIG_RT_USING_NETDEV=y CONFIG_NETDEV_USING_IFCONFIG=y CONFIG_NETDEV_USING_PING=y @@ -331,15 +317,7 @@ CONFIG_NETDEV_USING_AUTO_DEFAULT=y CONFIG_NETDEV_IPV4=1 CONFIG_NETDEV_IPV6=0 # CONFIG_NETDEV_IPV6_SCOPES is not set - -# -# light weight TCP/IP stack -# # CONFIG_RT_USING_LWIP is not set - -# -# AT commands -# CONFIG_RT_USING_AT=y # CONFIG_AT_DEBUG is not set # CONFIG_AT_USING_SERVER is not set @@ -351,11 +329,6 @@ CONFIG_AT_USING_CLI=y CONFIG_AT_CMD_MAX_LEN=2048 CONFIG_AT_SW_VERSION_NUM=0x10301 -# -# VBUS(Virtual Software BUS) -# -# CONFIG_RT_USING_VBUS is not set - # # Utilities # @@ -366,6 +339,7 @@ CONFIG_UTEST_THR_STACK_SIZE=4096 CONFIG_UTEST_THR_PRIORITY=20 # CONFIG_RT_USING_VAR_EXPORT is not set # CONFIG_RT_USING_RT_LINK is not set +# CONFIG_RT_USING_VBUS is not set # # RT-Thread Utestcases @@ -379,6 +353,7 @@ CONFIG_UTEST_THR_PRIORITY=20 # # IoT - internet of things # +# CONFIG_PKG_USING_LWIP is not set # CONFIG_PKG_USING_LORAWAN_DRIVER is not set # CONFIG_PKG_USING_PAHOMQTT is not set # CONFIG_PKG_USING_UMQTT is not set @@ -389,12 +364,8 @@ CONFIG_UTEST_THR_PRIORITY=20 # CONFIG_PKG_USING_KAWAII_MQTT is not set # CONFIG_PKG_USING_BC28_MQTT is not set # CONFIG_PKG_USING_WEBTERMINAL is not set -# CONFIG_PKG_USING_CJSON is not set -# CONFIG_PKG_USING_JSMN is not set # CONFIG_PKG_USING_LIBMODBUS is not set # CONFIG_PKG_USING_FREEMODBUS is not set -# CONFIG_PKG_USING_LJSON is not set -# CONFIG_PKG_USING_EZXML is not set # CONFIG_PKG_USING_NANOPB is not set # @@ -423,7 +394,9 @@ CONFIG_PKG_AT_DEVICE_PATH="/packages/iot/at_device" # CONFIG_AT_DEVICE_USING_ESP32 is not set CONFIG_AT_DEVICE_USING_ESP8266=y CONFIG_AT_DEVICE_ESP8266_INIT_ASYN=y +CONFIG_AT_DEVICE_ESP8266_SOCKET=y # CONFIG_AT_DEVICE_ESP8266_SAMPLE is not set +# CONFIG_AT_DEVICE_ESP8266_SAMPLE_BSP_TAKEOVER is not set # CONFIG_AT_DEVICE_USING_RW007 is not set # CONFIG_AT_DEVICE_USING_SIM800C is not set # CONFIG_AT_DEVICE_USING_SIM76XX is not set @@ -466,6 +439,7 @@ CONFIG_PKG_AT_DEVICE_VER_NUM=0x99999 # CONFIG_PKG_USING_JOYLINK is not set # CONFIG_PKG_USING_EZ_IOT_OS is not set # CONFIG_PKG_USING_NIMBLE is not set +# CONFIG_PKG_USING_LLSYNC_SDK_ADAPTER is not set # CONFIG_PKG_USING_OTA_DOWNLOADER is not set # CONFIG_PKG_USING_IPMSG is not set # CONFIG_PKG_USING_LSSDP is not set @@ -479,16 +453,13 @@ CONFIG_PKG_AT_DEVICE_VER_NUM=0x99999 # CONFIG_PKG_USING_ABUP_FOTA is not set # CONFIG_PKG_USING_LIBCURL2RTT is not set # CONFIG_PKG_USING_CAPNP is not set -# CONFIG_PKG_USING_RT_CJSON_TOOLS is not set # CONFIG_PKG_USING_AGILE_TELNET is not set # CONFIG_PKG_USING_NMEALIB is not set -# CONFIG_PKG_USING_AGILE_JSMN is not set # CONFIG_PKG_USING_PDULIB is not set # CONFIG_PKG_USING_BTSTACK is not set # CONFIG_PKG_USING_LORAWAN_ED_STACK is not set # CONFIG_PKG_USING_WAYZ_IOTKIT is not set # CONFIG_PKG_USING_MAVLINK is not set -# CONFIG_PKG_USING_RAPIDJSON is not set # CONFIG_PKG_USING_BSAL is not set # CONFIG_PKG_USING_AGILE_MODBUS is not set # CONFIG_PKG_USING_AGILE_FTP is not set @@ -513,6 +484,22 @@ CONFIG_PKG_AT_DEVICE_VER_NUM=0x99999 # # language packages # + +# +# JSON: JavaScript Object Notation, a lightweight data-interchange format +# +# CONFIG_PKG_USING_CJSON is not set +# CONFIG_PKG_USING_LJSON is not set +# CONFIG_PKG_USING_RT_CJSON_TOOLS is not set +# CONFIG_PKG_USING_RAPIDJSON is not set +# CONFIG_PKG_USING_JSMN is not set +# CONFIG_PKG_USING_AGILE_JSMN is not set + +# +# XML: Extensible Markup Language +# +# CONFIG_PKG_USING_SIMPLE_XML is not set +# CONFIG_PKG_USING_EZXML is not set # CONFIG_PKG_USING_LUATOS_SOC is not set # CONFIG_PKG_USING_LUA is not set # CONFIG_PKG_USING_JERRYSCRIPT is not set @@ -600,6 +587,8 @@ CONFIG_PKG_AT_DEVICE_VER_NUM=0x99999 # CONFIG_PKG_USING_SOLAR_TERMS is not set # CONFIG_PKG_USING_GAN_ZHI is not set # CONFIG_PKG_USING_FDT is not set +# CONFIG_PKG_USING_CBOX is not set +# CONFIG_PKG_USING_SNOWFLAKE is not set # # system packages @@ -642,25 +631,11 @@ CONFIG_PKG_AT_DEVICE_VER_NUM=0x99999 # CONFIG_PKG_USING_UC_CLK is not set # CONFIG_PKG_USING_UC_COMMON is not set # CONFIG_PKG_USING_UC_MODBUS is not set -# CONFIG_RT_USING_ARDUINO is not set +# CONFIG_PKG_USING_RTDUINO is not set # CONFIG_PKG_USING_GUIENGINE is not set # CONFIG_PKG_USING_CAIRO is not set # CONFIG_PKG_USING_PIXMAN is not set # CONFIG_PKG_USING_PARTITION is not set -CONFIG_PKG_USING_FAL=y -CONFIG_PKG_FAL_PATH="/packages/system/fal" -CONFIG_FAL_DEBUG_CONFIG=y -CONFIG_FAL_DEBUG=1 -CONFIG_FAL_PART_HAS_TABLE_CFG=y -# CONFIG_FAL_USING_SFUD_PORT is not set -# CONFIG_PKG_USING_FAL_V00500 is not set -# CONFIG_PKG_USING_FAL_V00400 is not set -# CONFIG_PKG_USING_FAL_V00300 is not set -# CONFIG_PKG_USING_FAL_V00200 is not set -# CONFIG_PKG_USING_FAL_V00100 is not set -CONFIG_PKG_USING_FAL_LATEST_VERSION=y -CONFIG_PKG_FAL_VER="latest" -CONFIG_PKG_FAL_VER_NUM=0x99999 # CONFIG_PKG_USING_FLASHDB is not set # CONFIG_PKG_USING_SQLITE is not set # CONFIG_PKG_USING_RTI is not set @@ -686,7 +661,8 @@ CONFIG_PKG_FAL_VER_NUM=0x99999 # CONFIG_PKG_USING_ARM_2D is not set # CONFIG_PKG_USING_MCUBOOT is not set # CONFIG_PKG_USING_TINYUSB is not set -# CONFIG_PKG_USING_USB_STACK is not set +# CONFIG_PKG_USING_CHERRYUSB is not set +# CONFIG_PKG_USING_KMULTI_RTIMER is not set # # peripheral libraries and drivers @@ -710,6 +686,7 @@ CONFIG_PKG_FAL_VER_NUM=0x99999 # CONFIG_PKG_USING_WM_LIBRARIES is not set # CONFIG_PKG_USING_KENDRYTE_SDK is not set # CONFIG_PKG_USING_INFRARED is not set +# CONFIG_PKG_USING_MULTI_INFRARED is not set # CONFIG_PKG_USING_AGILE_BUTTON is not set # CONFIG_PKG_USING_AGILE_LED is not set # CONFIG_PKG_USING_AT24CXX is not set @@ -766,6 +743,7 @@ CONFIG_PKG_FAL_VER_NUM=0x99999 # CONFIG_PKG_USING_SOFT_SERIAL is not set # CONFIG_PKG_USING_MB85RS16 is not set # CONFIG_PKG_USING_CW2015 is not set +# CONFIG_PKG_USING_RFM300 is not set # # AI packages @@ -784,6 +762,10 @@ CONFIG_PKG_FAL_VER_NUM=0x99999 # miscellaneous packages # +# +# project laboratory +# + # # samples: kernel and components samples # @@ -816,6 +798,7 @@ CONFIG_PKG_FAL_VER_NUM=0x99999 # CONFIG_PKG_USING_CANFESTIVAL is not set # CONFIG_PKG_USING_ZLIB is not set # CONFIG_PKG_USING_MINIZIP is not set +# CONFIG_PKG_USING_HEATSHRINK is not set # CONFIG_PKG_USING_DSTR is not set # CONFIG_PKG_USING_TINYFRAME is not set # CONFIG_PKG_USING_KENDRYTE_DEMO is not set @@ -833,6 +816,7 @@ CONFIG_PKG_FAL_VER_NUM=0x99999 # CONFIG_PKG_USING_DESIGN_PATTERN is not set # CONFIG_PKG_USING_CONTROLLER is not set # CONFIG_PKG_USING_PHASE_LOCKED_LOOP is not set +# CONFIG_PKG_USING_MFBD is not set # # Hardware Drivers Config @@ -937,6 +921,7 @@ CONFIG_BOARD_USING_OTG=y # # Board extended module drivers # +# CONFIG_BOARD_USING_LCD_ILI9341 is not set CONFIG_BOARD_USING_SEGMENT_LCD=y # @@ -950,6 +935,7 @@ CONFIG_NU_PKG_USING_DEMO=y # CONFIG_NU_PKG_USING_NAU8822 is not set # CONFIG_NU_PKG_USING_DA9062 is not set # CONFIG_NU_PKG_USING_ILI9341 is not set +# CONFIG_NU_PKG_USING_SSD1963 is not set +# CONFIG_NU_PKG_USING_TPC is not set +# CONFIG_NU_PKG_USING_ADC_TOUCH is not set # CONFIG_NU_PKG_USING_SPINAND is not set -CONFIG_BOARD_USE_UTEST=y -CONFIG_UTEST_CMD_PREFIX="bsp.nuvoton.numaker-m2354.test.utest." diff --git a/bsp/nuvoton/numaker-m2354/rtconfig.h b/bsp/nuvoton/numaker-m2354/rtconfig.h index 2937b671c7..bb5d8ae1dd 100644 --- a/bsp/nuvoton/numaker-m2354/rtconfig.h +++ b/bsp/nuvoton/numaker-m2354/rtconfig.h @@ -53,14 +53,8 @@ #define RT_USING_USER_MAIN #define RT_MAIN_THREAD_STACK_SIZE 2048 #define RT_MAIN_THREAD_PRIORITY 10 - -/* C++ features */ - - -/* Command shell */ - -#define RT_USING_FINSH #define RT_USING_MSH +#define RT_USING_FINSH #define FINSH_USING_MSH #define FINSH_THREAD_NAME "tshell" #define FINSH_THREAD_PRIORITY 20 @@ -72,9 +66,6 @@ #define MSH_USING_BUILT_IN_COMMANDS #define FINSH_USING_DESCRIPTION #define FINSH_ARG_MAX 10 - -/* Device virtual file system */ - #define RT_USING_DFS #define DFS_USING_POSIX #define DFS_USING_WORKDIR @@ -97,6 +88,10 @@ #define RT_DFS_ELM_REENTRANT #define RT_DFS_ELM_MUTEX_TIMEOUT 3000 #define RT_USING_DFS_DEVFS +#define RT_USING_FAL +#define FAL_DEBUG_CONFIG +#define FAL_DEBUG 1 +#define FAL_PART_HAS_TABLE_CFG /* Device Drivers */ @@ -176,7 +171,7 @@ #define RT_USB_DEVICE_HID #define RT_USB_DEVICE_HID_MOUSE -/* POSIX layer and C standard library */ +/* C/C++ and POSIX layer */ #define RT_LIBC_DEFAULT_TIMEZONE 8 @@ -192,9 +187,8 @@ /* Socket is in the 'Network' category */ -/* Network */ -/* Socket abstraction layer */ +/* Network */ #define RT_USING_SAL #define SAL_INTERNET_CHECK @@ -203,9 +197,6 @@ #define SAL_USING_AT #define SAL_USING_POSIX - -/* Network interface device */ - #define RT_USING_NETDEV #define NETDEV_USING_IFCONFIG #define NETDEV_USING_PING @@ -213,12 +204,6 @@ #define NETDEV_USING_AUTO_DEFAULT #define NETDEV_IPV4 1 #define NETDEV_IPV6 0 - -/* light weight TCP/IP stack */ - - -/* AT commands */ - #define RT_USING_AT #define AT_USING_CLIENT #define AT_CLIENT_NUM_MAX 1 @@ -227,9 +212,6 @@ #define AT_CMD_MAX_LEN 2048 #define AT_SW_VERSION_NUM 0x10301 -/* VBUS(Virtual Software BUS) */ - - /* Utilities */ #define RT_USING_UTEST @@ -254,6 +236,7 @@ #define PKG_USING_AT_DEVICE #define AT_DEVICE_USING_ESP8266 #define AT_DEVICE_ESP8266_INIT_ASYN +#define AT_DEVICE_ESP8266_SOCKET #define PKG_USING_AT_DEVICE_LATEST_VERSION #define PKG_AT_DEVICE_VER_NUM 0x99999 @@ -265,6 +248,11 @@ /* language packages */ +/* JSON: JavaScript Object Notation, a lightweight data-interchange format */ + + +/* XML: Extensible Markup Language */ + /* multimedia packages */ @@ -296,12 +284,6 @@ /* Micrium: Micrium software products porting for RT-Thread */ -#define RT_USING_FAL -#define FAL_DEBUG_CONFIG -#define FAL_DEBUG 1 -#define FAL_PART_HAS_TABLE_CFG -#define RT_USING_FAL_LATEST_VERSION -#define PKG_FAL_VER_NUM 0x99999 /* peripheral libraries and drivers */ @@ -311,6 +293,8 @@ /* miscellaneous packages */ +/* project laboratory */ + /* samples: kernel and components samples */ @@ -379,7 +363,5 @@ #define NU_PKG_USING_UTILS #define NU_PKG_USING_DEMO -#define BOARD_USE_UTEST -#define UTEST_CMD_PREFIX "bsp.nuvoton.numaker-m2354.test.utest." #endif diff --git a/bsp/nuvoton/numaker-pfm-m487/.config b/bsp/nuvoton/numaker-pfm-m487/.config index 8bc0959025..b3750912f5 100644 --- a/bsp/nuvoton/numaker-pfm-m487/.config +++ b/bsp/nuvoton/numaker-pfm-m487/.config @@ -7,7 +7,6 @@ # RT-Thread Kernel # CONFIG_RT_NAME_MAX=8 -# CONFIG_RT_USING_BIG_ENDIAN is not set # CONFIG_RT_USING_ARCH_DATA_TYPE is not set # CONFIG_RT_USING_SMP is not set CONFIG_RT_ALIGN_SIZE=4 @@ -94,17 +93,8 @@ CONFIG_RT_USING_USER_MAIN=y CONFIG_RT_MAIN_THREAD_STACK_SIZE=2048 CONFIG_RT_MAIN_THREAD_PRIORITY=10 # CONFIG_RT_USING_LEGACY is not set - -# -# C++ features -# -# CONFIG_RT_USING_CPLUSPLUS is not set - -# -# Command shell -# -CONFIG_RT_USING_FINSH=y CONFIG_RT_USING_MSH=y +CONFIG_RT_USING_FINSH=y CONFIG_FINSH_USING_MSH=y CONFIG_FINSH_THREAD_NAME="tshell" CONFIG_FINSH_THREAD_PRIORITY=20 @@ -118,10 +108,6 @@ CONFIG_FINSH_USING_DESCRIPTION=y # CONFIG_FINSH_ECHO_DISABLE_DEFAULT is not set # CONFIG_FINSH_USING_AUTH is not set CONFIG_FINSH_ARG_MAX=10 - -# -# Device virtual file system -# CONFIG_RT_USING_DFS=y CONFIG_DFS_USING_POSIX=y CONFIG_DFS_USING_WORKDIR=y @@ -156,6 +142,12 @@ CONFIG_RT_USING_DFS_DEVFS=y # CONFIG_RT_USING_DFS_ROMFS is not set # CONFIG_RT_USING_DFS_RAMFS is not set # CONFIG_RT_USING_DFS_NFS is not set +CONFIG_RT_USING_FAL=y +CONFIG_FAL_DEBUG_CONFIG=y +CONFIG_FAL_DEBUG=1 +CONFIG_FAL_PART_HAS_TABLE_CFG=y +# CONFIG_FAL_USING_SFUD_PORT is not set +# CONFIG_RT_USING_LWP is not set # # Device Drivers @@ -195,6 +187,7 @@ CONFIG_RT_USING_RTC=y # CONFIG_RT_USING_SOFT_RTC is not set # CONFIG_RT_USING_SDIO is not set CONFIG_RT_USING_SPI=y +# CONFIG_RT_USING_SPI_BITOPS is not set CONFIG_RT_USING_QSPI=y # CONFIG_RT_USING_SPI_MSD is not set CONFIG_RT_USING_SFUD=y @@ -277,7 +270,7 @@ CONFIG_RT_USB_DEVICE_HID_MOUSE=y # CONFIG_RT_USB_DEVICE_HID_MEDIA is not set # -# POSIX layer and C standard library +# C/C++ and POSIX layer # CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8 @@ -308,14 +301,11 @@ CONFIG_RT_USING_POSIX_DEVIO=y # # Socket is in the 'Network' category # +# CONFIG_RT_USING_CPLUSPLUS is not set # # Network # - -# -# Socket abstraction layer -# CONFIG_RT_USING_SAL=y CONFIG_SAL_INTERNET_CHECK=y @@ -325,10 +315,6 @@ CONFIG_SAL_INTERNET_CHECK=y CONFIG_SAL_USING_LWIP=y # CONFIG_SAL_USING_POSIX is not set CONFIG_SAL_SOCKETS_NUM=16 - -# -# Network interface device -# CONFIG_RT_USING_NETDEV=y CONFIG_NETDEV_USING_IFCONFIG=y CONFIG_NETDEV_USING_PING=y @@ -338,14 +324,13 @@ CONFIG_NETDEV_USING_AUTO_DEFAULT=y CONFIG_NETDEV_IPV4=1 CONFIG_NETDEV_IPV6=0 # CONFIG_NETDEV_IPV6_SCOPES is not set - -# -# light weight TCP/IP stack -# CONFIG_RT_USING_LWIP=y +# CONFIG_RT_USING_LWIP_LOCAL_VERSION is not set # CONFIG_RT_USING_LWIP141 is not set CONFIG_RT_USING_LWIP203=y # CONFIG_RT_USING_LWIP212 is not set +# CONFIG_RT_USING_LWIP_LATEST is not set +CONFIG_RT_USING_LWIP_VER_NUM=0x20003 # CONFIG_RT_USING_LWIP_IPV6 is not set CONFIG_RT_LWIP_MEM_ALIGNMENT=4 CONFIG_RT_LWIP_IGMP=y @@ -395,18 +380,9 @@ CONFIG_LWIP_NETIF_LOOPBACK=0 # CONFIG_RT_LWIP_STATS is not set # CONFIG_RT_LWIP_USING_HW_CHECKSUM is not set CONFIG_RT_LWIP_USING_PING=y -# CONFIG_RT_LWIP_DEBUG is not set - -# -# AT commands -# -# CONFIG_RT_USING_AT is not set # CONFIG_LWIP_USING_DHCPD is not set - -# -# VBUS(Virtual Software BUS) -# -# CONFIG_RT_USING_VBUS is not set +# CONFIG_RT_LWIP_DEBUG is not set +# CONFIG_RT_USING_AT is not set # # Utilities @@ -418,7 +394,7 @@ CONFIG_UTEST_THR_STACK_SIZE=4096 CONFIG_UTEST_THR_PRIORITY=20 # CONFIG_RT_USING_VAR_EXPORT is not set # CONFIG_RT_USING_RT_LINK is not set -# CONFIG_RT_USING_LWP is not set +# CONFIG_RT_USING_VBUS is not set # # RT-Thread Utestcases @@ -432,6 +408,7 @@ CONFIG_UTEST_THR_PRIORITY=20 # # IoT - internet of things # +# CONFIG_PKG_USING_LWIP is not set # CONFIG_PKG_USING_LORAWAN_DRIVER is not set # CONFIG_PKG_USING_PAHOMQTT is not set # CONFIG_PKG_USING_UMQTT is not set @@ -442,12 +419,8 @@ CONFIG_UTEST_THR_PRIORITY=20 # CONFIG_PKG_USING_KAWAII_MQTT is not set # CONFIG_PKG_USING_BC28_MQTT is not set # CONFIG_PKG_USING_WEBTERMINAL is not set -# CONFIG_PKG_USING_CJSON is not set -# CONFIG_PKG_USING_JSMN is not set # CONFIG_PKG_USING_LIBMODBUS is not set # CONFIG_PKG_USING_FREEMODBUS is not set -# CONFIG_PKG_USING_LJSON is not set -# CONFIG_PKG_USING_EZXML is not set # CONFIG_PKG_USING_NANOPB is not set # @@ -487,6 +460,7 @@ CONFIG_UTEST_THR_PRIORITY=20 # CONFIG_PKG_USING_JOYLINK is not set # CONFIG_PKG_USING_EZ_IOT_OS is not set # CONFIG_PKG_USING_NIMBLE is not set +# CONFIG_PKG_USING_LLSYNC_SDK_ADAPTER is not set # CONFIG_PKG_USING_OTA_DOWNLOADER is not set # CONFIG_PKG_USING_IPMSG is not set # CONFIG_PKG_USING_LSSDP is not set @@ -500,16 +474,13 @@ CONFIG_UTEST_THR_PRIORITY=20 # CONFIG_PKG_USING_ABUP_FOTA is not set # CONFIG_PKG_USING_LIBCURL2RTT is not set # CONFIG_PKG_USING_CAPNP is not set -# CONFIG_PKG_USING_RT_CJSON_TOOLS is not set # CONFIG_PKG_USING_AGILE_TELNET is not set # CONFIG_PKG_USING_NMEALIB is not set -# CONFIG_PKG_USING_AGILE_JSMN is not set # CONFIG_PKG_USING_PDULIB is not set # CONFIG_PKG_USING_BTSTACK is not set # CONFIG_PKG_USING_LORAWAN_ED_STACK is not set # CONFIG_PKG_USING_WAYZ_IOTKIT is not set # CONFIG_PKG_USING_MAVLINK is not set -# CONFIG_PKG_USING_RAPIDJSON is not set # CONFIG_PKG_USING_BSAL is not set # CONFIG_PKG_USING_AGILE_MODBUS is not set # CONFIG_PKG_USING_AGILE_FTP is not set @@ -534,6 +505,22 @@ CONFIG_UTEST_THR_PRIORITY=20 # # language packages # + +# +# JSON: JavaScript Object Notation, a lightweight data-interchange format +# +# CONFIG_PKG_USING_CJSON is not set +# CONFIG_PKG_USING_LJSON is not set +# CONFIG_PKG_USING_RT_CJSON_TOOLS is not set +# CONFIG_PKG_USING_RAPIDJSON is not set +# CONFIG_PKG_USING_JSMN is not set +# CONFIG_PKG_USING_AGILE_JSMN is not set + +# +# XML: Extensible Markup Language +# +# CONFIG_PKG_USING_SIMPLE_XML is not set +# CONFIG_PKG_USING_EZXML is not set # CONFIG_PKG_USING_LUATOS_SOC is not set # CONFIG_PKG_USING_LUA is not set # CONFIG_PKG_USING_JERRYSCRIPT is not set @@ -621,6 +608,8 @@ CONFIG_UTEST_THR_PRIORITY=20 # CONFIG_PKG_USING_SOLAR_TERMS is not set # CONFIG_PKG_USING_GAN_ZHI is not set # CONFIG_PKG_USING_FDT is not set +# CONFIG_PKG_USING_CBOX is not set +# CONFIG_PKG_USING_SNOWFLAKE is not set # # system packages @@ -663,26 +652,12 @@ CONFIG_UTEST_THR_PRIORITY=20 # CONFIG_PKG_USING_UC_CLK is not set # CONFIG_PKG_USING_UC_COMMON is not set # CONFIG_PKG_USING_UC_MODBUS is not set -# CONFIG_RT_USING_ARDUINO is not set +# CONFIG_PKG_USING_RTDUINO is not set # CONFIG_PKG_USING_GUIENGINE is not set # CONFIG_PKG_USING_PERSIMMON is not set # CONFIG_PKG_USING_CAIRO is not set # CONFIG_PKG_USING_PIXMAN is not set # CONFIG_PKG_USING_PARTITION is not set -CONFIG_PKG_USING_FAL=y -CONFIG_PKG_FAL_PATH="/packages/system/fal" -CONFIG_FAL_DEBUG_CONFIG=y -CONFIG_FAL_DEBUG=1 -CONFIG_FAL_PART_HAS_TABLE_CFG=y -# CONFIG_FAL_USING_SFUD_PORT is not set -# CONFIG_PKG_USING_FAL_V00500 is not set -# CONFIG_PKG_USING_FAL_V00400 is not set -# CONFIG_PKG_USING_FAL_V00300 is not set -# CONFIG_PKG_USING_FAL_V00200 is not set -# CONFIG_PKG_USING_FAL_V00100 is not set -CONFIG_PKG_USING_FAL_LATEST_VERSION=y -CONFIG_PKG_FAL_VER="latest" -CONFIG_PKG_FAL_VER_NUM=0x99999 # CONFIG_PKG_USING_FLASHDB is not set # CONFIG_PKG_USING_SQLITE is not set # CONFIG_PKG_USING_RTI is not set @@ -708,7 +683,8 @@ CONFIG_PKG_FAL_VER_NUM=0x99999 # CONFIG_PKG_USING_ARM_2D is not set # CONFIG_PKG_USING_MCUBOOT is not set # CONFIG_PKG_USING_TINYUSB is not set -# CONFIG_PKG_USING_USB_STACK is not set +# CONFIG_PKG_USING_CHERRYUSB is not set +# CONFIG_PKG_USING_KMULTI_RTIMER is not set # # peripheral libraries and drivers @@ -732,6 +708,7 @@ CONFIG_PKG_FAL_VER_NUM=0x99999 # CONFIG_PKG_USING_WM_LIBRARIES is not set # CONFIG_PKG_USING_KENDRYTE_SDK is not set # CONFIG_PKG_USING_INFRARED is not set +# CONFIG_PKG_USING_MULTI_INFRARED is not set # CONFIG_PKG_USING_AGILE_BUTTON is not set # CONFIG_PKG_USING_AGILE_LED is not set # CONFIG_PKG_USING_AT24CXX is not set @@ -788,6 +765,7 @@ CONFIG_PKG_FAL_VER_NUM=0x99999 # CONFIG_PKG_USING_SOFT_SERIAL is not set # CONFIG_PKG_USING_MB85RS16 is not set # CONFIG_PKG_USING_CW2015 is not set +# CONFIG_PKG_USING_RFM300 is not set # # AI packages @@ -806,6 +784,10 @@ CONFIG_PKG_FAL_VER_NUM=0x99999 # miscellaneous packages # +# +# project laboratory +# + # # samples: kernel and components samples # @@ -838,6 +820,7 @@ CONFIG_PKG_FAL_VER_NUM=0x99999 # CONFIG_PKG_USING_CANFESTIVAL is not set # CONFIG_PKG_USING_ZLIB is not set # CONFIG_PKG_USING_MINIZIP is not set +# CONFIG_PKG_USING_HEATSHRINK is not set # CONFIG_PKG_USING_DSTR is not set # CONFIG_PKG_USING_TINYFRAME is not set # CONFIG_PKG_USING_KENDRYTE_DEMO is not set @@ -855,6 +838,7 @@ CONFIG_PKG_FAL_VER_NUM=0x99999 # CONFIG_PKG_USING_DESIGN_PATTERN is not set # CONFIG_PKG_USING_CONTROLLER is not set # CONFIG_PKG_USING_PHASE_LOCKED_LOOP is not set +# CONFIG_PKG_USING_MFBD is not set # # Hardware Drivers Config @@ -979,6 +963,7 @@ CONFIG_NU_PKG_USING_NAU88L25=y # CONFIG_NU_PKG_USING_NAU8822 is not set # CONFIG_NU_PKG_USING_DA9062 is not set # CONFIG_NU_PKG_USING_ILI9341 is not set +# CONFIG_NU_PKG_USING_SSD1963 is not set +# CONFIG_NU_PKG_USING_TPC is not set +# CONFIG_NU_PKG_USING_ADC_TOUCH is not set # CONFIG_NU_PKG_USING_SPINAND is not set -CONFIG_BOARD_USE_UTEST=y -CONFIG_UTEST_CMD_PREFIX="bsp.nuvoton.numaker-pfm-m487.test.utest." diff --git a/bsp/nuvoton/numaker-pfm-m487/rtconfig.h b/bsp/nuvoton/numaker-pfm-m487/rtconfig.h index bda35ecac5..e19d40ee7a 100644 --- a/bsp/nuvoton/numaker-pfm-m487/rtconfig.h +++ b/bsp/nuvoton/numaker-pfm-m487/rtconfig.h @@ -57,14 +57,8 @@ #define RT_USING_USER_MAIN #define RT_MAIN_THREAD_STACK_SIZE 2048 #define RT_MAIN_THREAD_PRIORITY 10 - -/* C++ features */ - - -/* Command shell */ - -#define RT_USING_FINSH #define RT_USING_MSH +#define RT_USING_FINSH #define FINSH_USING_MSH #define FINSH_THREAD_NAME "tshell" #define FINSH_THREAD_PRIORITY 20 @@ -76,9 +70,6 @@ #define MSH_USING_BUILT_IN_COMMANDS #define FINSH_USING_DESCRIPTION #define FINSH_ARG_MAX 10 - -/* Device virtual file system */ - #define RT_USING_DFS #define DFS_USING_POSIX #define DFS_USING_WORKDIR @@ -101,6 +92,10 @@ #define RT_DFS_ELM_REENTRANT #define RT_DFS_ELM_MUTEX_TIMEOUT 3000 #define RT_USING_DFS_DEVFS +#define RT_USING_FAL +#define FAL_DEBUG_CONFIG +#define FAL_DEBUG 1 +#define FAL_PART_HAS_TABLE_CFG /* Device Drivers */ @@ -176,7 +171,7 @@ #define RT_USB_DEVICE_HID #define RT_USB_DEVICE_HID_MOUSE -/* POSIX layer and C standard library */ +/* C/C++ and POSIX layer */ #define RT_LIBC_DEFAULT_TIMEZONE 8 @@ -190,9 +185,8 @@ /* Socket is in the 'Network' category */ -/* Network */ -/* Socket abstraction layer */ +/* Network */ #define RT_USING_SAL #define SAL_INTERNET_CHECK @@ -201,9 +195,6 @@ #define SAL_USING_LWIP #define SAL_SOCKETS_NUM 16 - -/* Network interface device */ - #define RT_USING_NETDEV #define NETDEV_USING_IFCONFIG #define NETDEV_USING_PING @@ -211,11 +202,9 @@ #define NETDEV_USING_AUTO_DEFAULT #define NETDEV_IPV4 1 #define NETDEV_IPV6 0 - -/* light weight TCP/IP stack */ - #define RT_USING_LWIP #define RT_USING_LWIP203 +#define RT_USING_LWIP_VER_NUM 0x20003 #define RT_LWIP_MEM_ALIGNMENT 4 #define RT_LWIP_IGMP #define RT_LWIP_ICMP @@ -256,12 +245,6 @@ #define LWIP_NETIF_LOOPBACK 0 #define RT_LWIP_USING_PING -/* AT commands */ - - -/* VBUS(Virtual Software BUS) */ - - /* Utilities */ #define RT_USING_UTEST @@ -292,6 +275,11 @@ /* language packages */ +/* JSON: JavaScript Object Notation, a lightweight data-interchange format */ + + +/* XML: Extensible Markup Language */ + /* multimedia packages */ @@ -323,12 +311,6 @@ /* Micrium: Micrium software products porting for RT-Thread */ -#define RT_USING_FAL -#define FAL_DEBUG_CONFIG -#define FAL_DEBUG 1 -#define FAL_PART_HAS_TABLE_CFG -#define RT_USING_FAL_LATEST_VERSION -#define PKG_FAL_VER_NUM 0x99999 /* peripheral libraries and drivers */ @@ -338,6 +320,8 @@ /* miscellaneous packages */ +/* project laboratory */ + /* samples: kernel and components samples */ @@ -410,7 +394,5 @@ #define NU_PKG_USING_UTILS #define NU_PKG_USING_DEMO #define NU_PKG_USING_NAU88L25 -#define BOARD_USE_UTEST -#define UTEST_CMD_PREFIX "bsp.nuvoton.numaker-pfm-m487.test.utest." #endif