Compare commits
2 Commits
ff554a472c
...
0d9aa2d8d2
| Author | SHA1 | Date |
|---|---|---|
|
|
0d9aa2d8d2 | |
|
|
9b1b5a75ff |
80
.mxproject
80
.mxproject
File diff suppressed because one or more lines are too long
|
|
@ -148,7 +148,7 @@
|
||||||
* @brief This is the HAL system configuration section
|
* @brief This is the HAL system configuration section
|
||||||
*/
|
*/
|
||||||
#define VDD_VALUE 3300U /*!< Value of VDD in mv */
|
#define VDD_VALUE 3300U /*!< Value of VDD in mv */
|
||||||
#define TICK_INT_PRIORITY 4U /*!< tick interrupt priority */
|
#define TICK_INT_PRIORITY 15U /*!< tick interrupt priority */
|
||||||
#define USE_RTOS 0U
|
#define USE_RTOS 0U
|
||||||
#define PREFETCH_ENABLE 1U
|
#define PREFETCH_ENABLE 1U
|
||||||
#define INSTRUCTION_CACHE_ENABLE 1U
|
#define INSTRUCTION_CACHE_ENABLE 1U
|
||||||
|
|
|
||||||
|
|
@ -51,7 +51,10 @@ void HardFault_Handler(void);
|
||||||
void MemManage_Handler(void);
|
void MemManage_Handler(void);
|
||||||
void BusFault_Handler(void);
|
void BusFault_Handler(void);
|
||||||
void UsageFault_Handler(void);
|
void UsageFault_Handler(void);
|
||||||
|
void SVC_Handler(void);
|
||||||
void DebugMon_Handler(void);
|
void DebugMon_Handler(void);
|
||||||
|
void PendSV_Handler(void);
|
||||||
|
void SysTick_Handler(void);
|
||||||
void USART1_IRQHandler(void);
|
void USART1_IRQHandler(void);
|
||||||
void TIM6_DAC_IRQHandler(void);
|
void TIM6_DAC_IRQHandler(void);
|
||||||
void DMA2_Stream2_IRQHandler(void);
|
void DMA2_Stream2_IRQHandler(void);
|
||||||
|
|
|
||||||
|
|
@ -44,7 +44,7 @@ void MX_DMA_Init(void)
|
||||||
|
|
||||||
/* DMA interrupt init */
|
/* DMA interrupt init */
|
||||||
/* DMA2_Stream2_IRQn interrupt configuration */
|
/* DMA2_Stream2_IRQn interrupt configuration */
|
||||||
HAL_NVIC_SetPriority(DMA2_Stream2_IRQn, 5, 0);
|
HAL_NVIC_SetPriority(DMA2_Stream2_IRQn, 0, 0);
|
||||||
HAL_NVIC_EnableIRQ(DMA2_Stream2_IRQn);
|
HAL_NVIC_EnableIRQ(DMA2_Stream2_IRQn);
|
||||||
/* DMA2_Stream3_IRQn interrupt configuration */
|
/* DMA2_Stream3_IRQn interrupt configuration */
|
||||||
HAL_NVIC_SetPriority(DMA2_Stream3_IRQn, 15, 0);
|
HAL_NVIC_SetPriority(DMA2_Stream3_IRQn, 15, 0);
|
||||||
|
|
@ -53,7 +53,7 @@ void MX_DMA_Init(void)
|
||||||
HAL_NVIC_SetPriority(DMA2_Stream6_IRQn, 15, 0);
|
HAL_NVIC_SetPriority(DMA2_Stream6_IRQn, 15, 0);
|
||||||
HAL_NVIC_EnableIRQ(DMA2_Stream6_IRQn);
|
HAL_NVIC_EnableIRQ(DMA2_Stream6_IRQn);
|
||||||
/* DMA2_Stream7_IRQn interrupt configuration */
|
/* DMA2_Stream7_IRQn interrupt configuration */
|
||||||
HAL_NVIC_SetPriority(DMA2_Stream7_IRQn, 5, 0);
|
HAL_NVIC_SetPriority(DMA2_Stream7_IRQn, 0, 0);
|
||||||
HAL_NVIC_EnableIRQ(DMA2_Stream7_IRQn);
|
HAL_NVIC_EnableIRQ(DMA2_Stream7_IRQn);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -56,7 +56,6 @@ osThreadId defaultTaskHandle;
|
||||||
|
|
||||||
void StartDefaultTask(void const * argument);
|
void StartDefaultTask(void const * argument);
|
||||||
|
|
||||||
extern void MX_USB_DEVICE_Init(void);
|
|
||||||
void MX_FREERTOS_Init(void); /* (MISRA C 2004 rule 8.1) */
|
void MX_FREERTOS_Init(void); /* (MISRA C 2004 rule 8.1) */
|
||||||
|
|
||||||
/* GetIdleTaskMemory prototype (linked to static allocation support) */
|
/* GetIdleTaskMemory prototype (linked to static allocation support) */
|
||||||
|
|
@ -121,8 +120,6 @@ void MX_FREERTOS_Init(void) {
|
||||||
/* USER CODE END Header_StartDefaultTask */
|
/* USER CODE END Header_StartDefaultTask */
|
||||||
void StartDefaultTask(void const * argument)
|
void StartDefaultTask(void const * argument)
|
||||||
{
|
{
|
||||||
/* init code for USB_DEVICE */
|
|
||||||
MX_USB_DEVICE_Init();
|
|
||||||
/* USER CODE BEGIN StartDefaultTask */
|
/* USER CODE BEGIN StartDefaultTask */
|
||||||
/* Infinite loop */
|
/* Infinite loop */
|
||||||
for(;;)
|
for(;;)
|
||||||
|
|
|
||||||
|
|
@ -18,7 +18,6 @@
|
||||||
/* USER CODE END Header */
|
/* USER CODE END Header */
|
||||||
/* Includes ------------------------------------------------------------------*/
|
/* Includes ------------------------------------------------------------------*/
|
||||||
#include "main.h"
|
#include "main.h"
|
||||||
#include "cmsis_os.h"
|
|
||||||
#include "dma.h"
|
#include "dma.h"
|
||||||
#include "fatfs.h"
|
#include "fatfs.h"
|
||||||
#include "rtc.h"
|
#include "rtc.h"
|
||||||
|
|
@ -59,7 +58,6 @@
|
||||||
|
|
||||||
/* Private function prototypes -----------------------------------------------*/
|
/* Private function prototypes -----------------------------------------------*/
|
||||||
void SystemClock_Config(void);
|
void SystemClock_Config(void);
|
||||||
void MX_FREERTOS_Init(void);
|
|
||||||
/* USER CODE BEGIN PFP */
|
/* USER CODE BEGIN PFP */
|
||||||
|
|
||||||
/* USER CODE END PFP */
|
/* USER CODE END PFP */
|
||||||
|
|
@ -103,6 +101,7 @@ int main(void)
|
||||||
MX_FATFS_Init();
|
MX_FATFS_Init();
|
||||||
MX_USART1_UART_Init();
|
MX_USART1_UART_Init();
|
||||||
MX_SPI3_Init();
|
MX_SPI3_Init();
|
||||||
|
MX_USB_DEVICE_Init();
|
||||||
/* USER CODE BEGIN 2 */
|
/* USER CODE BEGIN 2 */
|
||||||
my_mem_init(SRAMIN); // Initialize internal memory pool 1
|
my_mem_init(SRAMIN); // Initialize internal memory pool 1
|
||||||
my_mem_init(SRAMEX); // Initialize external memory pool 2
|
my_mem_init(SRAMEX); // Initialize external memory pool 2
|
||||||
|
|
@ -110,13 +109,6 @@ int main(void)
|
||||||
app_init();
|
app_init();
|
||||||
/* USER CODE END 2 */
|
/* USER CODE END 2 */
|
||||||
|
|
||||||
/* Call init function for freertos objects (in freertos.c) */
|
|
||||||
MX_FREERTOS_Init();
|
|
||||||
|
|
||||||
/* Start scheduler */
|
|
||||||
osKernelStart();
|
|
||||||
|
|
||||||
/* We should never get here as control is now taken by the scheduler */
|
|
||||||
/* Infinite loop */
|
/* Infinite loop */
|
||||||
/* USER CODE BEGIN WHILE */
|
/* USER CODE BEGIN WHILE */
|
||||||
while (1)
|
while (1)
|
||||||
|
|
@ -124,6 +116,7 @@ int main(void)
|
||||||
/* USER CODE END WHILE */
|
/* USER CODE END WHILE */
|
||||||
|
|
||||||
/* USER CODE BEGIN 3 */
|
/* USER CODE BEGIN 3 */
|
||||||
|
app_run();
|
||||||
}
|
}
|
||||||
/* USER CODE END 3 */
|
/* USER CODE END 3 */
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -71,8 +71,6 @@ void HAL_MspInit(void)
|
||||||
__HAL_RCC_PWR_CLK_ENABLE();
|
__HAL_RCC_PWR_CLK_ENABLE();
|
||||||
|
|
||||||
/* System interrupt init*/
|
/* System interrupt init*/
|
||||||
/* PendSV_IRQn interrupt configuration */
|
|
||||||
HAL_NVIC_SetPriority(PendSV_IRQn, 15, 0);
|
|
||||||
|
|
||||||
/* USER CODE BEGIN MspInit 1 */
|
/* USER CODE BEGIN MspInit 1 */
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -23,6 +23,7 @@
|
||||||
/* Private includes ----------------------------------------------------------*/
|
/* Private includes ----------------------------------------------------------*/
|
||||||
/* USER CODE BEGIN Includes */
|
/* USER CODE BEGIN Includes */
|
||||||
#include "sgl.h"
|
#include "sgl.h"
|
||||||
|
#include "flow_core.h"
|
||||||
/* USER CODE END Includes */
|
/* USER CODE END Includes */
|
||||||
|
|
||||||
/* Private typedef -----------------------------------------------------------*/
|
/* Private typedef -----------------------------------------------------------*/
|
||||||
|
|
@ -146,6 +147,20 @@ void UsageFault_Handler(void)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief This function handles System service call via SWI instruction.
|
||||||
|
* NOTE: Handled by FreeRTOS port.c
|
||||||
|
*/
|
||||||
|
// void SVC_Handler(void)
|
||||||
|
//{
|
||||||
|
// /* USER CODE BEGIN SVCall_IRQn 0 */
|
||||||
|
//
|
||||||
|
// /* USER CODE END SVCall_IRQn 0 */
|
||||||
|
// /* USER CODE BEGIN SVCall_IRQn 1 */
|
||||||
|
//
|
||||||
|
// /* USER CODE END SVCall_IRQn 1 */
|
||||||
|
// }
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief This function handles Debug monitor.
|
* @brief This function handles Debug monitor.
|
||||||
*/
|
*/
|
||||||
|
|
@ -159,6 +174,35 @@ void DebugMon_Handler(void)
|
||||||
/* USER CODE END DebugMonitor_IRQn 1 */
|
/* USER CODE END DebugMonitor_IRQn 1 */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief This function handles Pendable request for system service.
|
||||||
|
* NOTE: Handled by FreeRTOS port.c
|
||||||
|
*/
|
||||||
|
// void PendSV_Handler(void)
|
||||||
|
//{
|
||||||
|
// /* USER CODE BEGIN PendSV_IRQn 0 */
|
||||||
|
//
|
||||||
|
// /* USER CODE END PendSV_IRQn 0 */
|
||||||
|
// /* USER CODE BEGIN PendSV_IRQn 1 */
|
||||||
|
//
|
||||||
|
// /* USER CODE END PendSV_IRQn 1 */
|
||||||
|
// }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief This function handles System tick timer.
|
||||||
|
* NOTE: Handled by FreeRTOS port.c
|
||||||
|
*/
|
||||||
|
// void SysTick_Handler(void)
|
||||||
|
//{
|
||||||
|
// /* USER CODE BEGIN SysTick_IRQn 0 */
|
||||||
|
//
|
||||||
|
// /* USER CODE END SysTick_IRQn 0 */
|
||||||
|
//
|
||||||
|
// /* USER CODE BEGIN SysTick_IRQn 1 */
|
||||||
|
//
|
||||||
|
// /* USER CODE END SysTick_IRQn 1 */
|
||||||
|
// }
|
||||||
|
|
||||||
/******************************************************************************/
|
/******************************************************************************/
|
||||||
/* STM32F4xx Peripheral Interrupt Handlers */
|
/* STM32F4xx Peripheral Interrupt Handlers */
|
||||||
/* Add here the Interrupt Handlers for the used peripherals. */
|
/* Add here the Interrupt Handlers for the used peripherals. */
|
||||||
|
|
@ -193,6 +237,7 @@ void TIM6_DAC_IRQHandler(void)
|
||||||
{
|
{
|
||||||
/* USER CODE BEGIN TIM6_DAC_IRQn 0 */
|
/* USER CODE BEGIN TIM6_DAC_IRQn 0 */
|
||||||
sgl_tick_inc(1);
|
sgl_tick_inc(1);
|
||||||
|
FLOW_TICK_UPDATE();
|
||||||
/* USER CODE END TIM6_DAC_IRQn 0 */
|
/* USER CODE END TIM6_DAC_IRQn 0 */
|
||||||
HAL_TIM_IRQHandler(&htim6);
|
HAL_TIM_IRQHandler(&htim6);
|
||||||
/* USER CODE BEGIN TIM6_DAC_IRQn 1 */
|
/* USER CODE BEGIN TIM6_DAC_IRQn 1 */
|
||||||
|
|
|
||||||
|
|
@ -120,7 +120,7 @@ void HAL_UART_MspInit(UART_HandleTypeDef* uartHandle)
|
||||||
__HAL_LINKDMA(uartHandle,hdmatx,hdma_usart1_tx);
|
__HAL_LINKDMA(uartHandle,hdmatx,hdma_usart1_tx);
|
||||||
|
|
||||||
/* USART1 interrupt Init */
|
/* USART1 interrupt Init */
|
||||||
HAL_NVIC_SetPriority(USART1_IRQn, 5, 0);
|
HAL_NVIC_SetPriority(USART1_IRQn, 0, 0);
|
||||||
HAL_NVIC_EnableIRQ(USART1_IRQn);
|
HAL_NVIC_EnableIRQ(USART1_IRQn);
|
||||||
/* USER CODE BEGIN USART1_MspInit 1 */
|
/* USER CODE BEGIN USART1_MspInit 1 */
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -25,7 +25,6 @@
|
||||||
#include "main.h"
|
#include "main.h"
|
||||||
#include "stm32f4xx_hal.h"
|
#include "stm32f4xx_hal.h"
|
||||||
#include "bsp_driver_sd.h"
|
#include "bsp_driver_sd.h"
|
||||||
#include "cmsis_os.h" /* _FS_REENTRANT set to 1 and CMSIS API chosen */
|
|
||||||
|
|
||||||
/*-----------------------------------------------------------------------------/
|
/*-----------------------------------------------------------------------------/
|
||||||
/ Function Configurations
|
/ Function Configurations
|
||||||
|
|
@ -239,11 +238,9 @@
|
||||||
/ can be opened simultaneously under file lock control. Note that the file
|
/ can be opened simultaneously under file lock control. Note that the file
|
||||||
/ lock control is independent of re-entrancy. */
|
/ lock control is independent of re-entrancy. */
|
||||||
|
|
||||||
#define _FS_REENTRANT 1 /* 0:Disable or 1:Enable */
|
#define _FS_REENTRANT 0 /* 0:Disable or 1:Enable */
|
||||||
|
|
||||||
#define _USE_MUTEX 0 /* 0:Disable or 1:Enable */
|
|
||||||
#define _FS_TIMEOUT 1000 /* Timeout period in unit of time ticks */
|
#define _FS_TIMEOUT 1000 /* Timeout period in unit of time ticks */
|
||||||
#define _SYNC_t osSemaphoreId
|
#define _SYNC_t NULL
|
||||||
/* The option _FS_REENTRANT switches the re-entrancy (thread safe) of the FatFs
|
/* The option _FS_REENTRANT switches the re-entrancy (thread safe) of the FatFs
|
||||||
/ module itself. Note that regardless of this option, file access to different
|
/ module itself. Note that regardless of this option, file access to different
|
||||||
/ volume is always re-entrant and volume control functions, f_mount(), f_mkfs()
|
/ volume is always re-entrant and volume control functions, f_mount(), f_mkfs()
|
||||||
|
|
@ -261,10 +258,11 @@
|
||||||
/ SemaphoreHandle_t and etc.. A header file for O/S definitions needs to be
|
/ SemaphoreHandle_t and etc.. A header file for O/S definitions needs to be
|
||||||
/ included somewhere in the scope of ff.h. */
|
/ included somewhere in the scope of ff.h. */
|
||||||
|
|
||||||
/* define the ff_malloc ff_free macros as FreeRTOS pvPortMalloc and vPortFree macros */
|
/* define the ff_malloc ff_free macros as standard malloc free */
|
||||||
#if !defined(ff_malloc) && !defined(ff_free)
|
#if !defined(ff_malloc) && !defined(ff_free)
|
||||||
#define ff_malloc pvPortMalloc
|
#include <stdlib.h>
|
||||||
#define ff_free vPortFree
|
#define ff_malloc malloc
|
||||||
|
#define ff_free free
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif /* _FFCONF */
|
#endif /* _FFCONF */
|
||||||
|
|
|
||||||
|
|
@ -17,8 +17,8 @@
|
||||||
*/
|
*/
|
||||||
/* USER CODE END Header */
|
/* USER CODE END Header */
|
||||||
|
|
||||||
/* Note: code generation based on sd_diskio_dma_rtos_template_bspv1.c v2.1.4
|
/* Note: code generation based on sd_diskio_template_bspv1.c v2.1.4
|
||||||
as FreeRTOS is enabled. */
|
as "Use dma template" is disabled. */
|
||||||
|
|
||||||
/* USER CODE BEGIN firstSection */
|
/* USER CODE BEGIN firstSection */
|
||||||
/* can be used to modify / undefine following code or add new definitions */
|
/* can be used to modify / undefine following code or add new definitions */
|
||||||
|
|
@ -28,33 +28,16 @@
|
||||||
#include "ff_gen_drv.h"
|
#include "ff_gen_drv.h"
|
||||||
#include "sd_diskio.h"
|
#include "sd_diskio.h"
|
||||||
|
|
||||||
#include <string.h>
|
|
||||||
#include <stdio.h>
|
|
||||||
|
|
||||||
/* Private typedef -----------------------------------------------------------*/
|
/* Private typedef -----------------------------------------------------------*/
|
||||||
/* Private define ------------------------------------------------------------*/
|
/* Private define ------------------------------------------------------------*/
|
||||||
|
/* use the default SD timout as defined in the platform BSP driver*/
|
||||||
#define QUEUE_SIZE (uint32_t) 10
|
#if defined(SDMMC_DATATIMEOUT)
|
||||||
#define READ_CPLT_MSG (uint32_t) 1
|
#define SD_TIMEOUT SDMMC_DATATIMEOUT
|
||||||
#define WRITE_CPLT_MSG (uint32_t) 2
|
#elif defined(SD_DATATIMEOUT)
|
||||||
/*
|
#define SD_TIMEOUT SD_DATATIMEOUT
|
||||||
==================================================================
|
#else
|
||||||
enable the defines below to send custom rtos messages
|
|
||||||
when an error or an abort occurs.
|
|
||||||
Notice: depending on the HAL/SD driver the HAL_SD_ErrorCallback()
|
|
||||||
may not be available.
|
|
||||||
See BSP_SD_ErrorCallback() and BSP_SD_AbortCallback() below
|
|
||||||
==================================================================
|
|
||||||
|
|
||||||
#define RW_ERROR_MSG (uint32_t) 3
|
|
||||||
#define RW_ABORT_MSG (uint32_t) 4
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* the following Timeout is useful to give the control back to the applications
|
|
||||||
* in case of errors in either BSP_SD_ReadCpltCallback() or BSP_SD_WriteCpltCallback()
|
|
||||||
* the value by default is as defined in the BSP platform driver otherwise 30 secs
|
|
||||||
*/
|
|
||||||
#define SD_TIMEOUT 30 * 1000
|
#define SD_TIMEOUT 30 * 1000
|
||||||
|
#endif
|
||||||
|
|
||||||
#define SD_DEFAULT_BLOCK_SIZE 512
|
#define SD_DEFAULT_BLOCK_SIZE 512
|
||||||
|
|
||||||
|
|
@ -68,41 +51,10 @@ See BSP_SD_ErrorCallback() and BSP_SD_AbortCallback() below
|
||||||
/* #define DISABLE_SD_INIT */
|
/* #define DISABLE_SD_INIT */
|
||||||
/* USER CODE END disableSDInit */
|
/* USER CODE END disableSDInit */
|
||||||
|
|
||||||
/*
|
|
||||||
* when using cacheable memory region, it may be needed to maintain the cache
|
|
||||||
* validity. Enable the define below to activate a cache maintenance at each
|
|
||||||
* read and write operation.
|
|
||||||
* Notice: This is applicable only for cortex M7 based platform.
|
|
||||||
*/
|
|
||||||
/* USER CODE BEGIN enableSDDmaCacheMaintenance */
|
|
||||||
/* #define ENABLE_SD_DMA_CACHE_MAINTENANCE 1 */
|
|
||||||
/* USER CODE END enableSDDmaCacheMaintenance */
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Some DMA requires 4-Byte aligned address buffer to correctly read/write data,
|
|
||||||
* in FatFs some accesses aren't thus we need a 4-byte aligned scratch buffer to correctly
|
|
||||||
* transfer data
|
|
||||||
*/
|
|
||||||
/* USER CODE BEGIN enableScratchBuffer */
|
|
||||||
/* #define ENABLE_SCRATCH_BUFFER */
|
|
||||||
/* USER CODE END enableScratchBuffer */
|
|
||||||
|
|
||||||
/* Private variables ---------------------------------------------------------*/
|
/* Private variables ---------------------------------------------------------*/
|
||||||
#if defined(ENABLE_SCRATCH_BUFFER)
|
|
||||||
#if defined (ENABLE_SD_DMA_CACHE_MAINTENANCE)
|
|
||||||
ALIGN_32BYTES(static uint8_t scratch[BLOCKSIZE]); // 32-Byte aligned for cache maintenance
|
|
||||||
#else
|
|
||||||
__ALIGN_BEGIN static uint8_t scratch[BLOCKSIZE] __ALIGN_END;
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
/* Disk status */
|
/* Disk status */
|
||||||
static volatile DSTATUS Stat = STA_NOINIT;
|
static volatile DSTATUS Stat = STA_NOINIT;
|
||||||
|
|
||||||
#if (osCMSIS <= 0x20000U)
|
|
||||||
static osMessageQId SDQueueID = NULL;
|
|
||||||
#else
|
|
||||||
static osMessageQueueId_t SDQueueID = NULL;
|
|
||||||
#endif
|
|
||||||
/* Private function prototypes -----------------------------------------------*/
|
/* Private function prototypes -----------------------------------------------*/
|
||||||
static DSTATUS SD_CheckStatus(BYTE lun);
|
static DSTATUS SD_CheckStatus(BYTE lun);
|
||||||
DSTATUS SD_initialize (BYTE);
|
DSTATUS SD_initialize (BYTE);
|
||||||
|
|
@ -135,32 +87,11 @@ const Diskio_drvTypeDef SD_Driver =
|
||||||
|
|
||||||
/* Private functions ---------------------------------------------------------*/
|
/* Private functions ---------------------------------------------------------*/
|
||||||
|
|
||||||
static int SD_CheckStatusWithTimeout(uint32_t timeout)
|
|
||||||
{
|
|
||||||
uint32_t timer;
|
|
||||||
/* block until SDIO peripheral is ready again or a timeout occur */
|
|
||||||
#if (osCMSIS <= 0x20000U)
|
|
||||||
timer = osKernelSysTick();
|
|
||||||
while( osKernelSysTick() - timer < timeout)
|
|
||||||
#else
|
|
||||||
timer = osKernelGetTickCount();
|
|
||||||
while( osKernelGetTickCount() - timer < timeout)
|
|
||||||
#endif
|
|
||||||
{
|
|
||||||
if (BSP_SD_GetCardState() == SD_TRANSFER_OK)
|
|
||||||
{
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
static DSTATUS SD_CheckStatus(BYTE lun)
|
static DSTATUS SD_CheckStatus(BYTE lun)
|
||||||
{
|
{
|
||||||
Stat = STA_NOINIT;
|
Stat = STA_NOINIT;
|
||||||
|
|
||||||
if(BSP_SD_GetCardState() == SD_TRANSFER_OK)
|
if(BSP_SD_GetCardState() == MSD_OK)
|
||||||
{
|
{
|
||||||
Stat &= ~STA_NOINIT;
|
Stat &= ~STA_NOINIT;
|
||||||
}
|
}
|
||||||
|
|
@ -177,51 +108,17 @@ DSTATUS SD_initialize(BYTE lun)
|
||||||
{
|
{
|
||||||
Stat = STA_NOINIT;
|
Stat = STA_NOINIT;
|
||||||
|
|
||||||
/*
|
|
||||||
* check that the kernel has been started before continuing
|
|
||||||
* as the osMessage API will fail otherwise
|
|
||||||
*/
|
|
||||||
#if (osCMSIS <= 0x20000U)
|
|
||||||
if(osKernelRunning())
|
|
||||||
#else
|
|
||||||
if(osKernelGetState() == osKernelRunning)
|
|
||||||
#endif
|
|
||||||
{
|
|
||||||
#if !defined(DISABLE_SD_INIT)
|
#if !defined(DISABLE_SD_INIT)
|
||||||
|
|
||||||
if(BSP_SD_Init() == MSD_OK)
|
if(BSP_SD_Init() == MSD_OK)
|
||||||
{
|
{
|
||||||
Stat = SD_CheckStatus(lun);
|
|
||||||
}
|
|
||||||
|
|
||||||
#else
|
|
||||||
Stat = SD_CheckStatus(lun);
|
Stat = SD_CheckStatus(lun);
|
||||||
#endif
|
|
||||||
|
|
||||||
/*
|
|
||||||
* if the SD is correctly initialized, create the operation queue
|
|
||||||
* if not already created
|
|
||||||
*/
|
|
||||||
|
|
||||||
if (Stat != STA_NOINIT)
|
|
||||||
{
|
|
||||||
if (SDQueueID == NULL)
|
|
||||||
{
|
|
||||||
#if (osCMSIS <= 0x20000U)
|
|
||||||
osMessageQDef(SD_Queue, QUEUE_SIZE, uint16_t);
|
|
||||||
SDQueueID = osMessageCreate (osMessageQ(SD_Queue), NULL);
|
|
||||||
#else
|
|
||||||
SDQueueID = osMessageQueueNew(QUEUE_SIZE, 2, NULL);
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
if (SDQueueID == NULL)
|
|
||||||
{
|
|
||||||
Stat |= STA_NOINIT;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#else
|
||||||
|
Stat = SD_CheckStatus(lun);
|
||||||
|
#endif
|
||||||
|
|
||||||
return Stat;
|
return Stat;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -249,149 +146,19 @@ DSTATUS SD_status(BYTE lun)
|
||||||
|
|
||||||
DRESULT SD_read(BYTE lun, BYTE *buff, DWORD sector, UINT count)
|
DRESULT SD_read(BYTE lun, BYTE *buff, DWORD sector, UINT count)
|
||||||
{
|
{
|
||||||
uint8_t ret;
|
|
||||||
DRESULT res = RES_ERROR;
|
DRESULT res = RES_ERROR;
|
||||||
uint32_t timer;
|
|
||||||
#if (osCMSIS < 0x20000U)
|
|
||||||
osEvent event;
|
|
||||||
#else
|
|
||||||
uint16_t event;
|
|
||||||
osStatus_t status;
|
|
||||||
#endif
|
|
||||||
#if (ENABLE_SD_DMA_CACHE_MAINTENANCE == 1)
|
|
||||||
uint32_t alignedAddr;
|
|
||||||
#endif
|
|
||||||
/*
|
|
||||||
* ensure the SDCard is ready for a new operation
|
|
||||||
*/
|
|
||||||
|
|
||||||
if (SD_CheckStatusWithTimeout(SD_TIMEOUT) < 0)
|
if(BSP_SD_ReadBlocks((uint32_t*)buff,
|
||||||
|
(uint32_t) (sector),
|
||||||
|
count, SD_TIMEOUT) == MSD_OK)
|
||||||
{
|
{
|
||||||
return res;
|
/* wait until the read operation is finished */
|
||||||
|
while(BSP_SD_GetCardState()!= MSD_OK)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
res = RES_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(ENABLE_SCRATCH_BUFFER)
|
|
||||||
if (!((uint32_t)buff & 0x3))
|
|
||||||
{
|
|
||||||
#endif
|
|
||||||
/* Fast path cause destination buffer is correctly aligned */
|
|
||||||
ret = BSP_SD_ReadBlocks_DMA((uint32_t*)buff, (uint32_t)(sector), count);
|
|
||||||
|
|
||||||
if (ret == MSD_OK) {
|
|
||||||
#if (osCMSIS < 0x20000U)
|
|
||||||
/* wait for a message from the queue or a timeout */
|
|
||||||
event = osMessageGet(SDQueueID, SD_TIMEOUT);
|
|
||||||
|
|
||||||
if (event.status == osEventMessage)
|
|
||||||
{
|
|
||||||
if (event.value.v == READ_CPLT_MSG)
|
|
||||||
{
|
|
||||||
timer = osKernelSysTick();
|
|
||||||
/* block until SDIO IP is ready or a timeout occur */
|
|
||||||
while(osKernelSysTick() - timer <SD_TIMEOUT)
|
|
||||||
#else
|
|
||||||
status = osMessageQueueGet(SDQueueID, (void *)&event, NULL, SD_TIMEOUT);
|
|
||||||
if ((status == osOK) && (event == READ_CPLT_MSG))
|
|
||||||
{
|
|
||||||
timer = osKernelGetTickCount();
|
|
||||||
/* block until SDIO IP is ready or a timeout occur */
|
|
||||||
while(osKernelGetTickCount() - timer <SD_TIMEOUT)
|
|
||||||
#endif
|
|
||||||
{
|
|
||||||
if (BSP_SD_GetCardState() == SD_TRANSFER_OK)
|
|
||||||
{
|
|
||||||
res = RES_OK;
|
|
||||||
#if (ENABLE_SD_DMA_CACHE_MAINTENANCE == 1)
|
|
||||||
/*
|
|
||||||
the SCB_InvalidateDCache_by_Addr() requires a 32-Byte aligned address,
|
|
||||||
adjust the address and the D-Cache size to invalidate accordingly.
|
|
||||||
*/
|
|
||||||
alignedAddr = (uint32_t)buff & ~0x1F;
|
|
||||||
SCB_InvalidateDCache_by_Addr((uint32_t*)alignedAddr, count*BLOCKSIZE + ((uint32_t)buff - alignedAddr));
|
|
||||||
#endif
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#if (osCMSIS < 0x20000U)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#else
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
#if defined(ENABLE_SCRATCH_BUFFER)
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
/* Slow path, fetch each sector a part and memcpy to destination buffer */
|
|
||||||
int i;
|
|
||||||
|
|
||||||
for (i = 0; i < count; i++)
|
|
||||||
{
|
|
||||||
ret = BSP_SD_ReadBlocks_DMA((uint32_t*)scratch, (uint32_t)sector++, 1);
|
|
||||||
if (ret == MSD_OK )
|
|
||||||
{
|
|
||||||
/* wait until the read is successful or a timeout occurs */
|
|
||||||
#if (osCMSIS < 0x20000U)
|
|
||||||
/* wait for a message from the queue or a timeout */
|
|
||||||
event = osMessageGet(SDQueueID, SD_TIMEOUT);
|
|
||||||
|
|
||||||
if (event.status == osEventMessage)
|
|
||||||
{
|
|
||||||
if (event.value.v == READ_CPLT_MSG)
|
|
||||||
{
|
|
||||||
timer = osKernelSysTick();
|
|
||||||
/* block until SDIO IP is ready or a timeout occur */
|
|
||||||
while(osKernelSysTick() - timer <SD_TIMEOUT)
|
|
||||||
#else
|
|
||||||
status = osMessageQueueGet(SDQueueID, (void *)&event, NULL, SD_TIMEOUT);
|
|
||||||
if ((status == osOK) && (event == READ_CPLT_MSG))
|
|
||||||
{
|
|
||||||
timer = osKernelGetTickCount();
|
|
||||||
/* block until SDIO IP is ready or a timeout occur */
|
|
||||||
ret = MSD_ERROR;
|
|
||||||
while(osKernelGetTickCount() - timer < SD_TIMEOUT)
|
|
||||||
#endif
|
|
||||||
{
|
|
||||||
ret = BSP_SD_GetCardState();
|
|
||||||
|
|
||||||
if (ret == MSD_OK)
|
|
||||||
{
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (ret != MSD_OK)
|
|
||||||
{
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
#if (osCMSIS < 0x20000U)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#else
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
#if (ENABLE_SD_DMA_CACHE_MAINTENANCE == 1)
|
|
||||||
/*
|
|
||||||
*
|
|
||||||
* invalidate the scratch buffer before the next read to get the actual data instead of the cached one
|
|
||||||
*/
|
|
||||||
SCB_InvalidateDCache_by_Addr((uint32_t*)scratch, BLOCKSIZE);
|
|
||||||
#endif
|
|
||||||
memcpy(buff, scratch, BLOCKSIZE);
|
|
||||||
buff += BLOCKSIZE;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if ((i == count) && (ret == MSD_OK ))
|
|
||||||
res = RES_OK;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -411,158 +178,21 @@ DRESULT SD_read(BYTE lun, BYTE *buff, DWORD sector, UINT count)
|
||||||
DRESULT SD_write(BYTE lun, const BYTE *buff, DWORD sector, UINT count)
|
DRESULT SD_write(BYTE lun, const BYTE *buff, DWORD sector, UINT count)
|
||||||
{
|
{
|
||||||
DRESULT res = RES_ERROR;
|
DRESULT res = RES_ERROR;
|
||||||
uint32_t timer;
|
|
||||||
|
|
||||||
#if (osCMSIS < 0x20000U)
|
if(BSP_SD_WriteBlocks((uint32_t*)buff,
|
||||||
osEvent event;
|
(uint32_t)(sector),
|
||||||
#else
|
count, SD_TIMEOUT) == MSD_OK)
|
||||||
uint16_t event;
|
|
||||||
osStatus_t status;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if defined(ENABLE_SCRATCH_BUFFER)
|
|
||||||
int32_t ret;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*
|
|
||||||
* ensure the SDCard is ready for a new operation
|
|
||||||
*/
|
|
||||||
|
|
||||||
if (SD_CheckStatusWithTimeout(SD_TIMEOUT) < 0)
|
|
||||||
{
|
{
|
||||||
return res;
|
/* wait until the Write operation is finished */
|
||||||
}
|
while(BSP_SD_GetCardState() != MSD_OK)
|
||||||
|
|
||||||
#if defined(ENABLE_SCRATCH_BUFFER)
|
|
||||||
if (!((uint32_t)buff & 0x3))
|
|
||||||
{
|
|
||||||
#endif
|
|
||||||
#if (ENABLE_SD_DMA_CACHE_MAINTENANCE == 1)
|
|
||||||
uint32_t alignedAddr;
|
|
||||||
/*
|
|
||||||
the SCB_CleanDCache_by_Addr() requires a 32-Byte aligned address
|
|
||||||
adjust the address and the D-Cache size to clean accordingly.
|
|
||||||
*/
|
|
||||||
alignedAddr = (uint32_t)buff & ~0x1F;
|
|
||||||
SCB_CleanDCache_by_Addr((uint32_t*)alignedAddr, count*BLOCKSIZE + ((uint32_t)buff - alignedAddr));
|
|
||||||
#endif
|
|
||||||
|
|
||||||
if(BSP_SD_WriteBlocks_DMA((uint32_t*)buff,
|
|
||||||
(uint32_t) (sector),
|
|
||||||
count) == MSD_OK)
|
|
||||||
{
|
|
||||||
#if (osCMSIS < 0x20000U)
|
|
||||||
/* Get the message from the queue */
|
|
||||||
event = osMessageGet(SDQueueID, SD_TIMEOUT);
|
|
||||||
|
|
||||||
if (event.status == osEventMessage)
|
|
||||||
{
|
{
|
||||||
if (event.value.v == WRITE_CPLT_MSG)
|
|
||||||
{
|
|
||||||
#else
|
|
||||||
status = osMessageQueueGet(SDQueueID, (void *)&event, NULL, SD_TIMEOUT);
|
|
||||||
if ((status == osOK) && (event == WRITE_CPLT_MSG))
|
|
||||||
{
|
|
||||||
#endif
|
|
||||||
#if (osCMSIS < 0x20000U)
|
|
||||||
timer = osKernelSysTick();
|
|
||||||
/* block until SDIO IP is ready or a timeout occur */
|
|
||||||
while(osKernelSysTick() - timer < SD_TIMEOUT)
|
|
||||||
#else
|
|
||||||
timer = osKernelGetTickCount();
|
|
||||||
/* block until SDIO IP is ready or a timeout occur */
|
|
||||||
while(osKernelGetTickCount() - timer < SD_TIMEOUT)
|
|
||||||
#endif
|
|
||||||
{
|
|
||||||
if (BSP_SD_GetCardState() == SD_TRANSFER_OK)
|
|
||||||
{
|
|
||||||
res = RES_OK;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#if (osCMSIS < 0x20000U)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
#else
|
res = RES_OK;
|
||||||
}
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
#if defined(ENABLE_SCRATCH_BUFFER)
|
|
||||||
else {
|
|
||||||
/* Slow path, fetch each sector a part and memcpy to destination buffer */
|
|
||||||
int i;
|
|
||||||
|
|
||||||
#if (ENABLE_SD_DMA_CACHE_MAINTENANCE == 1)
|
|
||||||
/*
|
|
||||||
* invalidate the scratch buffer before the next write to get the actual data instead of the cached one
|
|
||||||
*/
|
|
||||||
SCB_InvalidateDCache_by_Addr((uint32_t*)scratch, BLOCKSIZE);
|
|
||||||
#endif
|
|
||||||
for (i = 0; i < count; i++)
|
|
||||||
{
|
|
||||||
memcpy((void *)scratch, buff, BLOCKSIZE);
|
|
||||||
buff += BLOCKSIZE;
|
|
||||||
|
|
||||||
ret = BSP_SD_WriteBlocks_DMA((uint32_t*)scratch, (uint32_t)sector++, 1);
|
|
||||||
if (ret == MSD_OK )
|
|
||||||
{
|
|
||||||
/* wait until the read is successful or a timeout occurs */
|
|
||||||
#if (osCMSIS < 0x20000U)
|
|
||||||
/* wait for a message from the queue or a timeout */
|
|
||||||
event = osMessageGet(SDQueueID, SD_TIMEOUT);
|
|
||||||
|
|
||||||
if (event.status == osEventMessage)
|
|
||||||
{
|
|
||||||
if (event.value.v == READ_CPLT_MSG)
|
|
||||||
{
|
|
||||||
timer = osKernelSysTick();
|
|
||||||
/* block until SDIO IP is ready or a timeout occur */
|
|
||||||
while(osKernelSysTick() - timer <SD_TIMEOUT)
|
|
||||||
#else
|
|
||||||
status = osMessageQueueGet(SDQueueID, (void *)&event, NULL, SD_TIMEOUT);
|
|
||||||
if ((status == osOK) && (event == READ_CPLT_MSG))
|
|
||||||
{
|
|
||||||
timer = osKernelGetTickCount();
|
|
||||||
/* block until SDIO IP is ready or a timeout occur */
|
|
||||||
ret = MSD_ERROR;
|
|
||||||
while(osKernelGetTickCount() - timer < SD_TIMEOUT)
|
|
||||||
#endif
|
|
||||||
{
|
|
||||||
ret = BSP_SD_GetCardState();
|
|
||||||
|
|
||||||
if (ret == MSD_OK)
|
|
||||||
{
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (ret != MSD_OK)
|
|
||||||
{
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
#if (osCMSIS < 0x20000U)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#else
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if ((i == count) && (ret == MSD_OK ))
|
|
||||||
res = RES_OK;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
#endif /* _USE_WRITE == 1 */
|
#endif /* _USE_WRITE == 1 */
|
||||||
|
|
||||||
/* USER CODE BEGIN beforeIoctlSection */
|
/* USER CODE BEGIN beforeIoctlSection */
|
||||||
/* can be used to modify previous code / undefine following code / add new code */
|
/* can be used to modify previous code / undefine following code / add new code */
|
||||||
|
|
@ -622,62 +252,6 @@ DRESULT SD_ioctl(BYTE lun, BYTE cmd, void *buff)
|
||||||
/* can be used to modify previous code / undefine following code / add new code */
|
/* can be used to modify previous code / undefine following code / add new code */
|
||||||
/* USER CODE END afterIoctlSection */
|
/* USER CODE END afterIoctlSection */
|
||||||
|
|
||||||
/* USER CODE BEGIN callbackSection */
|
|
||||||
/* can be used to modify / following code or add new code */
|
|
||||||
/* USER CODE END callbackSection */
|
|
||||||
/**
|
|
||||||
* @brief Tx Transfer completed callbacks
|
|
||||||
* @param hsd: SD handle
|
|
||||||
* @retval None
|
|
||||||
*/
|
|
||||||
void BSP_SD_WriteCpltCallback(void)
|
|
||||||
{
|
|
||||||
|
|
||||||
/*
|
|
||||||
* No need to add an "osKernelRunning()" check here, as the SD_initialize()
|
|
||||||
* is always called before any SD_Read()/SD_Write() call
|
|
||||||
*/
|
|
||||||
#if (osCMSIS < 0x20000U)
|
|
||||||
osMessagePut(SDQueueID, WRITE_CPLT_MSG, 0);
|
|
||||||
#else
|
|
||||||
const uint16_t msg = WRITE_CPLT_MSG;
|
|
||||||
osMessageQueuePut(SDQueueID, (const void *)&msg, NULL, 0);
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Rx Transfer completed callbacks
|
|
||||||
* @param hsd: SD handle
|
|
||||||
* @retval None
|
|
||||||
*/
|
|
||||||
void BSP_SD_ReadCpltCallback(void)
|
|
||||||
{
|
|
||||||
/*
|
|
||||||
* No need to add an "osKernelRunning()" check here, as the SD_initialize()
|
|
||||||
* is always called before any SD_Read()/SD_Write() call
|
|
||||||
*/
|
|
||||||
#if (osCMSIS < 0x20000U)
|
|
||||||
osMessagePut(SDQueueID, READ_CPLT_MSG, 0);
|
|
||||||
#else
|
|
||||||
const uint16_t msg = READ_CPLT_MSG;
|
|
||||||
osMessageQueuePut(SDQueueID, (const void *)&msg, NULL, 0);
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
/* USER CODE BEGIN ErrorAbortCallbacks */
|
|
||||||
/*
|
|
||||||
void BSP_SD_AbortCallback(void)
|
|
||||||
{
|
|
||||||
#if (osCMSIS < 0x20000U)
|
|
||||||
osMessagePut(SDQueueID, RW_ABORT_MSG, 0);
|
|
||||||
#else
|
|
||||||
const uint16_t msg = RW_ABORT_MSG;
|
|
||||||
osMessageQueuePut(SDQueueID, (const void *)&msg, 0, 0);
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
/* USER CODE END ErrorAbortCallbacks */
|
|
||||||
|
|
||||||
/* USER CODE BEGIN lastSection */
|
/* USER CODE BEGIN lastSection */
|
||||||
/* can be used to modify / undefine previous code or add new code */
|
/* can be used to modify / undefine previous code or add new code */
|
||||||
/* USER CODE END lastSection */
|
/* USER CODE END lastSection */
|
||||||
|
|
|
||||||
|
|
@ -17,7 +17,7 @@
|
||||||
*/
|
*/
|
||||||
/* USER CODE END Header */
|
/* USER CODE END Header */
|
||||||
|
|
||||||
/* Note: code generation based on sd_diskio_dma_rtos_template.h */
|
/* Note: code generation based on sd_diskio_template.h */
|
||||||
|
|
||||||
/* Define to prevent recursive inclusion -------------------------------------*/
|
/* Define to prevent recursive inclusion -------------------------------------*/
|
||||||
#ifndef __SD_DISKIO_H
|
#ifndef __SD_DISKIO_H
|
||||||
|
|
|
||||||
|
|
@ -16,15 +16,6 @@
|
||||||
*/
|
*/
|
||||||
#define CMSIS_device_header "stm32f4xx.h"
|
#define CMSIS_device_header "stm32f4xx.h"
|
||||||
|
|
||||||
/* LVGL.LVGL::LVGL:lvgl:Benchmark:8.3.5 */
|
|
||||||
/*! \brief enable demo:bencharmk */
|
|
||||||
#define LV_USE_DEMO_BENCHMARK 1
|
|
||||||
/* LVGL.LVGL::LVGL:lvgl:Essential:8.3.5 */
|
|
||||||
/*! \brief Enable LVGL */
|
|
||||||
#define RTE_GRAPHICS_LVGL
|
|
||||||
/* LVGL.LVGL::LVGL:lvgl:Extra Themes:8.3.5 */
|
|
||||||
/*! \brief use extra themes, widgets and layouts */
|
|
||||||
#define RTE_GRAPHICS_LVGL_USE_EXTRA_THEMES
|
|
||||||
|
|
||||||
|
|
||||||
#endif /* RTE_COMPONENTS_H */
|
#endif /* RTE_COMPONENTS_H */
|
||||||
|
|
|
||||||
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
|
|
@ -339,7 +339,7 @@
|
||||||
<MiscControls>--diag_suppress=68 --diag_suppress=111 --diag_suppress=188 --diag_suppress=223 --diag_suppress=546 --diag_suppress=1295</MiscControls>
|
<MiscControls>--diag_suppress=68 --diag_suppress=111 --diag_suppress=188 --diag_suppress=223 --diag_suppress=546 --diag_suppress=1295</MiscControls>
|
||||||
<Define>STM32,USE_HAL_DRIVER,STM32F407xx</Define>
|
<Define>STM32,USE_HAL_DRIVER,STM32F407xx</Define>
|
||||||
<Undefine></Undefine>
|
<Undefine></Undefine>
|
||||||
<IncludePath>../Core/Inc;../Drivers/STM32F4xx_HAL_Driver/Inc;../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy;../Drivers/CMSIS/Device/ST/STM32F4xx/Include;../Drivers/CMSIS/Include;../Middlewares/Third_Party/FreeRTOS/Source/include;../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS;../Middlewares/Third_Party/FreeRTOS/Source/portable/RVDS/ARM_CM4F;../User/application;../User/board;../User/system;../User/system/lib/inc;../User/system/bsp;../FATFS/Target;../FATFS/App;../Middlewares/Third_Party/FatFs/src;../User/system/lib/lcd;../User/system/lib/lcd/gui/Config;../User/system/lib/lcd/gui/Core;../USB_DEVICE/App;../USB_DEVICE/Target;../Middlewares/ST/STM32_USB_Device_Library/Core/Inc;../Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Inc;../User/system/letter_shell;..\User\system\sgl;..\User\system\sgl\include;..\User\system\sgl\widgets;..\User\system\sgl\mm\lwmem</IncludePath>
|
<IncludePath>../Core/Inc;../Drivers/STM32F4xx_HAL_Driver/Inc;../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy;../Drivers/CMSIS/Device/ST/STM32F4xx/Include;../Drivers/CMSIS/Include;../Middlewares/Third_Party/FreeRTOS/Source/include;../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS;../Middlewares/Third_Party/FreeRTOS/Source/portable/RVDS/ARM_CM4F;../User/application;../User/board;../User/system;../User/system/lib/inc;../User/system/bsp;../FATFS/Target;../FATFS/App;../Middlewares/Third_Party/FatFs/src;../User/system/lib/lcd;../User/system/lib/lcd/gui/Config;../User/system/lib/lcd/gui/Core;../USB_DEVICE/App;../USB_DEVICE/Target;../Middlewares/ST/STM32_USB_Device_Library/Core/Inc;../Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Inc;../User/system/letter_shell;../User/system/sgl;../User/system/sgl/include;../User/system/sgl/widgets;../User/system/sgl/mm/lwmem;../User/system/lib/flow</IncludePath>
|
||||||
</VariousControls>
|
</VariousControls>
|
||||||
</Cads>
|
</Cads>
|
||||||
<Aads>
|
<Aads>
|
||||||
|
|
@ -357,7 +357,7 @@
|
||||||
<MiscControls></MiscControls>
|
<MiscControls></MiscControls>
|
||||||
<Define></Define>
|
<Define></Define>
|
||||||
<Undefine></Undefine>
|
<Undefine></Undefine>
|
||||||
<IncludePath>../Core/Inc</IncludePath>
|
<IncludePath></IncludePath>
|
||||||
</VariousControls>
|
</VariousControls>
|
||||||
</Aads>
|
</Aads>
|
||||||
<LDads>
|
<LDads>
|
||||||
|
|
@ -403,62 +403,6 @@
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<FilePath>../Core/Src/gpio.c</FilePath>
|
<FilePath>../Core/Src/gpio.c</FilePath>
|
||||||
</File>
|
</File>
|
||||||
<File>
|
|
||||||
<FileName>freertos.c</FileName>
|
|
||||||
<FileType>1</FileType>
|
|
||||||
<FilePath>../Core/Src/freertos.c</FilePath>
|
|
||||||
<FileOption>
|
|
||||||
<CommonProperty>
|
|
||||||
<UseCPPCompiler>2</UseCPPCompiler>
|
|
||||||
<RVCTCodeConst>0</RVCTCodeConst>
|
|
||||||
<RVCTZI>0</RVCTZI>
|
|
||||||
<RVCTOtherData>0</RVCTOtherData>
|
|
||||||
<ModuleSelection>0</ModuleSelection>
|
|
||||||
<IncludeInBuild>1</IncludeInBuild>
|
|
||||||
<AlwaysBuild>2</AlwaysBuild>
|
|
||||||
<GenerateAssemblyFile>2</GenerateAssemblyFile>
|
|
||||||
<AssembleAssemblyFile>2</AssembleAssemblyFile>
|
|
||||||
<PublicsOnly>2</PublicsOnly>
|
|
||||||
<StopOnExitCode>11</StopOnExitCode>
|
|
||||||
<CustomArgument></CustomArgument>
|
|
||||||
<IncludeLibraryModules></IncludeLibraryModules>
|
|
||||||
<ComprImg>1</ComprImg>
|
|
||||||
</CommonProperty>
|
|
||||||
<FileArmAds>
|
|
||||||
<Cads>
|
|
||||||
<interw>2</interw>
|
|
||||||
<Optim>0</Optim>
|
|
||||||
<oTime>2</oTime>
|
|
||||||
<SplitLS>2</SplitLS>
|
|
||||||
<OneElfS>2</OneElfS>
|
|
||||||
<Strict>2</Strict>
|
|
||||||
<EnumInt>2</EnumInt>
|
|
||||||
<PlainCh>2</PlainCh>
|
|
||||||
<Ropi>2</Ropi>
|
|
||||||
<Rwpi>2</Rwpi>
|
|
||||||
<wLevel>0</wLevel>
|
|
||||||
<uThumb>2</uThumb>
|
|
||||||
<uSurpInc>2</uSurpInc>
|
|
||||||
<uC99>2</uC99>
|
|
||||||
<uGnu>2</uGnu>
|
|
||||||
<useXO>2</useXO>
|
|
||||||
<v6Lang>0</v6Lang>
|
|
||||||
<v6LangP>0</v6LangP>
|
|
||||||
<vShortEn>2</vShortEn>
|
|
||||||
<vShortWch>2</vShortWch>
|
|
||||||
<v6Lto>2</v6Lto>
|
|
||||||
<v6WtE>2</v6WtE>
|
|
||||||
<v6Rtti>2</v6Rtti>
|
|
||||||
<VariousControls>
|
|
||||||
<MiscControls></MiscControls>
|
|
||||||
<Define></Define>
|
|
||||||
<Undefine></Undefine>
|
|
||||||
<IncludePath></IncludePath>
|
|
||||||
</VariousControls>
|
|
||||||
</Cads>
|
|
||||||
</FileArmAds>
|
|
||||||
</FileOption>
|
|
||||||
</File>
|
|
||||||
<File>
|
<File>
|
||||||
<FileName>dma.c</FileName>
|
<FileName>dma.c</FileName>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
|
|
@ -739,6 +683,11 @@
|
||||||
</FileArmAds>
|
</FileArmAds>
|
||||||
</FileOption>
|
</FileOption>
|
||||||
</File>
|
</File>
|
||||||
|
<File>
|
||||||
|
<FileName>freertos.c</FileName>
|
||||||
|
<FileType>1</FileType>
|
||||||
|
<FilePath>../Core/Src/freertos.c</FilePath>
|
||||||
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<FileName>stm32f4xx_it.c</FileName>
|
<FileName>stm32f4xx_it.c</FileName>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
|
|
@ -1401,640 +1350,6 @@
|
||||||
</File>
|
</File>
|
||||||
</Files>
|
</Files>
|
||||||
</Group>
|
</Group>
|
||||||
<Group>
|
|
||||||
<GroupName>Middlewares/FreeRTOS</GroupName>
|
|
||||||
<GroupOption>
|
|
||||||
<CommonProperty>
|
|
||||||
<UseCPPCompiler>0</UseCPPCompiler>
|
|
||||||
<RVCTCodeConst>0</RVCTCodeConst>
|
|
||||||
<RVCTZI>0</RVCTZI>
|
|
||||||
<RVCTOtherData>0</RVCTOtherData>
|
|
||||||
<ModuleSelection>0</ModuleSelection>
|
|
||||||
<IncludeInBuild>2</IncludeInBuild>
|
|
||||||
<AlwaysBuild>2</AlwaysBuild>
|
|
||||||
<GenerateAssemblyFile>2</GenerateAssemblyFile>
|
|
||||||
<AssembleAssemblyFile>2</AssembleAssemblyFile>
|
|
||||||
<PublicsOnly>2</PublicsOnly>
|
|
||||||
<StopOnExitCode>11</StopOnExitCode>
|
|
||||||
<CustomArgument></CustomArgument>
|
|
||||||
<IncludeLibraryModules></IncludeLibraryModules>
|
|
||||||
<ComprImg>1</ComprImg>
|
|
||||||
</CommonProperty>
|
|
||||||
<GroupArmAds>
|
|
||||||
<Cads>
|
|
||||||
<interw>2</interw>
|
|
||||||
<Optim>0</Optim>
|
|
||||||
<oTime>2</oTime>
|
|
||||||
<SplitLS>2</SplitLS>
|
|
||||||
<OneElfS>2</OneElfS>
|
|
||||||
<Strict>2</Strict>
|
|
||||||
<EnumInt>2</EnumInt>
|
|
||||||
<PlainCh>2</PlainCh>
|
|
||||||
<Ropi>2</Ropi>
|
|
||||||
<Rwpi>2</Rwpi>
|
|
||||||
<wLevel>4</wLevel>
|
|
||||||
<uThumb>2</uThumb>
|
|
||||||
<uSurpInc>2</uSurpInc>
|
|
||||||
<uC99>2</uC99>
|
|
||||||
<uGnu>2</uGnu>
|
|
||||||
<useXO>2</useXO>
|
|
||||||
<v6Lang>0</v6Lang>
|
|
||||||
<v6LangP>0</v6LangP>
|
|
||||||
<vShortEn>2</vShortEn>
|
|
||||||
<vShortWch>2</vShortWch>
|
|
||||||
<v6Lto>2</v6Lto>
|
|
||||||
<v6WtE>2</v6WtE>
|
|
||||||
<v6Rtti>2</v6Rtti>
|
|
||||||
<VariousControls>
|
|
||||||
<MiscControls></MiscControls>
|
|
||||||
<Define></Define>
|
|
||||||
<Undefine></Undefine>
|
|
||||||
<IncludePath></IncludePath>
|
|
||||||
</VariousControls>
|
|
||||||
</Cads>
|
|
||||||
<Aads>
|
|
||||||
<interw>2</interw>
|
|
||||||
<Ropi>2</Ropi>
|
|
||||||
<Rwpi>2</Rwpi>
|
|
||||||
<thumb>2</thumb>
|
|
||||||
<SplitLS>2</SplitLS>
|
|
||||||
<SwStkChk>2</SwStkChk>
|
|
||||||
<NoWarn>2</NoWarn>
|
|
||||||
<uSurpInc>2</uSurpInc>
|
|
||||||
<useXO>2</useXO>
|
|
||||||
<ClangAsOpt>1</ClangAsOpt>
|
|
||||||
<VariousControls>
|
|
||||||
<MiscControls></MiscControls>
|
|
||||||
<Define></Define>
|
|
||||||
<Undefine></Undefine>
|
|
||||||
<IncludePath></IncludePath>
|
|
||||||
</VariousControls>
|
|
||||||
</Aads>
|
|
||||||
</GroupArmAds>
|
|
||||||
</GroupOption>
|
|
||||||
<Files>
|
|
||||||
<File>
|
|
||||||
<FileName>croutine.c</FileName>
|
|
||||||
<FileType>1</FileType>
|
|
||||||
<FilePath>../Middlewares/Third_Party/FreeRTOS/Source/croutine.c</FilePath>
|
|
||||||
<FileOption>
|
|
||||||
<CommonProperty>
|
|
||||||
<UseCPPCompiler>2</UseCPPCompiler>
|
|
||||||
<RVCTCodeConst>0</RVCTCodeConst>
|
|
||||||
<RVCTZI>0</RVCTZI>
|
|
||||||
<RVCTOtherData>0</RVCTOtherData>
|
|
||||||
<ModuleSelection>0</ModuleSelection>
|
|
||||||
<IncludeInBuild>1</IncludeInBuild>
|
|
||||||
<AlwaysBuild>2</AlwaysBuild>
|
|
||||||
<GenerateAssemblyFile>2</GenerateAssemblyFile>
|
|
||||||
<AssembleAssemblyFile>2</AssembleAssemblyFile>
|
|
||||||
<PublicsOnly>2</PublicsOnly>
|
|
||||||
<StopOnExitCode>11</StopOnExitCode>
|
|
||||||
<CustomArgument></CustomArgument>
|
|
||||||
<IncludeLibraryModules></IncludeLibraryModules>
|
|
||||||
<ComprImg>1</ComprImg>
|
|
||||||
</CommonProperty>
|
|
||||||
<FileArmAds>
|
|
||||||
<Cads>
|
|
||||||
<interw>2</interw>
|
|
||||||
<Optim>0</Optim>
|
|
||||||
<oTime>2</oTime>
|
|
||||||
<SplitLS>2</SplitLS>
|
|
||||||
<OneElfS>2</OneElfS>
|
|
||||||
<Strict>2</Strict>
|
|
||||||
<EnumInt>2</EnumInt>
|
|
||||||
<PlainCh>2</PlainCh>
|
|
||||||
<Ropi>2</Ropi>
|
|
||||||
<Rwpi>2</Rwpi>
|
|
||||||
<wLevel>0</wLevel>
|
|
||||||
<uThumb>2</uThumb>
|
|
||||||
<uSurpInc>2</uSurpInc>
|
|
||||||
<uC99>2</uC99>
|
|
||||||
<uGnu>2</uGnu>
|
|
||||||
<useXO>2</useXO>
|
|
||||||
<v6Lang>0</v6Lang>
|
|
||||||
<v6LangP>0</v6LangP>
|
|
||||||
<vShortEn>2</vShortEn>
|
|
||||||
<vShortWch>2</vShortWch>
|
|
||||||
<v6Lto>2</v6Lto>
|
|
||||||
<v6WtE>2</v6WtE>
|
|
||||||
<v6Rtti>2</v6Rtti>
|
|
||||||
<VariousControls>
|
|
||||||
<MiscControls></MiscControls>
|
|
||||||
<Define></Define>
|
|
||||||
<Undefine></Undefine>
|
|
||||||
<IncludePath></IncludePath>
|
|
||||||
</VariousControls>
|
|
||||||
</Cads>
|
|
||||||
</FileArmAds>
|
|
||||||
</FileOption>
|
|
||||||
</File>
|
|
||||||
<File>
|
|
||||||
<FileName>event_groups.c</FileName>
|
|
||||||
<FileType>1</FileType>
|
|
||||||
<FilePath>../Middlewares/Third_Party/FreeRTOS/Source/event_groups.c</FilePath>
|
|
||||||
<FileOption>
|
|
||||||
<CommonProperty>
|
|
||||||
<UseCPPCompiler>2</UseCPPCompiler>
|
|
||||||
<RVCTCodeConst>0</RVCTCodeConst>
|
|
||||||
<RVCTZI>0</RVCTZI>
|
|
||||||
<RVCTOtherData>0</RVCTOtherData>
|
|
||||||
<ModuleSelection>0</ModuleSelection>
|
|
||||||
<IncludeInBuild>1</IncludeInBuild>
|
|
||||||
<AlwaysBuild>2</AlwaysBuild>
|
|
||||||
<GenerateAssemblyFile>2</GenerateAssemblyFile>
|
|
||||||
<AssembleAssemblyFile>2</AssembleAssemblyFile>
|
|
||||||
<PublicsOnly>2</PublicsOnly>
|
|
||||||
<StopOnExitCode>11</StopOnExitCode>
|
|
||||||
<CustomArgument></CustomArgument>
|
|
||||||
<IncludeLibraryModules></IncludeLibraryModules>
|
|
||||||
<ComprImg>1</ComprImg>
|
|
||||||
</CommonProperty>
|
|
||||||
<FileArmAds>
|
|
||||||
<Cads>
|
|
||||||
<interw>2</interw>
|
|
||||||
<Optim>0</Optim>
|
|
||||||
<oTime>2</oTime>
|
|
||||||
<SplitLS>2</SplitLS>
|
|
||||||
<OneElfS>2</OneElfS>
|
|
||||||
<Strict>2</Strict>
|
|
||||||
<EnumInt>2</EnumInt>
|
|
||||||
<PlainCh>2</PlainCh>
|
|
||||||
<Ropi>2</Ropi>
|
|
||||||
<Rwpi>2</Rwpi>
|
|
||||||
<wLevel>0</wLevel>
|
|
||||||
<uThumb>2</uThumb>
|
|
||||||
<uSurpInc>2</uSurpInc>
|
|
||||||
<uC99>2</uC99>
|
|
||||||
<uGnu>2</uGnu>
|
|
||||||
<useXO>2</useXO>
|
|
||||||
<v6Lang>0</v6Lang>
|
|
||||||
<v6LangP>0</v6LangP>
|
|
||||||
<vShortEn>2</vShortEn>
|
|
||||||
<vShortWch>2</vShortWch>
|
|
||||||
<v6Lto>2</v6Lto>
|
|
||||||
<v6WtE>2</v6WtE>
|
|
||||||
<v6Rtti>2</v6Rtti>
|
|
||||||
<VariousControls>
|
|
||||||
<MiscControls></MiscControls>
|
|
||||||
<Define></Define>
|
|
||||||
<Undefine></Undefine>
|
|
||||||
<IncludePath></IncludePath>
|
|
||||||
</VariousControls>
|
|
||||||
</Cads>
|
|
||||||
</FileArmAds>
|
|
||||||
</FileOption>
|
|
||||||
</File>
|
|
||||||
<File>
|
|
||||||
<FileName>list.c</FileName>
|
|
||||||
<FileType>1</FileType>
|
|
||||||
<FilePath>../Middlewares/Third_Party/FreeRTOS/Source/list.c</FilePath>
|
|
||||||
<FileOption>
|
|
||||||
<CommonProperty>
|
|
||||||
<UseCPPCompiler>2</UseCPPCompiler>
|
|
||||||
<RVCTCodeConst>0</RVCTCodeConst>
|
|
||||||
<RVCTZI>0</RVCTZI>
|
|
||||||
<RVCTOtherData>0</RVCTOtherData>
|
|
||||||
<ModuleSelection>0</ModuleSelection>
|
|
||||||
<IncludeInBuild>1</IncludeInBuild>
|
|
||||||
<AlwaysBuild>2</AlwaysBuild>
|
|
||||||
<GenerateAssemblyFile>2</GenerateAssemblyFile>
|
|
||||||
<AssembleAssemblyFile>2</AssembleAssemblyFile>
|
|
||||||
<PublicsOnly>2</PublicsOnly>
|
|
||||||
<StopOnExitCode>11</StopOnExitCode>
|
|
||||||
<CustomArgument></CustomArgument>
|
|
||||||
<IncludeLibraryModules></IncludeLibraryModules>
|
|
||||||
<ComprImg>1</ComprImg>
|
|
||||||
</CommonProperty>
|
|
||||||
<FileArmAds>
|
|
||||||
<Cads>
|
|
||||||
<interw>2</interw>
|
|
||||||
<Optim>0</Optim>
|
|
||||||
<oTime>2</oTime>
|
|
||||||
<SplitLS>2</SplitLS>
|
|
||||||
<OneElfS>2</OneElfS>
|
|
||||||
<Strict>2</Strict>
|
|
||||||
<EnumInt>2</EnumInt>
|
|
||||||
<PlainCh>2</PlainCh>
|
|
||||||
<Ropi>2</Ropi>
|
|
||||||
<Rwpi>2</Rwpi>
|
|
||||||
<wLevel>0</wLevel>
|
|
||||||
<uThumb>2</uThumb>
|
|
||||||
<uSurpInc>2</uSurpInc>
|
|
||||||
<uC99>2</uC99>
|
|
||||||
<uGnu>2</uGnu>
|
|
||||||
<useXO>2</useXO>
|
|
||||||
<v6Lang>0</v6Lang>
|
|
||||||
<v6LangP>0</v6LangP>
|
|
||||||
<vShortEn>2</vShortEn>
|
|
||||||
<vShortWch>2</vShortWch>
|
|
||||||
<v6Lto>2</v6Lto>
|
|
||||||
<v6WtE>2</v6WtE>
|
|
||||||
<v6Rtti>2</v6Rtti>
|
|
||||||
<VariousControls>
|
|
||||||
<MiscControls></MiscControls>
|
|
||||||
<Define></Define>
|
|
||||||
<Undefine></Undefine>
|
|
||||||
<IncludePath></IncludePath>
|
|
||||||
</VariousControls>
|
|
||||||
</Cads>
|
|
||||||
</FileArmAds>
|
|
||||||
</FileOption>
|
|
||||||
</File>
|
|
||||||
<File>
|
|
||||||
<FileName>queue.c</FileName>
|
|
||||||
<FileType>1</FileType>
|
|
||||||
<FilePath>../Middlewares/Third_Party/FreeRTOS/Source/queue.c</FilePath>
|
|
||||||
<FileOption>
|
|
||||||
<CommonProperty>
|
|
||||||
<UseCPPCompiler>2</UseCPPCompiler>
|
|
||||||
<RVCTCodeConst>0</RVCTCodeConst>
|
|
||||||
<RVCTZI>0</RVCTZI>
|
|
||||||
<RVCTOtherData>0</RVCTOtherData>
|
|
||||||
<ModuleSelection>0</ModuleSelection>
|
|
||||||
<IncludeInBuild>1</IncludeInBuild>
|
|
||||||
<AlwaysBuild>2</AlwaysBuild>
|
|
||||||
<GenerateAssemblyFile>2</GenerateAssemblyFile>
|
|
||||||
<AssembleAssemblyFile>2</AssembleAssemblyFile>
|
|
||||||
<PublicsOnly>2</PublicsOnly>
|
|
||||||
<StopOnExitCode>11</StopOnExitCode>
|
|
||||||
<CustomArgument></CustomArgument>
|
|
||||||
<IncludeLibraryModules></IncludeLibraryModules>
|
|
||||||
<ComprImg>1</ComprImg>
|
|
||||||
</CommonProperty>
|
|
||||||
<FileArmAds>
|
|
||||||
<Cads>
|
|
||||||
<interw>2</interw>
|
|
||||||
<Optim>0</Optim>
|
|
||||||
<oTime>2</oTime>
|
|
||||||
<SplitLS>2</SplitLS>
|
|
||||||
<OneElfS>2</OneElfS>
|
|
||||||
<Strict>2</Strict>
|
|
||||||
<EnumInt>2</EnumInt>
|
|
||||||
<PlainCh>2</PlainCh>
|
|
||||||
<Ropi>2</Ropi>
|
|
||||||
<Rwpi>2</Rwpi>
|
|
||||||
<wLevel>0</wLevel>
|
|
||||||
<uThumb>2</uThumb>
|
|
||||||
<uSurpInc>2</uSurpInc>
|
|
||||||
<uC99>2</uC99>
|
|
||||||
<uGnu>2</uGnu>
|
|
||||||
<useXO>2</useXO>
|
|
||||||
<v6Lang>0</v6Lang>
|
|
||||||
<v6LangP>0</v6LangP>
|
|
||||||
<vShortEn>2</vShortEn>
|
|
||||||
<vShortWch>2</vShortWch>
|
|
||||||
<v6Lto>2</v6Lto>
|
|
||||||
<v6WtE>2</v6WtE>
|
|
||||||
<v6Rtti>2</v6Rtti>
|
|
||||||
<VariousControls>
|
|
||||||
<MiscControls></MiscControls>
|
|
||||||
<Define></Define>
|
|
||||||
<Undefine></Undefine>
|
|
||||||
<IncludePath></IncludePath>
|
|
||||||
</VariousControls>
|
|
||||||
</Cads>
|
|
||||||
</FileArmAds>
|
|
||||||
</FileOption>
|
|
||||||
</File>
|
|
||||||
<File>
|
|
||||||
<FileName>stream_buffer.c</FileName>
|
|
||||||
<FileType>1</FileType>
|
|
||||||
<FilePath>../Middlewares/Third_Party/FreeRTOS/Source/stream_buffer.c</FilePath>
|
|
||||||
<FileOption>
|
|
||||||
<CommonProperty>
|
|
||||||
<UseCPPCompiler>2</UseCPPCompiler>
|
|
||||||
<RVCTCodeConst>0</RVCTCodeConst>
|
|
||||||
<RVCTZI>0</RVCTZI>
|
|
||||||
<RVCTOtherData>0</RVCTOtherData>
|
|
||||||
<ModuleSelection>0</ModuleSelection>
|
|
||||||
<IncludeInBuild>1</IncludeInBuild>
|
|
||||||
<AlwaysBuild>2</AlwaysBuild>
|
|
||||||
<GenerateAssemblyFile>2</GenerateAssemblyFile>
|
|
||||||
<AssembleAssemblyFile>2</AssembleAssemblyFile>
|
|
||||||
<PublicsOnly>2</PublicsOnly>
|
|
||||||
<StopOnExitCode>11</StopOnExitCode>
|
|
||||||
<CustomArgument></CustomArgument>
|
|
||||||
<IncludeLibraryModules></IncludeLibraryModules>
|
|
||||||
<ComprImg>1</ComprImg>
|
|
||||||
</CommonProperty>
|
|
||||||
<FileArmAds>
|
|
||||||
<Cads>
|
|
||||||
<interw>2</interw>
|
|
||||||
<Optim>0</Optim>
|
|
||||||
<oTime>2</oTime>
|
|
||||||
<SplitLS>2</SplitLS>
|
|
||||||
<OneElfS>2</OneElfS>
|
|
||||||
<Strict>2</Strict>
|
|
||||||
<EnumInt>2</EnumInt>
|
|
||||||
<PlainCh>2</PlainCh>
|
|
||||||
<Ropi>2</Ropi>
|
|
||||||
<Rwpi>2</Rwpi>
|
|
||||||
<wLevel>0</wLevel>
|
|
||||||
<uThumb>2</uThumb>
|
|
||||||
<uSurpInc>2</uSurpInc>
|
|
||||||
<uC99>2</uC99>
|
|
||||||
<uGnu>2</uGnu>
|
|
||||||
<useXO>2</useXO>
|
|
||||||
<v6Lang>0</v6Lang>
|
|
||||||
<v6LangP>0</v6LangP>
|
|
||||||
<vShortEn>2</vShortEn>
|
|
||||||
<vShortWch>2</vShortWch>
|
|
||||||
<v6Lto>2</v6Lto>
|
|
||||||
<v6WtE>2</v6WtE>
|
|
||||||
<v6Rtti>2</v6Rtti>
|
|
||||||
<VariousControls>
|
|
||||||
<MiscControls></MiscControls>
|
|
||||||
<Define></Define>
|
|
||||||
<Undefine></Undefine>
|
|
||||||
<IncludePath></IncludePath>
|
|
||||||
</VariousControls>
|
|
||||||
</Cads>
|
|
||||||
</FileArmAds>
|
|
||||||
</FileOption>
|
|
||||||
</File>
|
|
||||||
<File>
|
|
||||||
<FileName>tasks.c</FileName>
|
|
||||||
<FileType>1</FileType>
|
|
||||||
<FilePath>../Middlewares/Third_Party/FreeRTOS/Source/tasks.c</FilePath>
|
|
||||||
<FileOption>
|
|
||||||
<CommonProperty>
|
|
||||||
<UseCPPCompiler>2</UseCPPCompiler>
|
|
||||||
<RVCTCodeConst>0</RVCTCodeConst>
|
|
||||||
<RVCTZI>0</RVCTZI>
|
|
||||||
<RVCTOtherData>0</RVCTOtherData>
|
|
||||||
<ModuleSelection>0</ModuleSelection>
|
|
||||||
<IncludeInBuild>1</IncludeInBuild>
|
|
||||||
<AlwaysBuild>2</AlwaysBuild>
|
|
||||||
<GenerateAssemblyFile>2</GenerateAssemblyFile>
|
|
||||||
<AssembleAssemblyFile>2</AssembleAssemblyFile>
|
|
||||||
<PublicsOnly>2</PublicsOnly>
|
|
||||||
<StopOnExitCode>11</StopOnExitCode>
|
|
||||||
<CustomArgument></CustomArgument>
|
|
||||||
<IncludeLibraryModules></IncludeLibraryModules>
|
|
||||||
<ComprImg>1</ComprImg>
|
|
||||||
</CommonProperty>
|
|
||||||
<FileArmAds>
|
|
||||||
<Cads>
|
|
||||||
<interw>2</interw>
|
|
||||||
<Optim>0</Optim>
|
|
||||||
<oTime>2</oTime>
|
|
||||||
<SplitLS>2</SplitLS>
|
|
||||||
<OneElfS>2</OneElfS>
|
|
||||||
<Strict>2</Strict>
|
|
||||||
<EnumInt>2</EnumInt>
|
|
||||||
<PlainCh>2</PlainCh>
|
|
||||||
<Ropi>2</Ropi>
|
|
||||||
<Rwpi>2</Rwpi>
|
|
||||||
<wLevel>0</wLevel>
|
|
||||||
<uThumb>2</uThumb>
|
|
||||||
<uSurpInc>2</uSurpInc>
|
|
||||||
<uC99>2</uC99>
|
|
||||||
<uGnu>2</uGnu>
|
|
||||||
<useXO>2</useXO>
|
|
||||||
<v6Lang>0</v6Lang>
|
|
||||||
<v6LangP>0</v6LangP>
|
|
||||||
<vShortEn>2</vShortEn>
|
|
||||||
<vShortWch>2</vShortWch>
|
|
||||||
<v6Lto>2</v6Lto>
|
|
||||||
<v6WtE>2</v6WtE>
|
|
||||||
<v6Rtti>2</v6Rtti>
|
|
||||||
<VariousControls>
|
|
||||||
<MiscControls></MiscControls>
|
|
||||||
<Define></Define>
|
|
||||||
<Undefine></Undefine>
|
|
||||||
<IncludePath></IncludePath>
|
|
||||||
</VariousControls>
|
|
||||||
</Cads>
|
|
||||||
</FileArmAds>
|
|
||||||
</FileOption>
|
|
||||||
</File>
|
|
||||||
<File>
|
|
||||||
<FileName>timers.c</FileName>
|
|
||||||
<FileType>1</FileType>
|
|
||||||
<FilePath>../Middlewares/Third_Party/FreeRTOS/Source/timers.c</FilePath>
|
|
||||||
<FileOption>
|
|
||||||
<CommonProperty>
|
|
||||||
<UseCPPCompiler>2</UseCPPCompiler>
|
|
||||||
<RVCTCodeConst>0</RVCTCodeConst>
|
|
||||||
<RVCTZI>0</RVCTZI>
|
|
||||||
<RVCTOtherData>0</RVCTOtherData>
|
|
||||||
<ModuleSelection>0</ModuleSelection>
|
|
||||||
<IncludeInBuild>1</IncludeInBuild>
|
|
||||||
<AlwaysBuild>2</AlwaysBuild>
|
|
||||||
<GenerateAssemblyFile>2</GenerateAssemblyFile>
|
|
||||||
<AssembleAssemblyFile>2</AssembleAssemblyFile>
|
|
||||||
<PublicsOnly>2</PublicsOnly>
|
|
||||||
<StopOnExitCode>11</StopOnExitCode>
|
|
||||||
<CustomArgument></CustomArgument>
|
|
||||||
<IncludeLibraryModules></IncludeLibraryModules>
|
|
||||||
<ComprImg>1</ComprImg>
|
|
||||||
</CommonProperty>
|
|
||||||
<FileArmAds>
|
|
||||||
<Cads>
|
|
||||||
<interw>2</interw>
|
|
||||||
<Optim>0</Optim>
|
|
||||||
<oTime>2</oTime>
|
|
||||||
<SplitLS>2</SplitLS>
|
|
||||||
<OneElfS>2</OneElfS>
|
|
||||||
<Strict>2</Strict>
|
|
||||||
<EnumInt>2</EnumInt>
|
|
||||||
<PlainCh>2</PlainCh>
|
|
||||||
<Ropi>2</Ropi>
|
|
||||||
<Rwpi>2</Rwpi>
|
|
||||||
<wLevel>0</wLevel>
|
|
||||||
<uThumb>2</uThumb>
|
|
||||||
<uSurpInc>2</uSurpInc>
|
|
||||||
<uC99>2</uC99>
|
|
||||||
<uGnu>2</uGnu>
|
|
||||||
<useXO>2</useXO>
|
|
||||||
<v6Lang>0</v6Lang>
|
|
||||||
<v6LangP>0</v6LangP>
|
|
||||||
<vShortEn>2</vShortEn>
|
|
||||||
<vShortWch>2</vShortWch>
|
|
||||||
<v6Lto>2</v6Lto>
|
|
||||||
<v6WtE>2</v6WtE>
|
|
||||||
<v6Rtti>2</v6Rtti>
|
|
||||||
<VariousControls>
|
|
||||||
<MiscControls></MiscControls>
|
|
||||||
<Define></Define>
|
|
||||||
<Undefine></Undefine>
|
|
||||||
<IncludePath></IncludePath>
|
|
||||||
</VariousControls>
|
|
||||||
</Cads>
|
|
||||||
</FileArmAds>
|
|
||||||
</FileOption>
|
|
||||||
</File>
|
|
||||||
<File>
|
|
||||||
<FileName>cmsis_os.c</FileName>
|
|
||||||
<FileType>1</FileType>
|
|
||||||
<FilePath>../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS/cmsis_os.c</FilePath>
|
|
||||||
<FileOption>
|
|
||||||
<CommonProperty>
|
|
||||||
<UseCPPCompiler>2</UseCPPCompiler>
|
|
||||||
<RVCTCodeConst>0</RVCTCodeConst>
|
|
||||||
<RVCTZI>0</RVCTZI>
|
|
||||||
<RVCTOtherData>0</RVCTOtherData>
|
|
||||||
<ModuleSelection>0</ModuleSelection>
|
|
||||||
<IncludeInBuild>1</IncludeInBuild>
|
|
||||||
<AlwaysBuild>2</AlwaysBuild>
|
|
||||||
<GenerateAssemblyFile>2</GenerateAssemblyFile>
|
|
||||||
<AssembleAssemblyFile>2</AssembleAssemblyFile>
|
|
||||||
<PublicsOnly>2</PublicsOnly>
|
|
||||||
<StopOnExitCode>11</StopOnExitCode>
|
|
||||||
<CustomArgument></CustomArgument>
|
|
||||||
<IncludeLibraryModules></IncludeLibraryModules>
|
|
||||||
<ComprImg>1</ComprImg>
|
|
||||||
</CommonProperty>
|
|
||||||
<FileArmAds>
|
|
||||||
<Cads>
|
|
||||||
<interw>2</interw>
|
|
||||||
<Optim>0</Optim>
|
|
||||||
<oTime>2</oTime>
|
|
||||||
<SplitLS>2</SplitLS>
|
|
||||||
<OneElfS>2</OneElfS>
|
|
||||||
<Strict>2</Strict>
|
|
||||||
<EnumInt>2</EnumInt>
|
|
||||||
<PlainCh>2</PlainCh>
|
|
||||||
<Ropi>2</Ropi>
|
|
||||||
<Rwpi>2</Rwpi>
|
|
||||||
<wLevel>0</wLevel>
|
|
||||||
<uThumb>2</uThumb>
|
|
||||||
<uSurpInc>2</uSurpInc>
|
|
||||||
<uC99>2</uC99>
|
|
||||||
<uGnu>2</uGnu>
|
|
||||||
<useXO>2</useXO>
|
|
||||||
<v6Lang>0</v6Lang>
|
|
||||||
<v6LangP>0</v6LangP>
|
|
||||||
<vShortEn>2</vShortEn>
|
|
||||||
<vShortWch>2</vShortWch>
|
|
||||||
<v6Lto>2</v6Lto>
|
|
||||||
<v6WtE>2</v6WtE>
|
|
||||||
<v6Rtti>2</v6Rtti>
|
|
||||||
<VariousControls>
|
|
||||||
<MiscControls></MiscControls>
|
|
||||||
<Define></Define>
|
|
||||||
<Undefine></Undefine>
|
|
||||||
<IncludePath></IncludePath>
|
|
||||||
</VariousControls>
|
|
||||||
</Cads>
|
|
||||||
</FileArmAds>
|
|
||||||
</FileOption>
|
|
||||||
</File>
|
|
||||||
<File>
|
|
||||||
<FileName>heap_4.c</FileName>
|
|
||||||
<FileType>1</FileType>
|
|
||||||
<FilePath>../Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.c</FilePath>
|
|
||||||
<FileOption>
|
|
||||||
<CommonProperty>
|
|
||||||
<UseCPPCompiler>2</UseCPPCompiler>
|
|
||||||
<RVCTCodeConst>0</RVCTCodeConst>
|
|
||||||
<RVCTZI>0</RVCTZI>
|
|
||||||
<RVCTOtherData>0</RVCTOtherData>
|
|
||||||
<ModuleSelection>0</ModuleSelection>
|
|
||||||
<IncludeInBuild>1</IncludeInBuild>
|
|
||||||
<AlwaysBuild>2</AlwaysBuild>
|
|
||||||
<GenerateAssemblyFile>2</GenerateAssemblyFile>
|
|
||||||
<AssembleAssemblyFile>2</AssembleAssemblyFile>
|
|
||||||
<PublicsOnly>2</PublicsOnly>
|
|
||||||
<StopOnExitCode>11</StopOnExitCode>
|
|
||||||
<CustomArgument></CustomArgument>
|
|
||||||
<IncludeLibraryModules></IncludeLibraryModules>
|
|
||||||
<ComprImg>1</ComprImg>
|
|
||||||
</CommonProperty>
|
|
||||||
<FileArmAds>
|
|
||||||
<Cads>
|
|
||||||
<interw>2</interw>
|
|
||||||
<Optim>0</Optim>
|
|
||||||
<oTime>2</oTime>
|
|
||||||
<SplitLS>2</SplitLS>
|
|
||||||
<OneElfS>2</OneElfS>
|
|
||||||
<Strict>2</Strict>
|
|
||||||
<EnumInt>2</EnumInt>
|
|
||||||
<PlainCh>2</PlainCh>
|
|
||||||
<Ropi>2</Ropi>
|
|
||||||
<Rwpi>2</Rwpi>
|
|
||||||
<wLevel>0</wLevel>
|
|
||||||
<uThumb>2</uThumb>
|
|
||||||
<uSurpInc>2</uSurpInc>
|
|
||||||
<uC99>2</uC99>
|
|
||||||
<uGnu>2</uGnu>
|
|
||||||
<useXO>2</useXO>
|
|
||||||
<v6Lang>0</v6Lang>
|
|
||||||
<v6LangP>0</v6LangP>
|
|
||||||
<vShortEn>2</vShortEn>
|
|
||||||
<vShortWch>2</vShortWch>
|
|
||||||
<v6Lto>2</v6Lto>
|
|
||||||
<v6WtE>2</v6WtE>
|
|
||||||
<v6Rtti>2</v6Rtti>
|
|
||||||
<VariousControls>
|
|
||||||
<MiscControls></MiscControls>
|
|
||||||
<Define></Define>
|
|
||||||
<Undefine></Undefine>
|
|
||||||
<IncludePath></IncludePath>
|
|
||||||
</VariousControls>
|
|
||||||
</Cads>
|
|
||||||
</FileArmAds>
|
|
||||||
</FileOption>
|
|
||||||
</File>
|
|
||||||
<File>
|
|
||||||
<FileName>port.c</FileName>
|
|
||||||
<FileType>1</FileType>
|
|
||||||
<FilePath>../Middlewares/Third_Party/FreeRTOS/Source/portable/RVDS/ARM_CM4F/port.c</FilePath>
|
|
||||||
<FileOption>
|
|
||||||
<CommonProperty>
|
|
||||||
<UseCPPCompiler>2</UseCPPCompiler>
|
|
||||||
<RVCTCodeConst>0</RVCTCodeConst>
|
|
||||||
<RVCTZI>0</RVCTZI>
|
|
||||||
<RVCTOtherData>0</RVCTOtherData>
|
|
||||||
<ModuleSelection>0</ModuleSelection>
|
|
||||||
<IncludeInBuild>1</IncludeInBuild>
|
|
||||||
<AlwaysBuild>2</AlwaysBuild>
|
|
||||||
<GenerateAssemblyFile>2</GenerateAssemblyFile>
|
|
||||||
<AssembleAssemblyFile>2</AssembleAssemblyFile>
|
|
||||||
<PublicsOnly>2</PublicsOnly>
|
|
||||||
<StopOnExitCode>11</StopOnExitCode>
|
|
||||||
<CustomArgument></CustomArgument>
|
|
||||||
<IncludeLibraryModules></IncludeLibraryModules>
|
|
||||||
<ComprImg>1</ComprImg>
|
|
||||||
</CommonProperty>
|
|
||||||
<FileArmAds>
|
|
||||||
<Cads>
|
|
||||||
<interw>2</interw>
|
|
||||||
<Optim>0</Optim>
|
|
||||||
<oTime>2</oTime>
|
|
||||||
<SplitLS>2</SplitLS>
|
|
||||||
<OneElfS>2</OneElfS>
|
|
||||||
<Strict>2</Strict>
|
|
||||||
<EnumInt>2</EnumInt>
|
|
||||||
<PlainCh>2</PlainCh>
|
|
||||||
<Ropi>2</Ropi>
|
|
||||||
<Rwpi>2</Rwpi>
|
|
||||||
<wLevel>0</wLevel>
|
|
||||||
<uThumb>2</uThumb>
|
|
||||||
<uSurpInc>2</uSurpInc>
|
|
||||||
<uC99>2</uC99>
|
|
||||||
<uGnu>2</uGnu>
|
|
||||||
<useXO>2</useXO>
|
|
||||||
<v6Lang>0</v6Lang>
|
|
||||||
<v6LangP>0</v6LangP>
|
|
||||||
<vShortEn>2</vShortEn>
|
|
||||||
<vShortWch>2</vShortWch>
|
|
||||||
<v6Lto>2</v6Lto>
|
|
||||||
<v6WtE>2</v6WtE>
|
|
||||||
<v6Rtti>2</v6Rtti>
|
|
||||||
<VariousControls>
|
|
||||||
<MiscControls></MiscControls>
|
|
||||||
<Define></Define>
|
|
||||||
<Undefine></Undefine>
|
|
||||||
<IncludePath></IncludePath>
|
|
||||||
</VariousControls>
|
|
||||||
</Cads>
|
|
||||||
</FileArmAds>
|
|
||||||
</FileOption>
|
|
||||||
</File>
|
|
||||||
</Files>
|
|
||||||
</Group>
|
|
||||||
<Group>
|
<Group>
|
||||||
<GroupName>User/application</GroupName>
|
<GroupName>User/application</GroupName>
|
||||||
<Files>
|
<Files>
|
||||||
|
|
@ -2153,6 +1468,11 @@
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<FilePath>..\User\system\lib\src\wl_flash.c</FilePath>
|
<FilePath>..\User\system\lib\src\wl_flash.c</FilePath>
|
||||||
</File>
|
</File>
|
||||||
|
<File>
|
||||||
|
<FileName>flow_core.c</FileName>
|
||||||
|
<FileType>1</FileType>
|
||||||
|
<FilePath>..\User\system\lib\flow\flow_core.c</FilePath>
|
||||||
|
</File>
|
||||||
</Files>
|
</Files>
|
||||||
</Group>
|
</Group>
|
||||||
<Group>
|
<Group>
|
||||||
|
|
@ -3797,10 +3117,62 @@
|
||||||
</Files>
|
</Files>
|
||||||
</Group>
|
</Group>
|
||||||
<Group>
|
<Group>
|
||||||
<GroupName>::CMSIS</GroupName>
|
<GroupName>Middlewares/FreeRTOS</GroupName>
|
||||||
|
<Files>
|
||||||
|
<File>
|
||||||
|
<FileName>croutine.c</FileName>
|
||||||
|
<FileType>1</FileType>
|
||||||
|
<FilePath>../Middlewares/Third_Party/FreeRTOS/Source/croutine.c</FilePath>
|
||||||
|
</File>
|
||||||
|
<File>
|
||||||
|
<FileName>event_groups.c</FileName>
|
||||||
|
<FileType>1</FileType>
|
||||||
|
<FilePath>../Middlewares/Third_Party/FreeRTOS/Source/event_groups.c</FilePath>
|
||||||
|
</File>
|
||||||
|
<File>
|
||||||
|
<FileName>list.c</FileName>
|
||||||
|
<FileType>1</FileType>
|
||||||
|
<FilePath>../Middlewares/Third_Party/FreeRTOS/Source/list.c</FilePath>
|
||||||
|
</File>
|
||||||
|
<File>
|
||||||
|
<FileName>queue.c</FileName>
|
||||||
|
<FileType>1</FileType>
|
||||||
|
<FilePath>../Middlewares/Third_Party/FreeRTOS/Source/queue.c</FilePath>
|
||||||
|
</File>
|
||||||
|
<File>
|
||||||
|
<FileName>stream_buffer.c</FileName>
|
||||||
|
<FileType>1</FileType>
|
||||||
|
<FilePath>../Middlewares/Third_Party/FreeRTOS/Source/stream_buffer.c</FilePath>
|
||||||
|
</File>
|
||||||
|
<File>
|
||||||
|
<FileName>tasks.c</FileName>
|
||||||
|
<FileType>1</FileType>
|
||||||
|
<FilePath>../Middlewares/Third_Party/FreeRTOS/Source/tasks.c</FilePath>
|
||||||
|
</File>
|
||||||
|
<File>
|
||||||
|
<FileName>timers.c</FileName>
|
||||||
|
<FileType>1</FileType>
|
||||||
|
<FilePath>../Middlewares/Third_Party/FreeRTOS/Source/timers.c</FilePath>
|
||||||
|
</File>
|
||||||
|
<File>
|
||||||
|
<FileName>cmsis_os.c</FileName>
|
||||||
|
<FileType>1</FileType>
|
||||||
|
<FilePath>../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS/cmsis_os.c</FilePath>
|
||||||
|
</File>
|
||||||
|
<File>
|
||||||
|
<FileName>heap_4.c</FileName>
|
||||||
|
<FileType>1</FileType>
|
||||||
|
<FilePath>../Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.c</FilePath>
|
||||||
|
</File>
|
||||||
|
<File>
|
||||||
|
<FileName>port.c</FileName>
|
||||||
|
<FileType>1</FileType>
|
||||||
|
<FilePath>../Middlewares/Third_Party/FreeRTOS/Source/portable/RVDS/ARM_CM4F/port.c</FilePath>
|
||||||
|
</File>
|
||||||
|
</Files>
|
||||||
</Group>
|
</Group>
|
||||||
<Group>
|
<Group>
|
||||||
<GroupName>::LVGL</GroupName>
|
<GroupName>::CMSIS</GroupName>
|
||||||
</Group>
|
</Group>
|
||||||
</Groups>
|
</Groups>
|
||||||
</Target>
|
</Target>
|
||||||
|
|
@ -3821,11 +3193,6 @@
|
||||||
<targetInfo name="freertos_f407" versionMatchMode="fixed"/>
|
<targetInfo name="freertos_f407" versionMatchMode="fixed"/>
|
||||||
</targetInfos>
|
</targetInfos>
|
||||||
</package>
|
</package>
|
||||||
<package name="lvgl" schemaVersion="1.4" url="https://raw.githubusercontent.com/lvgl/lvgl/master/env_support/cmsis-pack/" vendor="LVGL" version="8.3.5">
|
|
||||||
<targetInfos>
|
|
||||||
<targetInfo name="freertos_f407" versionMatchMode="fixed"/>
|
|
||||||
</targetInfos>
|
|
||||||
</package>
|
|
||||||
</packages>
|
</packages>
|
||||||
<apis/>
|
<apis/>
|
||||||
<components>
|
<components>
|
||||||
|
|
@ -3835,97 +3202,8 @@
|
||||||
<targetInfo name="freertos_f407"/>
|
<targetInfo name="freertos_f407"/>
|
||||||
</targetInfos>
|
</targetInfos>
|
||||||
</component>
|
</component>
|
||||||
<component Cbundle="LVGL" Cclass="LVGL" Cgroup="lvgl" Csub="Benchmark" Cvendor="LVGL" Cversion="8.3.5" condition="LVGL-Essential">
|
|
||||||
<package name="lvgl" schemaVersion="1.4" url="https://raw.githubusercontent.com/lvgl/lvgl/master/env_support/cmsis-pack/" vendor="LVGL" version="8.3.5"/>
|
|
||||||
<targetInfos>
|
|
||||||
<targetInfo name="freertos_f407"/>
|
|
||||||
</targetInfos>
|
|
||||||
</component>
|
|
||||||
<component Cbundle="LVGL" Cclass="LVGL" Cgroup="lvgl" Csub="Essential" Cvendor="LVGL" Cversion="8.3.5">
|
|
||||||
<package name="lvgl" schemaVersion="1.4" url="https://raw.githubusercontent.com/lvgl/lvgl/master/env_support/cmsis-pack/" vendor="LVGL" version="8.3.5"/>
|
|
||||||
<targetInfos>
|
|
||||||
<targetInfo name="freertos_f407"/>
|
|
||||||
</targetInfos>
|
|
||||||
</component>
|
|
||||||
<component Cbundle="LVGL" Cclass="LVGL" Cgroup="lvgl" Csub="Extra Themes" Cvendor="LVGL" Cversion="8.3.5" condition="LVGL-Essential">
|
|
||||||
<package name="lvgl" schemaVersion="1.4" url="https://raw.githubusercontent.com/lvgl/lvgl/master/env_support/cmsis-pack/" vendor="LVGL" version="8.3.5"/>
|
|
||||||
<targetInfos>
|
|
||||||
<targetInfo name="freertos_f407"/>
|
|
||||||
</targetInfos>
|
|
||||||
</component>
|
|
||||||
<component Cbundle="LVGL" Cclass="LVGL" Cgroup="lvgl" Csub="Porting" Cvendor="LVGL" Cversion="8.3.5" condition="LVGL-Essential">
|
|
||||||
<package name="lvgl" schemaVersion="1.4" url="https://raw.githubusercontent.com/lvgl/lvgl/master/env_support/cmsis-pack/" vendor="LVGL" version="8.3.5"/>
|
|
||||||
<targetInfos>
|
|
||||||
<targetInfo name="freertos_f407"/>
|
|
||||||
</targetInfos>
|
|
||||||
</component>
|
|
||||||
</components>
|
</components>
|
||||||
<files>
|
<files/>
|
||||||
<file attr="config" category="sourceC" name="lv_cmsis_pack.c" version="1.0.0">
|
|
||||||
<instance index="0">RTE\LVGL\lv_cmsis_pack.c</instance>
|
|
||||||
<component Cbundle="LVGL" Cclass="LVGL" Cgroup="lvgl" Csub="Essential" Cvendor="LVGL" Cversion="8.3.5"/>
|
|
||||||
<package name="lvgl" schemaVersion="1.4" url="https://raw.githubusercontent.com/lvgl/lvgl/master/env_support/cmsis-pack/" vendor="LVGL" version="8.3.5"/>
|
|
||||||
<targetInfos>
|
|
||||||
<targetInfo name="freertos_f407"/>
|
|
||||||
</targetInfos>
|
|
||||||
</file>
|
|
||||||
<file attr="config" category="preIncludeGlobal" name="lv_conf_cmsis.h" version="2.4.0">
|
|
||||||
<instance index="0">RTE\LVGL\lv_conf_cmsis.h</instance>
|
|
||||||
<component Cbundle="LVGL" Cclass="LVGL" Cgroup="lvgl" Csub="Essential" Cvendor="LVGL" Cversion="8.3.5"/>
|
|
||||||
<package name="lvgl" schemaVersion="1.4" url="https://raw.githubusercontent.com/lvgl/lvgl/master/env_support/cmsis-pack/" vendor="LVGL" version="8.3.5"/>
|
|
||||||
<targetInfos>
|
|
||||||
<targetInfo name="freertos_f407"/>
|
|
||||||
</targetInfos>
|
|
||||||
</file>
|
|
||||||
<file attr="config" category="sourceC" name="examples\porting\lv_port_disp_template.c" version="2.1.0">
|
|
||||||
<instance index="0">RTE\LVGL\lv_port_disp_template.c</instance>
|
|
||||||
<component Cbundle="LVGL" Cclass="LVGL" Cgroup="lvgl" Csub="Porting" Cvendor="LVGL" Cversion="8.3.5" condition="LVGL-Essential"/>
|
|
||||||
<package name="lvgl" schemaVersion="1.4" url="https://raw.githubusercontent.com/lvgl/lvgl/master/env_support/cmsis-pack/" vendor="LVGL" version="8.3.5"/>
|
|
||||||
<targetInfos>
|
|
||||||
<targetInfo name="freertos_f407"/>
|
|
||||||
</targetInfos>
|
|
||||||
</file>
|
|
||||||
<file attr="config" category="header" name="examples\porting\lv_port_disp_template.h" version="2.1.0">
|
|
||||||
<instance index="0">RTE\LVGL\lv_port_disp_template.h</instance>
|
|
||||||
<component Cbundle="LVGL" Cclass="LVGL" Cgroup="lvgl" Csub="Porting" Cvendor="LVGL" Cversion="8.3.5" condition="LVGL-Essential"/>
|
|
||||||
<package name="lvgl" schemaVersion="1.4" url="https://raw.githubusercontent.com/lvgl/lvgl/master/env_support/cmsis-pack/" vendor="LVGL" version="8.3.5"/>
|
|
||||||
<targetInfos>
|
|
||||||
<targetInfo name="freertos_f407"/>
|
|
||||||
</targetInfos>
|
|
||||||
</file>
|
|
||||||
<file attr="config" category="sourceC" name="examples\porting\lv_port_fs_template.c" version="2.1.0">
|
|
||||||
<instance index="0">RTE\LVGL\lv_port_fs_template.c</instance>
|
|
||||||
<component Cbundle="LVGL" Cclass="LVGL" Cgroup="lvgl" Csub="Porting" Cvendor="LVGL" Cversion="8.3.5" condition="LVGL-Essential"/>
|
|
||||||
<package name="lvgl" schemaVersion="1.4" url="https://raw.githubusercontent.com/lvgl/lvgl/master/env_support/cmsis-pack/" vendor="LVGL" version="8.3.5"/>
|
|
||||||
<targetInfos>
|
|
||||||
<targetInfo name="freertos_f407"/>
|
|
||||||
</targetInfos>
|
|
||||||
</file>
|
|
||||||
<file attr="config" category="header" name="examples\porting\lv_port_fs_template.h" version="2.1.0">
|
|
||||||
<instance index="0">RTE\LVGL\lv_port_fs_template.h</instance>
|
|
||||||
<component Cbundle="LVGL" Cclass="LVGL" Cgroup="lvgl" Csub="Porting" Cvendor="LVGL" Cversion="8.3.5" condition="LVGL-Essential"/>
|
|
||||||
<package name="lvgl" schemaVersion="1.4" url="https://raw.githubusercontent.com/lvgl/lvgl/master/env_support/cmsis-pack/" vendor="LVGL" version="8.3.5"/>
|
|
||||||
<targetInfos>
|
|
||||||
<targetInfo name="freertos_f407"/>
|
|
||||||
</targetInfos>
|
|
||||||
</file>
|
|
||||||
<file attr="config" category="sourceC" name="examples\porting\lv_port_indev_template.c" version="2.1.0">
|
|
||||||
<instance index="0">RTE\LVGL\lv_port_indev_template.c</instance>
|
|
||||||
<component Cbundle="LVGL" Cclass="LVGL" Cgroup="lvgl" Csub="Porting" Cvendor="LVGL" Cversion="8.3.5" condition="LVGL-Essential"/>
|
|
||||||
<package name="lvgl" schemaVersion="1.4" url="https://raw.githubusercontent.com/lvgl/lvgl/master/env_support/cmsis-pack/" vendor="LVGL" version="8.3.5"/>
|
|
||||||
<targetInfos>
|
|
||||||
<targetInfo name="freertos_f407"/>
|
|
||||||
</targetInfos>
|
|
||||||
</file>
|
|
||||||
<file attr="config" category="header" name="examples\porting\lv_port_indev_template.h" version="2.1.0">
|
|
||||||
<instance index="0">RTE\LVGL\lv_port_indev_template.h</instance>
|
|
||||||
<component Cbundle="LVGL" Cclass="LVGL" Cgroup="lvgl" Csub="Porting" Cvendor="LVGL" Cversion="8.3.5" condition="LVGL-Essential"/>
|
|
||||||
<package name="lvgl" schemaVersion="1.4" url="https://raw.githubusercontent.com/lvgl/lvgl/master/env_support/cmsis-pack/" vendor="LVGL" version="8.3.5"/>
|
|
||||||
<targetInfos>
|
|
||||||
<targetInfo name="freertos_f407"/>
|
|
||||||
</targetInfos>
|
|
||||||
</file>
|
|
||||||
</files>
|
|
||||||
</RTE>
|
</RTE>
|
||||||
|
|
||||||
<LayerInfo>
|
<LayerInfo>
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load Diff
|
|
@ -91,7 +91,7 @@ void HAL_PCD_MspInit(PCD_HandleTypeDef* pcdHandle)
|
||||||
__HAL_RCC_USB_OTG_FS_CLK_ENABLE();
|
__HAL_RCC_USB_OTG_FS_CLK_ENABLE();
|
||||||
|
|
||||||
/* Peripheral interrupt init */
|
/* Peripheral interrupt init */
|
||||||
HAL_NVIC_SetPriority(OTG_FS_IRQn, 5, 0);
|
HAL_NVIC_SetPriority(OTG_FS_IRQn, 0, 0);
|
||||||
HAL_NVIC_EnableIRQ(OTG_FS_IRQn);
|
HAL_NVIC_EnableIRQ(OTG_FS_IRQn);
|
||||||
/* USER CODE BEGIN USB_OTG_FS_MspInit 1 */
|
/* USER CODE BEGIN USB_OTG_FS_MspInit 1 */
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,12 +1,13 @@
|
||||||
#include "app.h"
|
#include "app.h"
|
||||||
#include "board.h"
|
#include "board.h"
|
||||||
#include "os.h"
|
|
||||||
#include "shell_port.h"
|
#include "shell_port.h"
|
||||||
|
#include "../system/lib/flow/flow.h"
|
||||||
#include "../system/sgl/sgl.h"
|
#include "../system/sgl/sgl.h"
|
||||||
|
|
||||||
static TaskHandle_t business_task_handle = NULL;
|
|
||||||
extern Shell shell; /* defined in shell_port.c */
|
extern Shell shell; /* defined in shell_port.c */
|
||||||
|
|
||||||
|
static struct flow fl_business;
|
||||||
|
|
||||||
static void sgl_print_hello(void)
|
static void sgl_print_hello(void)
|
||||||
{
|
{
|
||||||
sgl_obj_delete(NULL);
|
sgl_obj_delete(NULL);
|
||||||
|
|
@ -24,20 +25,20 @@ static void sgl_print_hello(void)
|
||||||
sgl_task_handle(); /* 渲染:Hello World 出现在屏幕 */
|
sgl_task_handle(); /* 渲染:Hello World 出现在屏幕 */
|
||||||
}
|
}
|
||||||
|
|
||||||
void business_task(void *pvParameters)
|
static char business_process(struct flow *fl)
|
||||||
{
|
{
|
||||||
|
FL_HEAD(fl);
|
||||||
for (;;)
|
for (;;)
|
||||||
{
|
{
|
||||||
rtc_update();
|
rtc_update();
|
||||||
|
|
||||||
sgl_print_hello();
|
sgl_print_hello();
|
||||||
vTaskDelay(1000); /* 显示 1 秒 */
|
FL_LOCK_DELAY(fl, FL_CLOCK_SEC * 1U); /* 显示 1 秒 */
|
||||||
|
|
||||||
lcd_rtc_test();
|
lcd_rtc_test();
|
||||||
led_toggle(LED_USER);
|
led_toggle(LED_USER);
|
||||||
vTaskDelay(1000);
|
FL_LOCK_DELAY(fl, FL_CLOCK_SEC * 1U); /* 显示 1 秒 */
|
||||||
}
|
}
|
||||||
|
FL_TAIL(fl);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void cmd_mem_info(void)
|
static void cmd_mem_info(void)
|
||||||
|
|
@ -53,12 +54,12 @@ SHELL_EXPORT_CMD(SHELL_CMD_PERMISSION(0) | SHELL_CMD_TYPE(SHELL_TYPE_CMD_FUNC),
|
||||||
|
|
||||||
void app_init(void)
|
void app_init(void)
|
||||||
{
|
{
|
||||||
userShellInit(); // 初始化shell
|
FL_INIT(&fl_business);
|
||||||
// 创建任务
|
userShellInit();
|
||||||
xTaskCreate((TaskFunction_t)business_task, // 任务入口函数
|
}
|
||||||
(const char *)"business_task", // 任务名字
|
|
||||||
(uint16_t)1024, // 任务栈大小
|
void app_run(void)
|
||||||
(void *)NULL, // 任务入口函数参数
|
{
|
||||||
(UBaseType_t)1, // 任务优先级
|
business_process(&fl_business);
|
||||||
(TaskHandle_t *)&business_task_handle); // 任务句柄
|
shellTask(&shell);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,6 @@
|
||||||
#include "rtc.h"
|
#include "rtc.h"
|
||||||
#include "spi.h"
|
#include "spi.h"
|
||||||
#include "../system/sgl/sgl.h"
|
#include "../system/sgl/sgl.h"
|
||||||
#include "os.h"
|
|
||||||
board_t board;
|
board_t board;
|
||||||
|
|
||||||
#define SGL_PANEL_WIDTH 240
|
#define SGL_PANEL_WIDTH 240
|
||||||
|
|
|
||||||
|
|
@ -22,7 +22,7 @@
|
||||||
* 使能此宏,则`shellTask()`函数会一直循环读取输入,一般使用操作系统建立shell
|
* 使能此宏,则`shellTask()`函数会一直循环读取输入,一般使用操作系统建立shell
|
||||||
* 任务时使能此宏,关闭此宏的情况下,一般适用于无操作系统,在主循环中调用`shellTask()`
|
* 任务时使能此宏,关闭此宏的情况下,一般适用于无操作系统,在主循环中调用`shellTask()`
|
||||||
*/
|
*/
|
||||||
#define SHELL_TASK_WHILE 1
|
#define SHELL_TASK_WHILE 0
|
||||||
#endif /** SHELL_TASK_WHILE */
|
#endif /** SHELL_TASK_WHILE */
|
||||||
|
|
||||||
#ifndef SHELL_USING_CMD_EXPORT
|
#ifndef SHELL_USING_CMD_EXPORT
|
||||||
|
|
|
||||||
|
|
@ -2,21 +2,14 @@
|
||||||
* @file shell_port.c
|
* @file shell_port.c
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "FreeRTOS.h"
|
|
||||||
#include "task.h"
|
|
||||||
#include "shell.h"
|
#include "shell.h"
|
||||||
|
|
||||||
#include "stm32f4xx_hal.h"
|
#include "stm32f4xx_hal.h"
|
||||||
#include "usart.h"
|
#include "usart.h"
|
||||||
|
|
||||||
#include "shell_port.h"
|
#include "shell_port.h"
|
||||||
#include "semphr.h"
|
|
||||||
|
|
||||||
Shell shell;
|
Shell shell;
|
||||||
char shellBuffer[512];
|
char shellBuffer[512];
|
||||||
|
|
||||||
static SemaphoreHandle_t shellMutex;
|
|
||||||
|
|
||||||
// DMA接收缓冲区和shell环形缓冲区
|
// DMA接收缓冲区和shell环形缓冲区
|
||||||
#define SHELL_UART_DMA_BUF_SIZE 256
|
#define SHELL_UART_DMA_BUF_SIZE 256
|
||||||
#define SHELL_UART_RX_BUF_SIZE 128
|
#define SHELL_UART_RX_BUF_SIZE 128
|
||||||
|
|
@ -66,59 +59,22 @@ short userShellRead(char *data, unsigned short len)
|
||||||
return count;
|
return count;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief 用户shell上锁
|
|
||||||
*
|
|
||||||
* @param shell shell
|
|
||||||
*
|
|
||||||
* @return int 0
|
|
||||||
*/
|
|
||||||
int userShellLock(Shell *shell)
|
|
||||||
{
|
|
||||||
// xSemaphoreTakeRecursive(shellMutex, portMAX_DELAY);
|
|
||||||
xSemaphoreTake(shellMutex, portMAX_DELAY);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief 用户shell解锁
|
|
||||||
*
|
|
||||||
* @param shell shell
|
|
||||||
*
|
|
||||||
* @return int 0
|
|
||||||
*/
|
|
||||||
int userShellUnlock(Shell *shell)
|
|
||||||
{
|
|
||||||
// xSemaphoreGiveRecursive(shellMutex);
|
|
||||||
xSemaphoreGive(shellMutex);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief 用户shell初始化
|
* @brief 用户shell初始化
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
void userShellInit(void)
|
void userShellInit(void)
|
||||||
{
|
{
|
||||||
shellMutex = xSemaphoreCreateMutex();
|
|
||||||
|
|
||||||
shell.write = userShellWrite;
|
shell.write = userShellWrite;
|
||||||
shell.read = userShellRead;
|
shell.read = userShellRead;
|
||||||
shell.lock = userShellLock;
|
shell.lock = NULL;
|
||||||
shell.unlock = userShellUnlock;
|
shell.unlock = NULL;
|
||||||
shellInit(&shell, shellBuffer, 512);
|
shellInit(&shell, shellBuffer, 512);
|
||||||
|
|
||||||
// 启动DMA接收
|
// 启动DMA接收
|
||||||
HAL_UART_Receive_DMA(&huart1, shell_uart_dma_buf, SHELL_UART_DMA_BUF_SIZE);
|
HAL_UART_Receive_DMA(&huart1, shell_uart_dma_buf, SHELL_UART_DMA_BUF_SIZE);
|
||||||
// 使能空闲中断
|
// 使能空闲中断
|
||||||
__HAL_UART_ENABLE_IT(&huart1, UART_IT_IDLE);
|
__HAL_UART_ENABLE_IT(&huart1, UART_IT_IDLE);
|
||||||
|
|
||||||
xTaskCreate((TaskFunction_t)shellTask, // 任务入口函数
|
|
||||||
(const char *)"shell_task", // 任务名字
|
|
||||||
(uint16_t)1024, // 任务栈大小
|
|
||||||
(void *)&shell, // 任务入口函数参数(传递 shell 对象指针)
|
|
||||||
(UBaseType_t)1, // 任务优先级
|
|
||||||
NULL); // 任务句柄
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// USART1 空闲中断处理(DMA新数据转入shell缓冲区)
|
// USART1 空闲中断处理(DMA新数据转入shell缓冲区)
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,6 @@
|
||||||
#ifndef __SHELL_PORT_H__
|
#ifndef __SHELL_PORT_H__
|
||||||
#define __SHELL_PORT_H__
|
#define __SHELL_PORT_H__
|
||||||
|
|
||||||
#include "semphr.h"
|
|
||||||
#include "shell.h"
|
#include "shell.h"
|
||||||
|
|
||||||
extern Shell shell;
|
extern Shell shell;
|
||||||
|
|
|
||||||
|
|
@ -13,7 +13,7 @@
|
||||||
#include "flow_core.h"
|
#include "flow_core.h"
|
||||||
#include "flow_sem.h"
|
#include "flow_sem.h"
|
||||||
|
|
||||||
#define FL_HARD_TICK (10U) /* 系统硬件中断一次所需要的时间,单位ms */
|
#define FL_HARD_TICK (1U) /* 系统硬件中断一次所需要的时间,单位ms */
|
||||||
#define FL_CLOCK_SEC (1000U / FL_HARD_TICK) /* 一秒钟需要的tick,可以根据需求添加其他时间更短的宏 */
|
#define FL_CLOCK_SEC (1000U / FL_HARD_TICK) /* 一秒钟需要的tick,可以根据需求添加其他时间更短的宏 */
|
||||||
#define FL_CLOCK_100MSEC (100U / FL_HARD_TICK)
|
#define FL_CLOCK_100MSEC (100U / FL_HARD_TICK)
|
||||||
#define FL_CLOCK_10MSEC (FL_CLOCK_100MSEC / 10U)
|
#define FL_CLOCK_10MSEC (FL_CLOCK_100MSEC / 10U)
|
||||||
|
|
|
||||||
|
|
@ -68,8 +68,6 @@ FATFS0.BSP.mode=Input
|
||||||
FATFS0.BSP.name=Detect_SDIO
|
FATFS0.BSP.name=Detect_SDIO
|
||||||
FATFS0.BSP.semaphore=
|
FATFS0.BSP.semaphore=
|
||||||
FATFS0.BSP.solution=PB10
|
FATFS0.BSP.solution=PB10
|
||||||
FREERTOS.IPParameters=Tasks01
|
|
||||||
FREERTOS.Tasks01=defaultTask,0,128,StartDefaultTask,Default,NULL,Dynamic,NULL,NULL
|
|
||||||
File.Version=6
|
File.Version=6
|
||||||
GPIO.groupedBy=Group By Peripherals
|
GPIO.groupedBy=Group By Peripherals
|
||||||
KeepUserPlacement=false
|
KeepUserPlacement=false
|
||||||
|
|
@ -77,17 +75,16 @@ Mcu.CPN=STM32F407ZGT6
|
||||||
Mcu.Family=STM32F4
|
Mcu.Family=STM32F4
|
||||||
Mcu.IP0=DMA
|
Mcu.IP0=DMA
|
||||||
Mcu.IP1=FATFS
|
Mcu.IP1=FATFS
|
||||||
Mcu.IP10=USB_DEVICE
|
Mcu.IP10=USB_OTG_FS
|
||||||
Mcu.IP11=USB_OTG_FS
|
Mcu.IP2=NVIC
|
||||||
Mcu.IP2=FREERTOS
|
Mcu.IP3=RCC
|
||||||
Mcu.IP3=NVIC
|
Mcu.IP4=RTC
|
||||||
Mcu.IP4=RCC
|
Mcu.IP5=SDIO
|
||||||
Mcu.IP5=RTC
|
Mcu.IP6=SPI3
|
||||||
Mcu.IP6=SDIO
|
Mcu.IP7=SYS
|
||||||
Mcu.IP7=SPI3
|
Mcu.IP8=USART1
|
||||||
Mcu.IP8=SYS
|
Mcu.IP9=USB_DEVICE
|
||||||
Mcu.IP9=USART1
|
Mcu.IPNb=11
|
||||||
Mcu.IPNb=12
|
|
||||||
Mcu.Name=STM32F407Z(E-G)Tx
|
Mcu.Name=STM32F407Z(E-G)Tx
|
||||||
Mcu.Package=LQFP144
|
Mcu.Package=LQFP144
|
||||||
Mcu.Pin0=PC13-ANTI_TAMP
|
Mcu.Pin0=PC13-ANTI_TAMP
|
||||||
|
|
@ -108,11 +105,10 @@ Mcu.Pin21=PB3
|
||||||
Mcu.Pin22=PB4
|
Mcu.Pin22=PB4
|
||||||
Mcu.Pin23=PB5
|
Mcu.Pin23=PB5
|
||||||
Mcu.Pin24=VP_FATFS_VS_SDIO
|
Mcu.Pin24=VP_FATFS_VS_SDIO
|
||||||
Mcu.Pin25=VP_FREERTOS_VS_CMSIS_V1
|
Mcu.Pin25=VP_RTC_VS_RTC_Activate
|
||||||
Mcu.Pin26=VP_RTC_VS_RTC_Activate
|
Mcu.Pin26=VP_RTC_VS_RTC_Calendar
|
||||||
Mcu.Pin27=VP_RTC_VS_RTC_Calendar
|
Mcu.Pin27=VP_SYS_VS_tim6
|
||||||
Mcu.Pin28=VP_SYS_VS_tim6
|
Mcu.Pin28=VP_USB_DEVICE_VS_USB_DEVICE_CDC_FS
|
||||||
Mcu.Pin29=VP_USB_DEVICE_VS_USB_DEVICE_CDC_FS
|
|
||||||
Mcu.Pin3=PH0-OSC_IN
|
Mcu.Pin3=PH0-OSC_IN
|
||||||
Mcu.Pin4=PH1-OSC_OUT
|
Mcu.Pin4=PH1-OSC_OUT
|
||||||
Mcu.Pin5=PB10
|
Mcu.Pin5=PB10
|
||||||
|
|
@ -120,35 +116,32 @@ Mcu.Pin6=PD11
|
||||||
Mcu.Pin7=PD12
|
Mcu.Pin7=PD12
|
||||||
Mcu.Pin8=PD13
|
Mcu.Pin8=PD13
|
||||||
Mcu.Pin9=PC8
|
Mcu.Pin9=PC8
|
||||||
Mcu.PinsNb=30
|
Mcu.PinsNb=29
|
||||||
Mcu.ThirdPartyNb=0
|
Mcu.ThirdPartyNb=0
|
||||||
Mcu.UserConstants=
|
Mcu.UserConstants=
|
||||||
Mcu.UserName=STM32F407ZGTx
|
Mcu.UserName=STM32F407ZGTx
|
||||||
MxCube.Version=6.9.2
|
MxCube.Version=6.9.2
|
||||||
MxDb.Version=DB.6.0.92
|
MxDb.Version=DB.6.0.92
|
||||||
NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false\:false
|
NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
|
||||||
NVIC.DMA2_Stream2_IRQn=true\:5\:0\:false\:false\:true\:true\:false\:true\:true
|
NVIC.DMA2_Stream2_IRQn=true\:0\:0\:false\:false\:true\:false\:true\:true
|
||||||
NVIC.DMA2_Stream3_IRQn=true\:15\:0\:true\:false\:true\:true\:false\:true\:true
|
NVIC.DMA2_Stream3_IRQn=true\:15\:0\:true\:false\:true\:false\:true\:true
|
||||||
NVIC.DMA2_Stream6_IRQn=true\:15\:0\:true\:false\:true\:true\:false\:true\:true
|
NVIC.DMA2_Stream6_IRQn=true\:15\:0\:true\:false\:true\:false\:true\:true
|
||||||
NVIC.DMA2_Stream7_IRQn=true\:5\:0\:false\:false\:true\:true\:false\:true\:true
|
NVIC.DMA2_Stream7_IRQn=true\:0\:0\:false\:false\:true\:false\:true\:true
|
||||||
NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false\:false
|
NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
|
||||||
NVIC.ForceEnableDMAVector=true
|
NVIC.ForceEnableDMAVector=true
|
||||||
NVIC.HardFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false\:false
|
NVIC.HardFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
|
||||||
NVIC.MemoryManagement_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false\:false
|
NVIC.MemoryManagement_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
|
||||||
NVIC.NonMaskableInt_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false\:false
|
NVIC.NonMaskableInt_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
|
||||||
NVIC.OTG_FS_IRQn=true\:5\:0\:false\:false\:true\:true\:true\:true\:true
|
NVIC.OTG_FS_IRQn=true\:0\:0\:false\:false\:true\:true\:true\:true
|
||||||
NVIC.PendSV_IRQn=true\:15\:0\:false\:false\:false\:true\:false\:false\:false
|
NVIC.PendSV_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
|
||||||
NVIC.PriorityGroup=NVIC_PRIORITYGROUP_4
|
NVIC.PriorityGroup=NVIC_PRIORITYGROUP_4
|
||||||
NVIC.SVCall_IRQn=true\:0\:0\:false\:false\:false\:false\:false\:false\:false
|
NVIC.SVCall_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
|
||||||
NVIC.SavedPendsvIrqHandlerGenerated=true
|
NVIC.SysTick_IRQn=true\:15\:0\:false\:false\:true\:false\:true\:false
|
||||||
NVIC.SavedSvcallIrqHandlerGenerated=true
|
NVIC.TIM6_DAC_IRQn=true\:15\:0\:true\:false\:true\:false\:true\:true
|
||||||
NVIC.SavedSystickIrqHandlerGenerated=true
|
|
||||||
NVIC.SysTick_IRQn=true\:15\:0\:false\:false\:false\:true\:false\:true\:false
|
|
||||||
NVIC.TIM6_DAC_IRQn=true\:4\:0\:true\:false\:true\:false\:false\:true\:true
|
|
||||||
NVIC.TimeBase=TIM6_DAC_IRQn
|
NVIC.TimeBase=TIM6_DAC_IRQn
|
||||||
NVIC.TimeBaseIP=TIM6
|
NVIC.TimeBaseIP=TIM6
|
||||||
NVIC.USART1_IRQn=true\:5\:0\:false\:false\:true\:true\:true\:true\:true
|
NVIC.USART1_IRQn=true\:0\:0\:false\:false\:true\:true\:true\:true
|
||||||
NVIC.UsageFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false\:false
|
NVIC.UsageFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
|
||||||
PA10.Mode=Asynchronous
|
PA10.Mode=Asynchronous
|
||||||
PA10.Signal=USART1_RX
|
PA10.Signal=USART1_RX
|
||||||
PA11.Mode=Device_Only
|
PA11.Mode=Device_Only
|
||||||
|
|
@ -306,8 +299,6 @@ USB_OTG_FS.IPParameters=VirtualMode
|
||||||
USB_OTG_FS.VirtualMode=Device_Only
|
USB_OTG_FS.VirtualMode=Device_Only
|
||||||
VP_FATFS_VS_SDIO.Mode=SDIO
|
VP_FATFS_VS_SDIO.Mode=SDIO
|
||||||
VP_FATFS_VS_SDIO.Signal=FATFS_VS_SDIO
|
VP_FATFS_VS_SDIO.Signal=FATFS_VS_SDIO
|
||||||
VP_FREERTOS_VS_CMSIS_V1.Mode=CMSIS_V1
|
|
||||||
VP_FREERTOS_VS_CMSIS_V1.Signal=FREERTOS_VS_CMSIS_V1
|
|
||||||
VP_RTC_VS_RTC_Activate.Mode=RTC_Enabled
|
VP_RTC_VS_RTC_Activate.Mode=RTC_Enabled
|
||||||
VP_RTC_VS_RTC_Activate.Signal=RTC_VS_RTC_Activate
|
VP_RTC_VS_RTC_Activate.Signal=RTC_VS_RTC_Activate
|
||||||
VP_RTC_VS_RTC_Calendar.Mode=RTC_Calendar
|
VP_RTC_VS_RTC_Calendar.Mode=RTC_Calendar
|
||||||
|
|
@ -317,4 +308,3 @@ VP_SYS_VS_tim6.Signal=SYS_VS_tim6
|
||||||
VP_USB_DEVICE_VS_USB_DEVICE_CDC_FS.Mode=CDC_FS
|
VP_USB_DEVICE_VS_USB_DEVICE_CDC_FS.Mode=CDC_FS
|
||||||
VP_USB_DEVICE_VS_USB_DEVICE_CDC_FS.Signal=USB_DEVICE_VS_USB_DEVICE_CDC_FS
|
VP_USB_DEVICE_VS_USB_DEVICE_CDC_FS.Signal=USB_DEVICE_VS_USB_DEVICE_CDC_FS
|
||||||
board=custom
|
board=custom
|
||||||
rtos.0.ip=FREERTOS
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue