add fal wdt tmr
This commit is contained in:
@@ -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: 可运行的固件区域
|
||||
|
||||
+25
-4
@@ -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
|
||||
|
||||
@@ -0,0 +1,30 @@
|
||||
#include <rtthread.h>
|
||||
#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 <rtdbg.h>
|
||||
|
||||
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);
|
||||
|
||||
|
||||
@@ -0,0 +1,177 @@
|
||||
|
||||
#include <string.h>
|
||||
|
||||
#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 <rtdbg.h>
|
||||
|
||||
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 <start|stop>\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
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,39 @@
|
||||
#ifndef __CHRG_TMR_H__
|
||||
#define __CHRG_TMR_H__
|
||||
|
||||
#include <rtthread.h>
|
||||
#include <rtdevice.h>
|
||||
|
||||
|
||||
#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
|
||||
|
||||
|
||||
@@ -0,0 +1,48 @@
|
||||
|
||||
#include <rtthread.h>
|
||||
#include <rtdevice.h>
|
||||
|
||||
#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);
|
||||
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
#ifndef __CHRG_WDT_H__
|
||||
#define __CHRG_WDT_H__
|
||||
|
||||
#include <rtthread.h>
|
||||
#include <rtdevice.h>
|
||||
|
||||
|
||||
#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
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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 */
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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')
|
||||
@@ -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 <rtthread.h>
|
||||
#include <board.h>
|
||||
|
||||
#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_ */
|
||||
+490
-213
File diff suppressed because it is too large
Load Diff
@@ -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 */
|
||||
|
||||
@@ -274,7 +274,7 @@
|
||||
</OCR_RVCT3>
|
||||
<OCR_RVCT4>
|
||||
<Type>1</Type>
|
||||
<StartAddress>0x8010000</StartAddress>
|
||||
<StartAddress>0x8040000</StartAddress>
|
||||
<Size>0x40000</Size>
|
||||
</OCR_RVCT4>
|
||||
<OCR_RVCT5>
|
||||
|
||||
Reference in New Issue
Block a user