diff --git a/apps/boot/include/app_config.h b/apps/boot/include/app_config.h index baaaf2e..25c8c80 100644 --- a/apps/boot/include/app_config.h +++ b/apps/boot/include/app_config.h @@ -18,37 +18,34 @@ #if defined(STM32F405xx) #define NAME_CHIP "STM32F405xx" #define SIZE_ONCHIP_FLASH (1024 * 1024ul) // 片上 flash 总容量 -#elif defined(STM32F411xE) - #define NAME_CHIP "STM32F411xE" - #define SIZE_ONCHIP_FLASH (512 * 1024ul) -#elif defined(STM32F401xC) - #define NAME_CHIP "STM32F401xC" - #define SIZE_ONCHIP_FLASH (256 * 1024ul) #else #error "no chip size defined" #endif -#define SIZE_PART_BOOTLOADER (32 * 1024ul) // bootloader 占用空间(需要大于本程序bin大小) -#define SIZE_PART_PARAMETERS (32 * 1024ul) // 参数 占用空间 -#define SIZE_PART_APPLICATION (SIZE_ONCHIP_FLASH/4) // app 占用空间 不少于1/4 -#define SIZE_PART_DOWNLOAD (SIZE_PART_APPLICATION) // download 占用空间(不用时0) -#define SIZE_PART_FACTORY (SIZE_PART_APPLICATION) // factory 占用空间(不用时0) +#define SIZE_PART_BOOTLOADER (64 * 1024ul) // bootloader 占用空间(需要大于本程序bin大小) +#define SIZE_PART_PARAMETERS (64 * 1024ul) // 参数 占用空间 +#define SIZE_PART_LOG (128 * 1024ul) // 日志 占用空间 +#define SIZE_PART_APPLICATION (SIZE_ONCHIP_FLASH/4) // app 占用空间 +#define SIZE_PART_DOWNLOAD (SIZE_PART_APPLICATION) // download 占用空间 +#define SIZE_PART_FACTORY (SIZE_PART_APPLICATION) // factory 占用空间 #define BASE_ONCHIP_FLASH (FLASH_BASE) // on chip flash 首地址 #define OFFSET_ONCHIP_FLASH_END (BASE_ONCHIP_FLASH + SIZE_ONCHIP_FLASH) /* - chipsize (256KB/512KB/1024KB) eg: 1024KB - 32KB - bootloader = 0x00000 + 32*1024 - 32KB - parameter = 0x08000 + 32*1024 - chipsize/2-64KB - application = 0x10000 + 448*1024 - chipsize/4 - download = 0x80000 + 256*1024 - chipsize/4 - factory = 0xC0000 + 256*1024 + chipsize eg: 1024KB + 64KB - bootloader = 0x00000 + 64*1024 + 64KB - parameter = 0x10000 + 64*1024 + 128KB - log = 0x20000 + 128*1024 + 256KB - application = 0x40000 + 256*1024 + 256KB - download = 0x80000 + 256*1024 + 256KB - factory = 0xC0000 + 256*1024 */ -#define BASE_BOOTLOADER (BASE_ONCHIP_FLASH) -#define BASE_PARAMETERS (BASE_BOOTLOADER + SIZE_PART_BOOTLOADER) // 参数分区起始地址 -#define BASE_APPLICATION (BASE_ONCHIP_FLASH + SIZE_PART_BOOTLOADER+SIZE_PART_PARAMETERS) // app 分区起始地址 -#define BASE_DOWNLOAD (BASE_ONCHIP_FLASH + SIZE_ONCHIP_FLASH/2) // download 分区起始地址 -#define BASE_FACTORY (BASE_DOWNLOAD + SIZE_PART_DOWNLOAD) // factory 分区起始地址 +#define BASE_BOOTLOADER (BASE_ONCHIP_FLASH) +#define BASE_PARAMETERS (BASE_BOOTLOADER + SIZE_PART_BOOTLOADER) // 参数分区起始地址 +#define BASE_LOG (BASE_PARAMETERS + SIZE_PART_PARAMETERS) +#define BASE_APPLICATION (BASE_ONCHIP_FLASH + SIZE_PART_BOOTLOADER+SIZE_PART_PARAMETERS+SIZE_PART_LOG) // app 分区起始地址 +#define BASE_DOWNLOAD (BASE_ONCHIP_FLASH + SIZE_ONCHIP_FLASH/2) // download 分区起始地址 +#define BASE_FACTORY (BASE_DOWNLOAD + SIZE_PART_DOWNLOAD) // factory 分区起始地址 /* 片上分区数量选项 * app: 可运行的固件区域 diff --git a/apps/chrg/.config b/apps/chrg/.config index 419b33b..81cbe70 100644 --- a/apps/chrg/.config +++ b/apps/chrg/.config @@ -224,7 +224,10 @@ CONFIG_FINSH_USING_OPTION_COMPLETION=y # CONFIG_RT_USING_DFS is not set # end of DFS: device virtual file system -# CONFIG_RT_USING_FAL is not set +CONFIG_RT_USING_FAL=y +# CONFIG_FAL_USING_DEBUG is not set +CONFIG_FAL_PART_HAS_TABLE_CFG=y +# CONFIG_FAL_USING_SFUD_PORT is not set # # Device Drivers @@ -267,10 +270,12 @@ CONFIG_RT_USING_I2C_BITOPS=y # CONFIG_RT_USING_MTD_NOR is not set # CONFIG_RT_USING_MTD_NAND is not set # CONFIG_RT_USING_PM is not set -# CONFIG_RT_USING_RTC is not set +CONFIG_RT_USING_RTC=y +# CONFIG_RT_USING_ALARM is not set +# CONFIG_RT_USING_SOFT_RTC is not set # CONFIG_RT_USING_SDIO is not set # CONFIG_RT_USING_SPI is not set -# CONFIG_RT_USING_WDT is not set +CONFIG_RT_USING_WDT=y # CONFIG_RT_USING_AUDIO is not set # CONFIG_RT_USING_SENSOR is not set # CONFIG_RT_USING_TOUCH is not set @@ -281,7 +286,7 @@ CONFIG_RT_USING_I2C_BITOPS=y # CONFIG_RT_USING_VIRTIO is not set CONFIG_RT_USING_PIN=y # CONFIG_RT_USING_KTIME is not set -# CONFIG_RT_USING_HWTIMER is not set +CONFIG_RT_USING_HWTIMER=y # CONFIG_RT_USING_CHERRYUSB is not set # end of Device Drivers @@ -1504,6 +1509,22 @@ CONFIG_BSP_USING_I2C3=y CONFIG_BSP_USING_I2C4=y CONFIG_BSP_USING_CAN=y CONFIG_BSP_USING_CAN1=y +# CONFIG_BSP_USING_ADC is not set +CONFIG_BSP_USING_ONCHIP_RTC=y +CONFIG_BSP_RTC_USING_LSE=y +# CONFIG_BSP_RTC_USING_LSI is not set +CONFIG_BSP_USING_WDT=y +# CONFIG_BSP_USING_USBD is not set +# CONFIG_BSP_USING_USBH is not set +CONFIG_BSP_USING_ON_CHIP_FLASH=y +CONFIG_BSP_USING_TIM=y +# CONFIG_BSP_USING_TIM1 is not set +CONFIG_BSP_USING_TIM2=y +# CONFIG_BSP_USING_TIM3 is not set +# CONFIG_BSP_USING_TIM4 is not set +# CONFIG_BSP_USING_TIM5 is not set +# CONFIG_BSP_USING_TIM6 is not set +# CONFIG_BSP_USING_TIM7 is not set # CONFIG_BSP_USING_RNG is not set # CONFIG_BSP_USING_UDID is not set # end of On-chip Peripheral Drivers diff --git a/apps/chrg/applications/bsp/chrg_fal.c b/apps/chrg/applications/bsp/chrg_fal.c new file mode 100644 index 0000000..f4e92e6 --- /dev/null +++ b/apps/chrg/applications/bsp/chrg_fal.c @@ -0,0 +1,30 @@ +#include +#include "fal.h" + +#define LOG_TAG "etc2.fal" +#define DBG_ENABLE +#define DBG_SECTION_NAME LOG_TAG +#define DBG_LEVEL DBG_LOG +#define DBG_COLOR +#include + +static int chrg_fal_init (void) +{ + rt_int32_t ret = 0; + + ret = fal_init(); + if (ret <= 0) { + LOG_E("fal init failed."); + + return ret; + } + + + + return 0; +} + + +INIT_ENV_EXPORT(chrg_fal_init); + + diff --git a/apps/chrg/applications/bsp/chrg_tmr.c b/apps/chrg/applications/bsp/chrg_tmr.c new file mode 100644 index 0000000..a41136c --- /dev/null +++ b/apps/chrg/applications/bsp/chrg_tmr.c @@ -0,0 +1,177 @@ + +#include + +#include "chrg_tmr.h" + +#define LOG_TAG "chrg.tmr" +#define DBG_ENABLE +#define DBG_SECTION_NAME LOG_TAG +#define DBG_LEVEL DBG_LOG +#define DBG_COLOR +#include + +struct chrg_tmr_t chrgtmr[TOTAL_TMRS] = { + [IDX_TMR_1S] = { + .index = IDX_TMR_1S, + .dev = RT_NULL, + .name = DEV_NAME_HWTIMER_1S, + .mode = HWTIMER_MODE_PERIOD, + .timeout = 1000000, // 10ms + } +}; + +static rt_err_t chrg_tmr_1s_callback(rt_device_t dev, rt_size_t size) +{ + rt_kprintf("."); + + return RT_EOK; +} + +int chrg_tmr_init (eIDX_TMR index) +{ + rt_err_t ret = RT_EOK; + rt_uint32_t freq = 1000000; + if (index >= TOTAL_TMRS) { + return -1; + } + + struct chrg_tmr_t *pTMR = &chrgtmr[index]; + + pTMR->dev = rt_device_find(pTMR->name); + if (RT_NULL == pTMR->dev) { + LOG_E("dev '%s' not found.", pTMR->name); + return -1; + } + + ret = rt_device_open(pTMR->dev, RT_DEVICE_OFLAG_RDWR); + if (RT_EOK != ret) { + LOG_E("open dev '%s' failed. %d", pTMR->name, ret); + return ret; + } + + ret = rt_device_control(pTMR->dev, HWTIMER_CTRL_FREQ_SET, &freq); + if (RT_EOK != ret) { + LOG_E("set '%s' freq failed. %d", pTMR->name, ret); + return ret; + } + + ret = rt_device_control(pTMR->dev, HWTIMER_CTRL_MODE_SET, &pTMR->mode); + if (RT_EOK != ret) { + LOG_E("set '%s' mode failed. %d", pTMR->name, ret); + return ret; + } + + switch (pTMR->index) { + case IDX_TMR_1S: + ret = rt_device_set_rx_indicate(pTMR->dev, chrg_tmr_1s_callback); + break; + + default: + return -1; + } + + return ret; +} + +rt_err_t chrg_tmr_start (eIDX_TMR index, uint32_t timeo) +{ + rt_err_t ret = RT_EOK; + + if (index >= TOTAL_TMRS) { + return RT_EINVAL; + } + + struct chrg_tmr_t *pTMR = &chrgtmr[index]; + if (RT_NULL == pTMR->dev) { + LOG_E("dev '%s' not opened.", pTMR->name); + return 0; + } + + pTMR->timeout.sec = timeo/1000000; + pTMR->timeout.usec = timeo%1000000; + + if (rt_device_write(pTMR->dev, 0, &pTMR->timeout, sizeof(rt_hwtimerval_t)) != sizeof(rt_hwtimerval_t)) { + rt_kprintf("set '%s' timeout failed.\r\n", pTMR->name); + return ret; + } + + return ret; +} + +rt_err_t chrg_tmr_stop (eIDX_TMR index) +{ + rt_err_t ret = RT_EOK; + + if (index >= TOTAL_TMRS) { + return RT_EINVAL; + } + + struct chrg_tmr_t *pTMR = &chrgtmr[index]; + if (RT_NULL == pTMR->dev) { + LOG_E("dev '%s' not opened.", pTMR->name); + return 0; + } + + ret = rt_device_control(pTMR->dev, HWTIMER_CTRL_STOP, RT_NULL); + if (RT_EOK != ret) { + LOG_E("set '%s' stop failed. %d", pTMR->name, ret); + return ret; + } + + return ret; +} + +void chrg_tmr_release (eIDX_TMR index) +{ + if (index >= TOTAL_TMRS) { + return ; + } + + struct chrg_tmr_t *pTMR = &chrgtmr[index]; + if (RT_NULL != pTMR->dev) { + rt_device_close(pTMR->dev); + pTMR->dev = RT_NULL; + } +} + +int chrg_tmrs_init (void) +{ + int i = 0; + + for (i = 0; i < TOTAL_TMRS; i++) { + chrg_tmr_init((eIDX_TMR)i); + } + + return 0; +} + + +INIT_ENV_EXPORT(chrg_tmrs_init); + +#if 1 + +static int sec_tmr(int argc, char **argv) +{ + if (argc != 2) { + rt_kprintf("sec_tmr \r\n"); + return RT_ERROR; + } + + if (strcmp(argv[1], "start") == 0) { + chrg_tmr_start(IDX_TMR_1S, 1000000); + } else if (strcmp(argv[1], "stop") == 0) { + chrg_tmr_stop(IDX_TMR_1S); + } else { + rt_kprintf("sec_tmr start|stop\r\n"); + } + + return 0; +} + +MSH_CMD_EXPORT(sec_tmr, second timer); + + +#endif + + + diff --git a/apps/chrg/applications/bsp/chrg_tmr.h b/apps/chrg/applications/bsp/chrg_tmr.h new file mode 100644 index 0000000..5fe5a6e --- /dev/null +++ b/apps/chrg/applications/bsp/chrg_tmr.h @@ -0,0 +1,39 @@ +#ifndef __CHRG_TMR_H__ +#define __CHRG_TMR_H__ + +#include +#include + + +#define DEV_NAME_HWTIMER_1S "timer2" + + +typedef enum { + IDX_TMR_1S = 0, // 1s 周期 + + TOTAL_TMRS +} eIDX_TMR; + +struct chrg_tmr_t { + rt_device_t dev; + const char *name; + rt_hwtimer_mode_t mode; // 执行模式 周期/单次 + rt_hwtimerval_t timeout; // 周期 us + eIDX_TMR index; // 定时器编号 + +}; + +extern struct chrg_tmr_t chrgtmr[TOTAL_TMRS]; + +extern rt_err_t chrg_tmr_start (eIDX_TMR index, uint32_t timeo); + +extern rt_err_t chrg_tmr_stop (eIDX_TMR index); + +extern void chrg_tmr_release (eIDX_TMR index); + + + + +#endif + + diff --git a/apps/chrg/applications/bsp/chrg_wdt.c b/apps/chrg/applications/bsp/chrg_wdt.c new file mode 100644 index 0000000..6d2c855 --- /dev/null +++ b/apps/chrg/applications/bsp/chrg_wdt.c @@ -0,0 +1,48 @@ + +#include +#include + +#include "chrg_wdt.h" + +struct chrg_wdt_t chrgwdt = { + .dev = RT_NULL, + .name = DEV_NAME_WATCHDOG, + .feed = 3, +}; + +void chrg_wdt_feed (void) +{ + rt_device_control(chrgwdt.dev, RT_DEVICE_CTRL_WDT_KEEPALIVE, RT_NULL); +} + +static int chrg_wdt_init (void) +{ + rt_err_t ret; + struct chrg_wdt_t *pWDT = &chrgwdt; + + pWDT->dev = rt_device_find(pWDT->name); + if (RT_NULL == pWDT->dev) { + rt_kprintf("dev '%s' not found.\r\n", pWDT->name); + return RT_ERROR; + } + + ret = rt_device_control(chrgwdt.dev, RT_DEVICE_CTRL_WDT_SET_TIMEOUT, &pWDT->feed); + if (RT_EOK != ret) { + rt_kprintf("dev '%s' control failed.\r\n", pWDT->name); + return ret; + } + + ret = rt_device_control(chrgwdt.dev, RT_DEVICE_CTRL_WDT_START, RT_NULL); + if (RT_EOK != ret) { + rt_kprintf("dev '%s' start failed.\r\n", pWDT->name); + return ret; + } + + //rt_thread_idle_sethook(chrg_wdt_feed); + + return RT_EOK; +} + +INIT_APP_EXPORT(chrg_wdt_init); + + diff --git a/apps/chrg/applications/bsp/chrg_wdt.h b/apps/chrg/applications/bsp/chrg_wdt.h new file mode 100644 index 0000000..ecde724 --- /dev/null +++ b/apps/chrg/applications/bsp/chrg_wdt.h @@ -0,0 +1,24 @@ +#ifndef __CHRG_WDT_H__ +#define __CHRG_WDT_H__ + +#include +#include + + +#define DEV_NAME_WATCHDOG "wdt" + + +struct chrg_wdt_t { + rt_device_t dev; + const char *name; + + rt_uint32_t feed; +}; + +extern struct chrg_wdt_t chrgwdt; + +extern void chrg_wdt_feed (void); + + +#endif + diff --git a/apps/chrg/applications/main.c b/apps/chrg/applications/main.c index 45a93d7..a2a97a2 100644 --- a/apps/chrg/applications/main.c +++ b/apps/chrg/applications/main.c @@ -6,6 +6,7 @@ #include "shell.h" #include "main.h" +#include "chrg_wdt.h" void show_app_version (void) { @@ -25,7 +26,8 @@ int main(void) #endif while (1) { - rt_thread_mdelay(500); + rt_thread_mdelay(1000); + chrg_wdt_feed(); } } diff --git a/apps/chrg/board/CubeMX_Config/Inc/stm32f4xx_hal_conf.h b/apps/chrg/board/CubeMX_Config/Inc/stm32f4xx_hal_conf.h index 93b1074..1f11be6 100644 --- a/apps/chrg/board/CubeMX_Config/Inc/stm32f4xx_hal_conf.h +++ b/apps/chrg/board/CubeMX_Config/Inc/stm32f4xx_hal_conf.h @@ -66,15 +66,15 @@ /* #define HAL_HASH_MODULE_ENABLED */ /* #define HAL_I2C_MODULE_ENABLED */ /* #define HAL_I2S_MODULE_ENABLED */ -/* #define HAL_IWDG_MODULE_ENABLED */ +#define HAL_IWDG_MODULE_ENABLED /* #define HAL_LTDC_MODULE_ENABLED */ /* #define HAL_RNG_MODULE_ENABLED */ -/* #define HAL_RTC_MODULE_ENABLED */ +#define HAL_RTC_MODULE_ENABLED /* #define HAL_SAI_MODULE_ENABLED */ /* #define HAL_SD_MODULE_ENABLED */ /* #define HAL_MMC_MODULE_ENABLED */ /* #define HAL_SPI_MODULE_ENABLED */ -/* #define HAL_TIM_MODULE_ENABLED */ +#define HAL_TIM_MODULE_ENABLED #define HAL_UART_MODULE_ENABLED /* #define HAL_USART_MODULE_ENABLED */ /* #define HAL_IRDA_MODULE_ENABLED */ diff --git a/apps/chrg/board/Kconfig b/apps/chrg/board/Kconfig index 889286d..8643250 100644 --- a/apps/chrg/board/Kconfig +++ b/apps/chrg/board/Kconfig @@ -260,6 +260,103 @@ menu "On-chip Peripheral Drivers" default n endif + menuconfig BSP_USING_ADC + bool "Enable ADC" + default n + select RT_USING_ADC + if BSP_USING_ADC + config BSP_USING_ADC1 + bool "Enable ADC1" + default n + endif + + menuconfig BSP_USING_ONCHIP_RTC + bool "Enable RTC" + select RT_USING_RTC + default n + if BSP_USING_ONCHIP_RTC + choice + prompt "Select clock source" + default BSP_RTC_USING_LSE + + config BSP_RTC_USING_LSE + bool "RTC USING LSE" + + config BSP_RTC_USING_LSI + bool "RTC USING LSI" + endchoice + endif + + config BSP_USING_WDT + bool "Enable Watchdog Timer" + select RT_USING_WDT + default n + + config BSP_USING_USBD + bool "Enable USB Device" + select RT_USING_USB_DEVICE + default n + + menuconfig BSP_USING_USBH + bool "Enable USB Host" + select RT_USING_USB_HOST + default n + if BSP_USING_USBH + menuconfig RT_USBH_MSTORAGE + bool "Enable Udisk Drivers" + default n + if RT_USBH_MSTORAGE + config UDISK_MOUNTPOINT + string "Udisk mount dir" + default "/" + endif + endif + + config BSP_USING_FMC + bool + default n + + config BSP_USING_ON_CHIP_FLASH + bool "Enable on-chip FLASH" + default n + + menuconfig BSP_USING_TIM + bool "Enable timer" + default n + select RT_USING_HWTIMER + if BSP_USING_TIM + config BSP_USING_TIM1 + bool "Enable TIM1" + default n + + config BSP_USING_TIM2 + bool "Enable TIM2" + default n + + config BSP_USING_TIM3 + bool "Enable TIM3" + default n + + config BSP_USING_TIM4 + bool "Enable TIM4" + default n + + config BSP_USING_TIM5 + bool "Enable TIM5" + default n + + config BSP_USING_TIM6 + bool "Enable TIM6" + default n + + config BSP_USING_TIM7 + bool "Enable TIM7" + default n + + + endif + + source "$(RTT_DIR)/bsp/stm32/libraries/HAL_Drivers/drivers/Kconfig" endmenu diff --git a/apps/chrg/board/ports/SConscript b/apps/chrg/board/ports/SConscript new file mode 100644 index 0000000..556df35 --- /dev/null +++ b/apps/chrg/board/ports/SConscript @@ -0,0 +1,22 @@ +import os +from building import * + +objs = [] +cwd = GetCurrentDir() + +# add general drivers +src = [] +path = [cwd] + +#if GetDepend(['BSP_USING_SDCARD']): +# src += Glob('sdcard_port.c') + +CPPDEFINES = ['STM32F405xx'] +group = DefineGroup('Drivers', src, depend = [''], CPPPATH = path, CPPDEFINES = CPPDEFINES) + +list = os.listdir(cwd) +for item in list: + if os.path.isfile(os.path.join(cwd, item, 'SConscript')): + group = group + SConscript(os.path.join(item, 'SConscript')) + +Return('group') diff --git a/apps/chrg/board/ports/fal_cfg.h b/apps/chrg/board/ports/fal_cfg.h new file mode 100644 index 0000000..c582da4 --- /dev/null +++ b/apps/chrg/board/ports/fal_cfg.h @@ -0,0 +1,51 @@ +/* + * Copyright (c) 2006-2021, RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2020-07-13 Dozingfiretruck first version + */ + +#ifndef _FAL_CFG_H_ +#define _FAL_CFG_H_ + +#include +#include + +#define FLASH_SIZE_GRANULARITY_16K (4 * 16 * 1024) +#define FLASH_SIZE_GRANULARITY_64K (64 * 1024) +#define FLASH_SIZE_GRANULARITY_128K (7 * 128 * 1024) + +#define STM32_FLASH_START_ADRESS_16K STM32_FLASH_START_ADRESS +#define STM32_FLASH_START_ADRESS_64K (STM32_FLASH_START_ADRESS_16K + FLASH_SIZE_GRANULARITY_16K) +#define STM32_FLASH_START_ADRESS_128K (STM32_FLASH_START_ADRESS_64K + FLASH_SIZE_GRANULARITY_64K) + +extern const struct fal_flash_dev stm32_onchip_flash_16k; +extern const struct fal_flash_dev stm32_onchip_flash_64k; +extern const struct fal_flash_dev stm32_onchip_flash_128k; + +/* flash device table */ +#define FAL_FLASH_DEV_TABLE \ +{ \ + &stm32_onchip_flash_16k, \ + &stm32_onchip_flash_64k, \ + &stm32_onchip_flash_128k, \ +} +/* ====================== Partition Configuration ========================== */ +#ifdef FAL_PART_HAS_TABLE_CFG + +/* partition table */ +#define FAL_PART_TABLE \ +{ \ + {FAL_PART_MAGIC_WROD, "boot", "onchip_flash_16k", 0 , FLASH_SIZE_GRANULARITY_16K , 0}, \ + {FAL_PART_MAGIC_WROD, "param", "onchip_flash_64k", 0 , FLASH_SIZE_GRANULARITY_64K , 0}, \ + {FAL_PART_MAGIC_WROD, "log", "onchip_flash_128k", 0 , 128*1024 , 0}, \ + {FAL_PART_MAGIC_WROD, "app", "onchip_flash_128k", 128*1024 , 2*128*1024, 0}, \ + {FAL_PART_MAGIC_WROD, "download", "onchip_flash_128k", 3*128*1024 , 2*128*1024, 0}, \ + {FAL_PART_MAGIC_WROD, "factory", "onchip_flash_128k", 5*128*1024 , 2*128*1024, 0}, \ +} + +#endif /* FAL_PART_HAS_TABLE_CFG */ +#endif /* _FAL_CFG_H_ */ diff --git a/apps/chrg/project.uvprojx b/apps/chrg/project.uvprojx index 706afa3..e52c267 100644 --- a/apps/chrg/project.uvprojx +++ b/apps/chrg/project.uvprojx @@ -10,7 +10,6 @@ rt-thread 0x4 ARM-ADS - 5060960::V5.06 update 7 (build 960)::.\ARMCC 0 @@ -275,7 +274,7 @@ 1 - 0x8010000 + 0x8040000 0x40000 @@ -337,9 +336,9 @@ 0 - __CLK_TCK=RT_TICK_PER_SECOND, __RTTHREAD__, USE_HAL_DRIVER, __STDC_LIMIT_MACROS, STM32F405xx, RT_USING_LIBC, RT_USING_ARMLIBC + __CLK_TCK=RT_TICK_PER_SECOND, __RTTHREAD__, RT_USING_ARMLIBC, STM32F405xx, RT_USING_LIBC, USE_HAL_DRIVER, __STDC_LIMIT_MACROS - ..\..\libs\stm32f4\STM32F4_HAL\Inc\Legacy;..\..\rt-thread\components\drivers\include;..\..\rt-thread\components\drivers\include;..\..\libs\freemodbus\modbus\tcp;..\..\rt-thread\libcpu\arm\cortex-m4;board\CubeMX_Config\Inc;.;..\..\libs\freemodbus\modbus\include;..\..\rt-thread\components\libc\posix\io\eventfd;..\..\rt-thread\components\drivers\include;..\..\libs\cmsis-core\Include;..\..\rt-thread\components\libc\posix\io\epoll;..\..\rt-thread\components\libc\posix\ipc;..\..\rt-thread\components\libc\posix\io\poll;..\..\rt-thread\include;..\..\rt-thread\components\drivers\include;..\..\rt-thread\components\drivers\include;..\..\rt-thread\components\drivers\include;..\..\libs\freemodbus\port;..\..\rt-thread\bsp\stm32\libraries\HAL_Drivers\drivers;..\..\rt-thread\bsp\stm32\libraries\HAL_Drivers\drivers\config;..\..\rt-thread\components\libc\compilers\common\extension;..\..\rt-thread\components\finsh;..\..\libs\freemodbus\modbus\rtu;..\..\rt-thread\components\drivers\phy;..\..\rt-thread\components\drivers\include;board;..\..\libs\stm32f4\STM32F4_HAL\Inc;..\..\rt-thread\components\libc\compilers\common\extension\fcntl\octal;..\..\rt-thread\components\drivers\smp_call;applications;..\..\libs\freemodbus\modbus\ascii;..\..\rt-thread\bsp\stm32\libraries\HAL_Drivers;applications\bsp;..\..\rt-thread\libcpu\arm\common;..\..\rt-thread\components\libc\compilers\common\include;..\..\libs\stm32f4\STM32F4_CMSIS\Include + .;..\..\rt-thread\components\drivers\include;..\..\rt-thread\components\drivers\include;..\..\libs\freemodbus\modbus\ascii;..\..\rt-thread\components\drivers\include;..\..\rt-thread\include;..\..\rt-thread\bsp\stm32\libraries\HAL_Drivers;board\ports;..\..\rt-thread\components\libc\posix\io\epoll;..\..\libs\freemodbus\modbus\tcp;..\..\rt-thread\bsp\stm32\libraries\HAL_Drivers\drivers\config;..\..\rt-thread\components\fal\inc;..\..\rt-thread\components\drivers\phy;..\..\rt-thread\components\drivers\include;..\..\rt-thread\components\drivers\include;..\..\rt-thread\bsp\stm32\libraries\HAL_Drivers\drivers;..\..\rt-thread\components\finsh;..\..\libs\freemodbus\port;..\..\rt-thread\components\libc\compilers\common\include;applications;..\..\rt-thread\components\drivers\include;..\..\libs\stm32f4\STM32F4_HAL\Inc;..\..\libs\stm32f4\STM32F4_HAL\Inc\Legacy;..\..\rt-thread\components\drivers\include;..\..\rt-thread\libcpu\arm\cortex-m4;..\..\rt-thread\components\libc\posix\io\poll;..\..\rt-thread\components\libc\posix\ipc;..\..\rt-thread\bsp\stm32\libraries\HAL_Drivers\drivers\drv_flash;..\..\rt-thread\components\drivers\include;..\..\libs\freemodbus\modbus\rtu;..\..\rt-thread\libcpu\arm\common;..\..\rt-thread\components\libc\compilers\common\extension;..\..\rt-thread\components\libc\posix\io\eventfd;..\..\rt-thread\components\libc\compilers\common\extension\fcntl\octal;board;..\..\rt-thread\components\drivers\smp_call;..\..\libs\cmsis-core\Include;..\..\rt-thread\components\drivers\include;board\CubeMX_Config\Inc;..\..\libs\stm32f4\STM32F4_CMSIS\Include;..\..\libs\freemodbus\modbus\include;applications\bsp;..\..\rt-thread\components\drivers\include @@ -383,25 +382,30 @@ Applications - - chrg_pin.c - 1 - applications\bsp\chrg_pin.c - - - chrg_switch.c - 1 - applications\bsp\chrg_switch.c - chrg_intr.c 1 applications\bsp\chrg_intr.c - chrg_i2c.c + chrg_wdt.c 1 - applications\bsp\chrg_i2c.c + applications\bsp\chrg_wdt.c + + + chrg_clk.c + 1 + applications\bsp\chrg_clk.c + + + chrg_tmr.c + 1 + applications\bsp\chrg_tmr.c + + + chrg_switch.c + 1 + applications\bsp\chrg_switch.c main.c @@ -414,15 +418,25 @@ applications\bsp\chrg_tty.c - chrg_clk.c + chrg_i2c.c 1 - applications\bsp\chrg_clk.c + applications\bsp\chrg_i2c.c + + + chrg_pin.c + 1 + applications\bsp\chrg_pin.c chrg_can.c 1 applications\bsp\chrg_can.c + + chrg_fal.c + 1 + applications\bsp\chrg_fal.c + @@ -523,7 +537,7 @@ __RT_IPC_SOURCE__ - + @@ -579,7 +593,63 @@ __RT_IPC_SOURCE__ - + + + + + + + + hwtimer.c + 1 + ..\..\rt-thread\components\drivers\hwtimer\hwtimer.c + + + 2 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + __RT_IPC_SOURCE__ + + @@ -635,7 +705,7 @@ __RT_IPC_SOURCE__ - + @@ -691,7 +761,7 @@ __RT_IPC_SOURCE__ - + @@ -747,7 +817,7 @@ __RT_IPC_SOURCE__ - + @@ -803,7 +873,7 @@ __RT_IPC_SOURCE__ - + @@ -859,7 +929,7 @@ __RT_IPC_SOURCE__ - + @@ -915,7 +985,7 @@ __RT_IPC_SOURCE__ - + @@ -971,7 +1041,7 @@ __RT_IPC_SOURCE__ - + @@ -1027,7 +1097,7 @@ __RT_IPC_SOURCE__ - + @@ -1083,7 +1153,7 @@ __RT_IPC_SOURCE__ - + @@ -1139,7 +1209,7 @@ __RT_IPC_SOURCE__ - + @@ -1195,7 +1265,7 @@ __RT_IPC_SOURCE__ - + @@ -1251,7 +1321,7 @@ __RT_IPC_SOURCE__ - + @@ -1307,7 +1377,63 @@ __RT_IPC_SOURCE__ - + + + + + + + + dev_rtc.c + 1 + ..\..\rt-thread\components\drivers\rtc\dev_rtc.c + + + 2 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + __RT_IPC_SOURCE__ + + @@ -1363,7 +1489,63 @@ __RT_IPC_SOURCE__ - + + + + + + + + dev_watchdog.c + 1 + ..\..\rt-thread\components\drivers\watchdog\dev_watchdog.c + + + 2 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + __RT_IPC_SOURCE__ + + @@ -1389,21 +1571,41 @@ 1 ..\..\rt-thread\bsp\stm32\libraries\HAL_Drivers\drivers\drv_can.c + + drv_flash_f4.c + 1 + ..\..\rt-thread\bsp\stm32\libraries\HAL_Drivers\drivers\drv_flash\drv_flash_f4.c + drv_gpio.c 1 ..\..\rt-thread\bsp\stm32\libraries\HAL_Drivers\drivers\drv_gpio.c + + drv_rtc.c + 1 + ..\..\rt-thread\bsp\stm32\libraries\HAL_Drivers\drivers\drv_rtc.c + drv_soft_i2c.c 1 ..\..\rt-thread\bsp\stm32\libraries\HAL_Drivers\drivers\drv_soft_i2c.c + + drv_tim.c + 1 + ..\..\rt-thread\bsp\stm32\libraries\HAL_Drivers\drivers\drv_tim.c + drv_usart.c 1 ..\..\rt-thread\bsp\stm32\libraries\HAL_Drivers\drivers\drv_usart.c + + drv_wdt.c + 1 + ..\..\rt-thread\bsp\stm32\libraries\HAL_Drivers\drivers\drv_wdt.c + drv_common.c 1 @@ -1411,9 +1613,39 @@ + + Fal + + + fal_rtt.c + 1 + ..\..\rt-thread\components\fal\src\fal_rtt.c + + + fal_partition.c + 1 + ..\..\rt-thread\components\fal\src\fal_partition.c + + + fal.c + 1 + ..\..\rt-thread\components\fal\src\fal.c + + + fal_flash.c + 1 + ..\..\rt-thread\components\fal\src\fal_flash.c + + + Finsh + + shell.c + 1 + ..\..\rt-thread\components\finsh\shell.c + cmd.c 1 @@ -1429,85 +1661,35 @@ 1 ..\..\rt-thread\components\finsh\msh.c - - shell.c - 1 - ..\..\rt-thread\components\finsh\shell.c - FreeModbus - - sample_mb_master.c - 1 - ..\..\libs\freemodbus\samples\sample_mb_master.c - - - mbfuncinput.c - 1 - ..\..\libs\freemodbus\modbus\functions\mbfuncinput.c - - - mbrtu.c - 1 - ..\..\libs\freemodbus\modbus\rtu\mbrtu.c - - - portevent.c - 1 - ..\..\libs\freemodbus\port\portevent.c - - - user_mb_app.c - 1 - ..\..\libs\freemodbus\port\user_mb_app.c - mbfuncdiag.c 1 ..\..\libs\freemodbus\modbus\functions\mbfuncdiag.c - - portevent_m.c - 1 - ..\..\libs\freemodbus\port\portevent_m.c - - - mbfunccoils.c - 1 - ..\..\libs\freemodbus\modbus\functions\mbfunccoils.c - - - porttimer_m.c - 1 - ..\..\libs\freemodbus\port\porttimer_m.c - - - port.c - 1 - ..\..\libs\freemodbus\port\port.c - - - portserial.c - 1 - ..\..\libs\freemodbus\port\portserial.c - mbfuncdisc_m.c 1 ..\..\libs\freemodbus\modbus\functions\mbfuncdisc_m.c - porttimer.c + mbrtu.c 1 - ..\..\libs\freemodbus\port\porttimer.c + ..\..\libs\freemodbus\modbus\rtu\mbrtu.c - sample_mb_slave.c + port.c 1 - ..\..\libs\freemodbus\samples\sample_mb_slave.c + ..\..\libs\freemodbus\port\port.c + + + mbfunccoils.c + 1 + ..\..\libs\freemodbus\modbus\functions\mbfunccoils.c mb_m.c @@ -1515,34 +1697,9 @@ ..\..\libs\freemodbus\modbus\mb_m.c - mbfuncholding.c + sample_mb_master.c 1 - ..\..\libs\freemodbus\modbus\functions\mbfuncholding.c - - - mbrtu_m.c - 1 - ..\..\libs\freemodbus\modbus\rtu\mbrtu_m.c - - - mbfuncholding_m.c - 1 - ..\..\libs\freemodbus\modbus\functions\mbfuncholding_m.c - - - mbcrc.c - 1 - ..\..\libs\freemodbus\modbus\rtu\mbcrc.c - - - user_mb_app_m.c - 1 - ..\..\libs\freemodbus\port\user_mb_app_m.c - - - mbfuncother.c - 1 - ..\..\libs\freemodbus\modbus\functions\mbfuncother.c + ..\..\libs\freemodbus\samples\sample_mb_master.c portserial_m.c @@ -1550,14 +1707,14 @@ ..\..\libs\freemodbus\port\portserial_m.c - mbfunccoils_m.c + mbfuncdisc.c 1 - ..\..\libs\freemodbus\modbus\functions\mbfunccoils_m.c + ..\..\libs\freemodbus\modbus\functions\mbfuncdisc.c - mbutils.c + porttimer.c 1 - ..\..\libs\freemodbus\modbus\functions\mbutils.c + ..\..\libs\freemodbus\port\porttimer.c mbfuncinput_m.c @@ -1565,20 +1722,90 @@ ..\..\libs\freemodbus\modbus\functions\mbfuncinput_m.c - mb.c + mbfuncholding_m.c 1 - ..\..\libs\freemodbus\modbus\mb.c + ..\..\libs\freemodbus\modbus\functions\mbfuncholding_m.c - mbfuncdisc.c + mbfuncother.c 1 - ..\..\libs\freemodbus\modbus\functions\mbfuncdisc.c + ..\..\libs\freemodbus\modbus\functions\mbfuncother.c + + + mbfunccoils_m.c + 1 + ..\..\libs\freemodbus\modbus\functions\mbfunccoils_m.c porttcp.c 1 ..\..\libs\freemodbus\port\porttcp.c + + portevent.c + 1 + ..\..\libs\freemodbus\port\portevent.c + + + mbcrc.c + 1 + ..\..\libs\freemodbus\modbus\rtu\mbcrc.c + + + mbrtu_m.c + 1 + ..\..\libs\freemodbus\modbus\rtu\mbrtu_m.c + + + user_mb_app_m.c + 1 + ..\..\libs\freemodbus\port\user_mb_app_m.c + + + user_mb_app.c + 1 + ..\..\libs\freemodbus\port\user_mb_app.c + + + porttimer_m.c + 1 + ..\..\libs\freemodbus\port\porttimer_m.c + + + portevent_m.c + 1 + ..\..\libs\freemodbus\port\portevent_m.c + + + sample_mb_slave.c + 1 + ..\..\libs\freemodbus\samples\sample_mb_slave.c + + + portserial.c + 1 + ..\..\libs\freemodbus\port\portserial.c + + + mbutils.c + 1 + ..\..\libs\freemodbus\modbus\functions\mbutils.c + + + mbfuncholding.c + 1 + ..\..\libs\freemodbus\modbus\functions\mbfuncholding.c + + + mb.c + 1 + ..\..\libs\freemodbus\modbus\mb.c + + + mbfuncinput.c + 1 + ..\..\libs\freemodbus\modbus\functions\mbfuncinput.c + @@ -1634,7 +1861,7 @@ __RT_KERNEL_SOURCE__ - + @@ -1690,7 +1917,7 @@ __RT_KERNEL_SOURCE__ - + @@ -1746,7 +1973,7 @@ __RT_KERNEL_SOURCE__ - + @@ -1802,7 +2029,7 @@ __RT_KERNEL_SOURCE__ - + @@ -1858,7 +2085,7 @@ __RT_KERNEL_SOURCE__ - + @@ -1914,7 +2141,7 @@ __RT_KERNEL_SOURCE__ - + @@ -1970,7 +2197,7 @@ __RT_KERNEL_SOURCE__ - + @@ -2026,7 +2253,7 @@ __RT_KERNEL_SOURCE__ - + @@ -2082,7 +2309,7 @@ __RT_KERNEL_SOURCE__ - + @@ -2138,7 +2365,7 @@ __RT_KERNEL_SOURCE__ - + @@ -2194,7 +2421,7 @@ __RT_KERNEL_SOURCE__ - + @@ -2250,7 +2477,7 @@ __RT_KERNEL_SOURCE__ - + @@ -2306,7 +2533,7 @@ __RT_KERNEL_SOURCE__ - + @@ -2362,7 +2589,7 @@ __RT_KERNEL_SOURCE__ - + @@ -2418,7 +2645,7 @@ __RT_KERNEL_SOURCE__ - + @@ -2430,9 +2657,14 @@ klibc - kerrno.c + rt_vsnprintf_tiny.c 1 - ..\..\rt-thread\src\klibc\kerrno.c + ..\..\rt-thread\src\klibc\rt_vsnprintf_tiny.c + + + rt_vsscanf.c + 1 + ..\..\rt-thread\src\klibc\rt_vsscanf.c kstdio.c @@ -2445,14 +2677,9 @@ ..\..\rt-thread\src\klibc\kstring.c - rt_vsscanf.c + kerrno.c 1 - ..\..\rt-thread\src\klibc\rt_vsscanf.c - - - rt_vsnprintf_tiny.c - 1 - ..\..\rt-thread\src\klibc\rt_vsnprintf_tiny.c + ..\..\rt-thread\src\klibc\kerrno.c @@ -2504,75 +2731,20 @@ STM32F4-HAL - - stm32f4xx_hal_cryp_ex.c - 1 - ..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_cryp_ex.c - - - stm32f4xx_hal_dma.c - 1 - ..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_dma.c - - - stm32f4xx_hal_dma_ex.c - 1 - ..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_dma_ex.c - - - stm32f4xx_hal_pwr.c - 1 - ..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_pwr.c - - - stm32f4xx_hal_i2c_ex.c - 1 - ..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_i2c_ex.c - - - stm32f4xx_hal_cryp.c - 1 - ..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_cryp.c - - - stm32f4xx_hal_can.c - 1 - ..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_can.c - - - stm32f4xx_hal_uart.c - 1 - ..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_uart.c - - - stm32f4xx_hal.c - 1 - ..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal.c - - - stm32f4xx_hal_pwr_ex.c - 1 - ..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_pwr_ex.c - stm32f4xx_hal_rng.c 1 ..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_rng.c - stm32f4xx_hal_rcc_ex.c + stm32f4xx_hal_rtc.c 1 - ..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_rcc_ex.c + ..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_rtc.c - stm32f4xx_hal_rcc.c + stm32f4xx_hal_flash_ramfunc.c 1 - ..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_rcc.c - - - stm32f4xx_hal_gpio.c - 1 - ..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_gpio.c + ..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_flash_ramfunc.c stm32f4xx_hal_usart.c @@ -2580,9 +2752,9 @@ ..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_usart.c - stm32f4xx_hal_cortex.c + stm32f4xx_hal_dma_ex.c 1 - ..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_cortex.c + ..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_dma_ex.c stm32f4xx_hal_crc.c @@ -2594,11 +2766,116 @@ 1 ..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_cec.c + + stm32f4xx_hal_wwdg.c + 1 + ..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_wwdg.c + + + stm32f4xx_hal_flash.c + 1 + ..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_flash.c + + + stm32f4xx_hal_flash_ex.c + 1 + ..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_flash_ex.c + + + stm32f4xx_hal_cryp.c + 1 + ..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_cryp.c + + + stm32f4xx_hal_can.c + 1 + ..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_can.c + + + stm32f4xx_hal_tim_ex.c + 1 + ..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_tim_ex.c + stm32f4xx_hal_i2c.c 1 ..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_i2c.c + + stm32f4xx_hal_cryp_ex.c + 1 + ..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_cryp_ex.c + + + stm32f4xx_hal_gpio.c + 1 + ..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_gpio.c + + + stm32f4xx_hal_pwr.c + 1 + ..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_pwr.c + + + stm32f4xx_hal.c + 1 + ..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal.c + + + stm32f4xx_hal_dma.c + 1 + ..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_dma.c + + + stm32f4xx_hal_uart.c + 1 + ..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_uart.c + + + stm32f4xx_hal_i2c_ex.c + 1 + ..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_i2c_ex.c + + + stm32f4xx_hal_rtc_ex.c + 1 + ..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_rtc_ex.c + + + stm32f4xx_hal_rcc.c + 1 + ..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_rcc.c + + + stm32f4xx_hal_rcc_ex.c + 1 + ..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_rcc_ex.c + + + stm32f4xx_hal_lptim.c + 1 + ..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_lptim.c + + + stm32f4xx_hal_iwdg.c + 1 + ..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_iwdg.c + + + stm32f4xx_hal_cortex.c + 1 + ..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_cortex.c + + + stm32f4xx_hal_tim.c + 1 + ..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_tim.c + + + stm32f4xx_hal_pwr_ex.c + 1 + ..\..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_pwr_ex.c + diff --git a/apps/chrg/rtconfig.h b/apps/chrg/rtconfig.h index d5df29f..cd8e06f 100644 --- a/apps/chrg/rtconfig.h +++ b/apps/chrg/rtconfig.h @@ -137,6 +137,8 @@ /* DFS: device virtual file system */ /* end of DFS: device virtual file system */ +#define RT_USING_FAL +#define FAL_PART_HAS_TABLE_CFG /* Device Drivers */ @@ -155,7 +157,10 @@ #define RT_CANSND_MSG_TIMEOUT 100 #define RT_USING_I2C #define RT_USING_I2C_BITOPS +#define RT_USING_RTC +#define RT_USING_WDT #define RT_USING_PIN +#define RT_USING_HWTIMER /* end of Device Drivers */ /* C/C++ and POSIX layer */ @@ -476,6 +481,12 @@ #define BSP_USING_I2C4 #define BSP_USING_CAN #define BSP_USING_CAN1 +#define BSP_USING_ONCHIP_RTC +#define BSP_RTC_USING_LSE +#define BSP_USING_WDT +#define BSP_USING_ON_CHIP_FLASH +#define BSP_USING_TIM +#define BSP_USING_TIM2 /* end of On-chip Peripheral Drivers */ /* Board extended module Drivers */ diff --git a/apps/chrg/template.uvprojx b/apps/chrg/template.uvprojx index 47662fb..5bcfb67 100644 --- a/apps/chrg/template.uvprojx +++ b/apps/chrg/template.uvprojx @@ -274,7 +274,7 @@ 1 - 0x8010000 + 0x8040000 0x40000 diff --git a/docs/HC_DFCD_Protocol_V1_0_2.pdf b/docs/HC_DFCD_Protocol_V1_0_3.pdf similarity index 62% rename from docs/HC_DFCD_Protocol_V1_0_2.pdf rename to docs/HC_DFCD_Protocol_V1_0_3.pdf index d9c9432..ffd927e 100644 Binary files a/docs/HC_DFCD_Protocol_V1_0_2.pdf and b/docs/HC_DFCD_Protocol_V1_0_3.pdf differ diff --git a/mdks/boot.uvprojx b/mdks/boot.uvprojx index b48032d..ef00664 100644 --- a/mdks/boot.uvprojx +++ b/mdks/boot.uvprojx @@ -276,7 +276,7 @@ 1 0x8000000 - 0x8000 + 0x10000 1 @@ -339,7 +339,7 @@ USE_HAL_DRIVER,STM32F405xx - ..\lib\stm32f4\STM32F4_HAL\Inc;..\lib\stm32f4\STM32F4_HAL\Inc\Legacy;..\lib\stm32f4\STM32F4_CMSIS\Include;..\lib\cmsis-core\Include;..\apps\boot\include;..\apps\boot\bsp + ..\libs\stm32f4\STM32F4_HAL\Inc;..\libs\stm32f4\STM32F4_HAL\Inc\Legacy;..\libs\stm32f4\STM32F4_CMSIS\Include;..\libs\cmsis-core\Include;..\apps\boot\include;..\apps\boot\bsp @@ -421,7 +421,7 @@ startup_stm32f405xx.s 2 - ..\lib\stm32f4\STm32F4_CMSIS\Source\Templates\arm\startup_stm32f405xx.s + ..\libs\stm32f4\STm32F4_CMSIS\Source\Templates\arm\startup_stm32f405xx.s @@ -556,82 +556,82 @@ stm32f4xx_hal.c 1 - ..\lib\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal.c + ..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal.c stm32f4xx_hal_cortex.c 1 - ..\lib\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_cortex.c + ..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_cortex.c stm32f4xx_hal_dma.c 1 - ..\lib\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_dma.c + ..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_dma.c stm32f4xx_hal_dma_ex.c 1 - ..\lib\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_dma_ex.c + ..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_dma_ex.c stm32f4xx_hal_exti.c 1 - ..\lib\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_exti.c + ..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_exti.c stm32f4xx_hal_flash.c 1 - ..\lib\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_flash.c + ..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_flash.c stm32f4xx_hal_flash_ex.c 1 - ..\lib\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_flash_ex.c + ..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_flash_ex.c stm32f4xx_hal_flash_ramfunc.c 1 - ..\lib\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_flash_ramfunc.c + ..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_flash_ramfunc.c stm32f4xx_hal_gpio.c 1 - ..\lib\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_gpio.c + ..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_gpio.c stm32f4xx_hal_pwr.c 1 - ..\lib\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_pwr.c + ..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_pwr.c stm32f4xx_hal_pwr_ex.c 1 - ..\lib\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_pwr_ex.c + ..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_pwr_ex.c stm32f4xx_hal_rcc.c 1 - ..\lib\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_rcc.c + ..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_rcc.c stm32f4xx_hal_rcc_ex.c 1 - ..\lib\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_rcc_ex.c + ..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_rcc_ex.c stm32f4xx_hal_tim.c 1 - ..\lib\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_tim.c + ..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_tim.c stm32f4xx_hal_tim_ex.c 1 - ..\lib\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_tim_ex.c + ..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_tim_ex.c stm32f4xx_hal_uart.c 1 - ..\lib\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_uart.c + ..\libs\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_uart.c diff --git a/rt-thread/bsp/stm32/libraries/HAL_Drivers/drivers/drv_flash/drv_flash_f1.c b/rt-thread/bsp/stm32/libraries/HAL_Drivers/drivers/drv_flash/drv_flash_f1.c deleted file mode 100644 index 7672c9d..0000000 --- a/rt-thread/bsp/stm32/libraries/HAL_Drivers/drivers/drv_flash/drv_flash_f1.c +++ /dev/null @@ -1,275 +0,0 @@ -/* - * Copyright (c) 2006-2023, RT-Thread Development Team - * - * SPDX-License-Identifier: Apache-2.0 - * - * Change Logs: - * Date Author Notes - * 2018-12-5 SummerGift first version - * 2020-03-05 redoc support stm32f103vg - * - */ - -#include -#include - -#ifdef BSP_USING_ON_CHIP_FLASH -#include "drv_config.h" -#include "drv_flash.h" -#include - -#if defined(RT_USING_FAL) -#include "fal.h" -#endif - -//#define DRV_DEBUG -#define LOG_TAG "drv.flash" -#include - -/** - * @brief Gets the page of a given address - * @param Addr: Address of the FLASH Memory - * @retval The page of a given address - */ -static uint32_t GetPage(uint32_t addr) -{ - uint32_t page = 0; - page = RT_ALIGN_DOWN(addr, FLASH_PAGE_SIZE); - return page; -} - -/** - * Read data from flash. - * @note This operation's units is word. - * - * @param addr flash address - * @param buf buffer to store read data - * @param size read bytes size - * - * @return result - */ -int stm32_flash_read(rt_uint32_t addr, rt_uint8_t *buf, size_t size) -{ - size_t i; - - if ((addr + size) > STM32_FLASH_END_ADDRESS) - { - LOG_E("read outrange flash size! addr is (0x%p)", (void *)(addr + size)); - return -RT_EINVAL; - } - - for (i = 0; i < size; i++, buf++, addr++) - { - *buf = *(rt_uint8_t *) addr; - } - - return size; -} - -/** - * Write data to flash. - * @note This operation's units is word. - * @note This operation must after erase. @see flash_erase. - * - * @param addr flash address - * @param buf the write data buffer - * @param size write bytes size - * - * @return result - */ -int stm32_flash_write(rt_uint32_t addr, const rt_uint8_t *buf, size_t size) -{ - rt_err_t result = RT_EOK; - rt_uint32_t end_addr = addr + size; - - if (addr % 4 != 0) - { - LOG_E("write addr must be 4-byte alignment"); - return -RT_EINVAL; - } - - if ((end_addr) > STM32_FLASH_END_ADDRESS) - { - LOG_E("write outrange flash size! addr is (0x%p)", (void *)(addr + size)); - return -RT_EINVAL; - } - - HAL_FLASH_Unlock(); - - while (addr < end_addr) - { - if (HAL_FLASH_Program(FLASH_TYPEPROGRAM_WORD, addr, *((rt_uint32_t *)buf)) == HAL_OK) - { - if (*(rt_uint32_t *)addr != *(rt_uint32_t *)buf) - { - result = -RT_ERROR; - break; - } - addr += 4; - buf += 4; - } - else - { - result = -RT_ERROR; - break; - } - } - - HAL_FLASH_Lock(); - - if (result != RT_EOK) - { - return result; - } - - return size; -} - -/** - * Erase data on flash with bank. - * @note This operation is irreversible. - * @note This operation's units is different which on many chips. - * - * @param bank flash bank - * @param addr flash address - * @param size erase bytes size - * - * @return result - */ -int stm32_flash_erase_bank(uint32_t bank, rt_uint32_t addr, size_t size) -{ - rt_err_t result = RT_EOK; - uint32_t PAGEError = 0; - - /*Variable used for Erase procedure*/ - FLASH_EraseInitTypeDef EraseInitStruct; - - if ((addr + size) > STM32_FLASH_END_ADDRESS) - { - LOG_E("ERROR: erase outrange flash size! addr is (0x%p)\n", (void *)(addr + size)); - return -RT_EINVAL; - } - - HAL_FLASH_Unlock(); - - /* Fill EraseInit structure*/ - EraseInitStruct.TypeErase = FLASH_TYPEERASE_PAGES; - EraseInitStruct.PageAddress = GetPage(addr); - EraseInitStruct.NbPages = (size + FLASH_PAGE_SIZE - 1) / FLASH_PAGE_SIZE; - EraseInitStruct.Banks = bank; - - if (HAL_FLASHEx_Erase(&EraseInitStruct, &PAGEError) != HAL_OK) - { - result = -RT_ERROR; - goto __exit; - } - -__exit: - HAL_FLASH_Lock(); - - if (result != RT_EOK) - { - return result; - } - - LOG_D("erase done: addr (0x%p), size %d", (void *)addr, size); - return size; -} - -/** - * Erase data on flash . - * @note This operation is irreversible. - * @note This operation's units is different which on many chips. - * - * @param addr flash address - * @param size erase bytes size - * - * @return result - */ -int stm32_flash_erase(rt_uint32_t addr, size_t size) -{ -#if defined(FLASH_BANK2_END) - rt_err_t result = RT_EOK; - rt_uint32_t addr_bank1 = 0; - rt_uint32_t size_bank1 = 0; - rt_uint32_t addr_bank2 = 0; - rt_uint32_t size_bank2 = 0; - - if((addr + size) <= FLASH_BANK1_END) - { - addr_bank1 = addr; - size_bank1 = size; - size_bank2 = 0; - } - else if(addr > FLASH_BANK1_END) - { - size_bank1 = 0; - addr_bank2 = addr; - size_bank2 = size; - } - else - { - addr_bank1 = addr; - size_bank1 = FLASH_BANK1_END + 1 - addr_bank1; - addr_bank2 = FLASH_BANK1_END + 1; - size_bank2 = addr + size - (FLASH_BANK1_END + 1); - } - - if(size_bank1) - { - LOG_D("bank1: addr (0x%p), size %d", (void *)addr_bank1, size_bank1); - if(size_bank1 != stm32_flash_erase_bank(FLASH_BANK_1, addr_bank1, size_bank1)) - { - result = -RT_ERROR; - goto __exit; - } - } - - if(size_bank2) - { - LOG_D("bank2: addr (0x%p), size %d", (void *)addr_bank2, size_bank2); - if(size_bank2 != stm32_flash_erase_bank(FLASH_BANK_2, addr_bank2, size_bank2)) - { - result = -RT_ERROR; - goto __exit; - } - } - -__exit: - if(result != RT_EOK) - { - return result; - } - - return size_bank1 + size_bank2; -#else - return stm32_flash_erase_bank(FLASH_BANK_1, addr, size); -#endif -} - - -#if defined(RT_USING_FAL) - -static int fal_flash_read(long offset, rt_uint8_t *buf, size_t size); -static int fal_flash_write(long offset, const rt_uint8_t *buf, size_t size); -static int fal_flash_erase(long offset, size_t size); - -const struct fal_flash_dev stm32_onchip_flash = { "onchip_flash", STM32_FLASH_START_ADRESS, STM32_FLASH_SIZE, FLASH_PAGE_SIZE, {NULL, fal_flash_read, fal_flash_write, fal_flash_erase} }; - -static int fal_flash_read(long offset, rt_uint8_t *buf, size_t size) -{ - return stm32_flash_read(stm32_onchip_flash.addr + offset, buf, size); -} - -static int fal_flash_write(long offset, const rt_uint8_t *buf, size_t size) -{ - return stm32_flash_write(stm32_onchip_flash.addr + offset, buf, size); -} - -static int fal_flash_erase(long offset, size_t size) -{ - return stm32_flash_erase(stm32_onchip_flash.addr + offset, size); -} - -#endif -#endif /* BSP_USING_ON_CHIP_FLASH */ diff --git a/rt-thread/bsp/stm32/libraries/HAL_Drivers/drivers/drv_flash/drv_flash_f4.c b/rt-thread/bsp/stm32/libraries/HAL_Drivers/drivers/drv_flash/drv_flash_f4.c index 5c2fc4b..d219f8a 100644 --- a/rt-thread/bsp/stm32/libraries/HAL_Drivers/drivers/drv_flash/drv_flash_f4.c +++ b/rt-thread/bsp/stm32/libraries/HAL_Drivers/drivers/drv_flash/drv_flash_f4.c @@ -388,7 +388,6 @@ const struct fal_flash_dev stm32_onchip_flash_16k = fal_flash_erase_16k, }, 8, - {}, }; const struct fal_flash_dev stm32_onchip_flash_64k = { @@ -403,7 +402,6 @@ const struct fal_flash_dev stm32_onchip_flash_64k = fal_flash_erase_64k, }, 8, - {}, }; const struct fal_flash_dev stm32_onchip_flash_128k = { @@ -418,7 +416,6 @@ const struct fal_flash_dev stm32_onchip_flash_128k = fal_flash_erase_128k, }, 8, - {}, }; static int fal_flash_read_16k(long offset, rt_uint8_t *buf, size_t size) diff --git a/rt-thread/bsp/stm32/libraries/HAL_Drivers/drivers/drv_flash/drv_flash_h7.c b/rt-thread/bsp/stm32/libraries/HAL_Drivers/drivers/drv_flash/drv_flash_h7.c deleted file mode 100644 index 7690f97..0000000 --- a/rt-thread/bsp/stm32/libraries/HAL_Drivers/drivers/drv_flash/drv_flash_h7.c +++ /dev/null @@ -1,263 +0,0 @@ -/* - * Copyright (c) 2006-2023, RT-Thread Development Team - * - * SPDX-License-Identifier: Apache-2.0 - * - * Change Logs: - * Date Author Notes - * 2018-12-5 SummerGift first version - * 2019-3-2 jinsheng add Macro judgment - * 2020-1-6 duminmin support single bank mode - * 2020-5-17 yufanyufan77 support support H7 - * 2021-3-3 zhuyf233 fix some bugs - */ - -#include -#include - -#ifdef BSP_USING_ON_CHIP_FLASH -#include "drv_config.h" -#include "drv_flash.h" -#include - -#if defined(RT_USING_FAL) -#include "fal.h" -#endif - -//#define DRV_DEBUG -#define LOG_TAG "drv.flash" -#include - -/** - * Read data from flash. - * @note This operation's units is word. - * - * @param addr flash address - * @param buf buffer to store read data - * @param size read bytes size - * - * @retval The length of bytes that have been read - */ -int stm32_flash_read(rt_uint32_t addr, rt_uint8_t *buf, size_t size) -{ - size_t i; - - if ((addr + size - 1) > FLASH_END) - { - LOG_E("read outrange flash size! addr is (0x%p)", (void *)(addr + size)); - return -RT_ERROR; - } - - for (i = 0; i < size; i++, buf++, addr++) - { - *buf = *(rt_uint8_t *) addr; - } - - return size; -} - -/** - * Write data to flash. - * @note This operation's units is word. - * @note This operation must after erase. @see flash_erase. - * - * @param addr flash address - * @param buf the write data buffer - * @param size write bytes size - * - * @return The length of bytes that have been written - */ -int stm32_flash_write(rt_uint32_t addr, const rt_uint8_t *buf, size_t size) -{ - rt_err_t result = RT_EOK; - rt_uint32_t end_addr = addr + size - 1, write_addr; - rt_uint32_t write_granularity = FLASH_NB_32BITWORD_IN_FLASHWORD * 4; - rt_uint32_t write_size = write_granularity; - rt_uint8_t write_buffer[32] = {0}; - - if ((end_addr) > FLASH_END) - { - LOG_E("write outrange flash size! addr is (0x%p)", (void *)(addr + size)); - return -RT_EINVAL; - } - - if(addr % 32 != 0) - { - LOG_E("write addr must be 32-byte alignment"); - return -RT_EINVAL; - } - - if (size < 1) - { - return -RT_EINVAL; - } - - HAL_FLASH_Unlock(); - write_addr = (uint32_t)buf; - __HAL_FLASH_CLEAR_FLAG(FLASH_FLAG_EOP | FLASH_FLAG_OPERR | FLASH_FLAG_WRPERR); - while (addr < end_addr) - { - if(end_addr - addr + 1 < write_granularity) - { - write_size = end_addr - addr + 1; - for(size_t i = 0; i < write_size; i++) - { - write_buffer[i] = *((uint8_t *)(write_addr + i)); - } - write_addr = (uint32_t)((rt_uint32_t *)write_buffer); - } - if (HAL_FLASH_Program(FLASH_TYPEPROGRAM_FLASHWORD, addr, write_addr) == HAL_OK) - { - for(rt_uint8_t i = 0; i < write_size; i++) - { - if (*(rt_uint8_t *)(addr + i) != *(rt_uint8_t *)(write_addr + i)) - { - result = -RT_ERROR; - goto __exit; - } - } - addr += write_granularity; - write_addr += write_granularity; - } - else - { - result = -RT_ERROR; - goto __exit; - } - } - -__exit: - HAL_FLASH_Lock(); - - if (result != RT_EOK) - { - return result; - } - - return size; -} - -/** - * Erase data on flash. - * @note This operation is irreversible. - * @note This operation's units is different which on many chips. - * - * @param addr flash address - * @param size erase bytes size - * - * @return result - */ -int stm32_flash_erase(rt_uint32_t addr, size_t size) -{ - rt_err_t result = RT_EOK; - rt_uint32_t SECTORError = 0; - - if ((addr + size - 1) > FLASH_END) - { - LOG_E("ERROR: erase outrange flash size! addr is (0x%p)\n", (void *)(addr + size)); - return -RT_EINVAL; - } - - rt_uint32_t addr_bank1 = 0; - rt_uint32_t size_bank1 = 0; -#ifdef FLASH_BANK_2 - rt_uint32_t addr_bank2 = 0; - rt_uint32_t size_bank2 = 0; -#endif - - if((addr + size) < FLASH_BANK2_BASE) - { - addr_bank1 = addr; - size_bank1 = size; -#ifdef FLASH_BANK_2 - size_bank2 = 0; -#endif - } - else if(addr >= FLASH_BANK2_BASE) - { - size_bank1 = 0; -#ifdef FLASH_BANK_2 - addr_bank2 = addr; - size_bank2 = size; -#endif - } - else - { - addr_bank1 = addr; - size_bank1 = FLASH_BANK2_BASE - addr_bank1; -#ifdef FLASH_BANK_2 - addr_bank2 = FLASH_BANK2_BASE; - size_bank2 = addr + size - FLASH_BANK2_BASE; -#endif - } - - /*Variable used for Erase procedure*/ - FLASH_EraseInitTypeDef EraseInitStruct; - /* Unlock the Flash to enable the flash control register access */ - HAL_FLASH_Unlock(); - EraseInitStruct.TypeErase = FLASH_TYPEERASE_SECTORS; - EraseInitStruct.VoltageRange = FLASH_VOLTAGE_RANGE_3; - SCB_DisableDCache(); - - if(size_bank1) - { - EraseInitStruct.Sector = (addr_bank1 - FLASH_BANK1_BASE) / FLASH_SECTOR_SIZE; - EraseInitStruct.NbSectors = (addr_bank1 + size_bank1 -1 - FLASH_BANK1_BASE) / FLASH_SECTOR_SIZE - EraseInitStruct.Sector + 1; - EraseInitStruct.Banks = FLASH_BANK_1; - if (HAL_FLASHEx_Erase(&EraseInitStruct, &SECTORError) != HAL_OK) - { - result = -RT_ERROR; - goto __exit; - } - } - -#ifdef FLASH_BANK_2 - if(size_bank2) - { - EraseInitStruct.Sector = (addr_bank2 - FLASH_BANK2_BASE) / FLASH_SECTOR_SIZE; - EraseInitStruct.NbSectors = (addr_bank2 + size_bank2 -1 - FLASH_BANK2_BASE) / FLASH_SECTOR_SIZE - EraseInitStruct.Sector + 1; - EraseInitStruct.Banks = FLASH_BANK_2; - if (HAL_FLASHEx_Erase(&EraseInitStruct, &SECTORError) != HAL_OK) - { - result = -RT_ERROR; - goto __exit; - } - } -#endif - -__exit: - - SCB_EnableDCache(); - HAL_FLASH_Lock(); - - if (result != RT_EOK) - { - return result; - } - - LOG_D("erase done: addr (0x%p), size %d", (void *)addr, size); - return size; -} - -#if defined(RT_USING_FAL) -static int fal_flash_read_128k(long offset, rt_uint8_t *buf, size_t size); -static int fal_flash_write_128k(long offset, const rt_uint8_t *buf, size_t size); -static int fal_flash_erase_128k(long offset, size_t size); -const struct fal_flash_dev stm32_onchip_flash_128k = { "onchip_flash_128k", STM32_FLASH_START_ADRESS, FLASH_SIZE_GRANULARITY_128K, (128 * 1024), {NULL, fal_flash_read_128k, fal_flash_write_128k, fal_flash_erase_128k} }; - -static int fal_flash_read_128k(long offset, rt_uint8_t *buf, size_t size) -{ - return stm32_flash_read(stm32_onchip_flash_128k.addr + offset, buf, size); -} -static int fal_flash_write_128k(long offset, const rt_uint8_t *buf, size_t size) -{ - return stm32_flash_write(stm32_onchip_flash_128k.addr + offset, buf, size); -} - -static int fal_flash_erase_128k(long offset, size_t size) -{ - return stm32_flash_erase(stm32_onchip_flash_128k.addr + offset, size); -} - -#endif -#endif /* BSP_USING_ON_CHIP_FLASH */