Ignore:
Timestamp:
Jan 29, 2025, 1:36:43 PM (3 months ago)
Author:
Zed
Message:

FatFs? with DMA were implemented.

Location:
ctrl/firmware/Main/CubeMX
Files:
22 added
5 edited

Legend:

Unmodified
Added
Removed
  • ctrl/firmware/Main/CubeMX/Core/Src/freertos.c

    r73 r74  
    2727/* USER CODE BEGIN Includes */
    2828
     29#include "stdio.h"
     30
    2931#include "keys_task.h"
    3032
     
    4042/* USER CODE BEGIN PD */
    4143
     44#define KEYS_TASK_STACK_DEPTH_WORDS                               (128U)
     45
    4246/* USER CODE END PD */
    4347
     
    5054/* USER CODE BEGIN Variables */
    5155
    52 const uint16_t KEYS_TASK_STACK_DEPTH_WORDS = 128U;
     56static StackType_t keysTaskStackBuffer[KEYS_TASK_STACK_DEPTH_WORDS]                             __attribute__((section(".DTCM_RAM")));
     57static StaticTask_t keysTaskBuffer;
     58static const char* const keysTaskName = "ScanKeysTask";
    5359
    5460/* USER CODE END Variables */
    5561/* Definitions for mainTask */
    5662osThreadId_t mainTaskHandle;
    57 uint32_t mainTaskBuffer[ 128 ];
     63uint32_t mainTaskBuffer[ 512 ];
    5864osStaticThreadDef_t mainTaskControlBlock;
    5965const osThreadAttr_t mainTask_attributes = {
     
    7379void mainTaskStart(void *argument);
    7480
    75 //void MX_FREERTOS_Init(void); /* (MISRA C 2004 rule 8.1) */
     81void MX_FREERTOS_Init(void); /* (MISRA C 2004 rule 8.1) */
    7682
    7783/* Hook prototypes */
     
    132138  /* add threads, ... */
    133139
    134   BaseType_t r = xTaskCreate(keysTaskStart, "ScanKeysTask", KEYS_TASK_STACK_DEPTH_WORDS, NULL, 0, NULL);
     140  TaskHandle_t r = xTaskCreateStatic(keysTaskStart, keysTaskName, KEYS_TASK_STACK_DEPTH_WORDS, NULL, 25, keysTaskStackBuffer, &keysTaskBuffer);
     141  if (r == NULL) printf("Cannot create %s!\n", keysTaskName);
    135142
    136143  /* USER CODE END RTOS_THREADS */
  • ctrl/firmware/Main/CubeMX/Core/Src/main.c

    r73 r74  
    2121#include "cmsis_os.h"
    2222#include "dma.h"
     23#include "fatfs.h"
    2324#include "memorymap.h"
    2425#include "rtc.h"
     
    123124  MX_TIM3_Init();
    124125  MX_TIM8_Init();
     126  MX_FATFS_Init();
    125127  /* USER CODE BEGIN 2 */
    126128
  • ctrl/firmware/Main/CubeMX/Core/Src/sdmmc.c

    r72 r74  
    4747  hsd1.Init.HardwareFlowControl = SDMMC_HARDWARE_FLOW_CONTROL_ENABLE;
    4848  hsd1.Init.ClockDiv = 0;
    49   if (HAL_SD_Init(&hsd1) != HAL_OK)
    50   {
    51     Error_Handler();
    52   }
    5349  /* USER CODE BEGIN SDMMC1_Init 2 */
    5450
     
    106102
    107103    /* SDMMC1 interrupt Init */
    108     HAL_NVIC_SetPriority(SDMMC1_IRQn, 5, 0);
     104    HAL_NVIC_SetPriority(SDMMC1_IRQn, 15, 0);
    109105    HAL_NVIC_EnableIRQ(SDMMC1_IRQn);
    110106  /* USER CODE BEGIN SDMMC1_MspInit 1 */
  • ctrl/firmware/Main/CubeMX/Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.c

    r73 r74  
    6262        extern uint8_t ucHeap[ configTOTAL_HEAP_SIZE ];
    6363#else
    64         static uint8_t ucHeap[ configTOTAL_HEAP_SIZE ];
     64        static uint8_t ucHeap[ configTOTAL_HEAP_SIZE ]                                                          __attribute__((section(".DTCM_RAM")));
    6565#endif /* configAPPLICATION_ALLOCATED_HEAP */
    6666
  • ctrl/firmware/Main/CubeMX/charger.ioc

    r73 r74  
    11#MicroXplorer Configuration settings - do not modify
    2 CAD.formats=
    3 CAD.pinconfig=
     2CAD.formats=[]
     3CAD.pinconfig=Dual
    44CAD.provider=
    55CORTEX_M7.CPU_DCache=Enabled
     
    6666Dma.USART3_TX.2.SyncRequestNumber=1
    6767Dma.USART3_TX.2.SyncSignalID=NONE
     68FATFS.BSP.number=1
     69FATFS.IPParameters=_USE_FIND,_USE_EXPAND,_USE_LABEL,_USE_LFN,_LFN_UNICODE,_MULTI_PARTITION,_FS_EXFAT,_USE_MUTEX,_FS_REENTRANT,_FS_NORTC,_NORTC_YEAR,_NORTC_MDAY,_NORTC_MON
     70FATFS._FS_EXFAT=1
     71FATFS._FS_NORTC=1
     72FATFS._FS_REENTRANT=0
     73FATFS._LFN_UNICODE=1
     74FATFS._MULTI_PARTITION=0
     75FATFS._NORTC_MDAY=1
     76FATFS._NORTC_MON=1
     77FATFS._NORTC_YEAR=2025
     78FATFS._USE_EXPAND=1
     79FATFS._USE_FIND=1
     80FATFS._USE_LABEL=1
     81FATFS._USE_LFN=2
     82FATFS._USE_MUTEX=1
     83FATFS0.BSP.STBoard=false
     84FATFS0.BSP.api=Unknown
     85FATFS0.BSP.component=
     86FATFS0.BSP.condition=
     87FATFS0.BSP.instance=PA8
     88FATFS0.BSP.ip=GPIO
     89FATFS0.BSP.mode=Input
     90FATFS0.BSP.name=Detect_SDIO
     91FATFS0.BSP.semaphore=
     92FATFS0.BSP.solution=PA8
    6893FREERTOS.FootprintOK=true
    6994FREERTOS.INCLUDE_uxTaskGetStackHighWaterMark2=1
     
    79104GPIO.groupedBy=Group By Peripherals
    80105KeepUserPlacement=false
    81 MMTAppRegionsCount=0
     106MMTAppReg1.MEMORYMAP.AppRegionName=DTCMRAM
     107MMTAppReg1.MEMORYMAP.Cacheability=WBRAWA
     108MMTAppReg1.MEMORYMAP.ContextName=Cortex-M7NS
     109MMTAppReg1.MEMORYMAP.CoreName=Arm Cortex-M7
     110MMTAppReg1.MEMORYMAP.IPParameters=StartAddress,Size,CoreName,ContextName,Name,Cacheability
     111MMTAppReg1.MEMORYMAP.Name=DTCMRAM
     112MMTAppReg1.MEMORYMAP.Size=131072
     113MMTAppReg1.MEMORYMAP.StartAddress=0x20000000
     114MMTAppReg2.MEMORYMAP.AppRegionName=RAM
     115MMTAppReg2.MEMORYMAP.Cacheability=WBRAWA
     116MMTAppReg2.MEMORYMAP.ContextName=Cortex-M7NS
     117MMTAppReg2.MEMORYMAP.CoreName=Arm Cortex-M7
     118MMTAppReg2.MEMORYMAP.DefaultDataRegion=true
     119MMTAppReg2.MEMORYMAP.IPParameters=StartAddress,Size,CoreName,ContextName,Name,Cacheability,DefaultDataRegion
     120MMTAppReg2.MEMORYMAP.Name=RAM
     121MMTAppReg2.MEMORYMAP.Size=131072
     122MMTAppReg2.MEMORYMAP.StartAddress=0x24000000
     123MMTAppReg3.MEMORYMAP.AppRegionName=RAM_D2
     124MMTAppReg3.MEMORYMAP.Cacheability=WBRAWA
     125MMTAppReg3.MEMORYMAP.ContextName=Cortex-M7NS
     126MMTAppReg3.MEMORYMAP.CoreName=Arm Cortex-M7
     127MMTAppReg3.MEMORYMAP.IPParameters=StartAddress,Size,CoreName,ContextName,Name,Cacheability
     128MMTAppReg3.MEMORYMAP.Name=RAM_D2
     129MMTAppReg3.MEMORYMAP.Size=32768
     130MMTAppReg3.MEMORYMAP.StartAddress=0x30000000
     131MMTAppReg4.MEMORYMAP.AppRegionName=RAM_D3
     132MMTAppReg4.MEMORYMAP.Cacheability=WBRAWA
     133MMTAppReg4.MEMORYMAP.ContextName=Cortex-M7NS
     134MMTAppReg4.MEMORYMAP.CoreName=Arm Cortex-M7
     135MMTAppReg4.MEMORYMAP.IPParameters=StartAddress,Size,CoreName,ContextName,Name,Cacheability
     136MMTAppReg4.MEMORYMAP.Name=RAM_D3
     137MMTAppReg4.MEMORYMAP.Size=16384
     138MMTAppReg4.MEMORYMAP.StartAddress=0x38000000
     139MMTAppReg5.MEMORYMAP.AppRegionName=ITCMRAM
     140MMTAppReg5.MEMORYMAP.Cacheability=WTRA
     141MMTAppReg5.MEMORYMAP.ContextName=Cortex-M7NS
     142MMTAppReg5.MEMORYMAP.CoreName=Arm Cortex-M7
     143MMTAppReg5.MEMORYMAP.IPParameters=StartAddress,Size,CoreName,ContextName,Name,Cacheability
     144MMTAppReg5.MEMORYMAP.Name=ITCMRAM
     145MMTAppReg5.MEMORYMAP.Size=65536
     146MMTAppReg5.MEMORYMAP.StartAddress=0x00000000
     147MMTAppReg6.MEMORYMAP.AP=RO_priv_only
     148MMTAppReg6.MEMORYMAP.AppRegionName=FLASH
     149MMTAppReg6.MEMORYMAP.Cacheability=WTRA
     150MMTAppReg6.MEMORYMAP.ContextName=Cortex-M7NS
     151MMTAppReg6.MEMORYMAP.CoreName=Arm Cortex-M7
     152MMTAppReg6.MEMORYMAP.DefaultCodeRegion=true
     153MMTAppReg6.MEMORYMAP.IPParameters=StartAddress,Size,CoreName,MemType,ContextName,Name,AP,Cacheability,DefaultCodeRegion,ISRRegion,RootBootRegion
     154MMTAppReg6.MEMORYMAP.ISRRegion=true
     155MMTAppReg6.MEMORYMAP.MemType=ROM
     156MMTAppReg6.MEMORYMAP.Name=FLASH
     157MMTAppReg6.MEMORYMAP.RootBootRegion=true
     158MMTAppReg6.MEMORYMAP.Size=524288
     159MMTAppReg6.MEMORYMAP.StartAddress=0x08000000
     160MMTAppRegionsCount=6
    82161MMTConfigApplied=false
    83162Mcu.CPN=STM32H723ZET6
     
    85164Mcu.IP0=CORTEX_M7
    86165Mcu.IP1=DEBUG
    87 Mcu.IP10=SYS
    88 Mcu.IP11=TIM3
    89 Mcu.IP12=TIM8
    90 Mcu.IP13=USART3
     166Mcu.IP10=SPI4
     167Mcu.IP11=SYS
     168Mcu.IP12=TIM3
     169Mcu.IP13=TIM8
     170Mcu.IP14=USART3
    91171Mcu.IP2=DMA
    92 Mcu.IP3=FREERTOS
    93 Mcu.IP4=MEMORYMAP
    94 Mcu.IP5=NVIC
    95 Mcu.IP6=RCC
    96 Mcu.IP7=RTC
    97 Mcu.IP8=SDMMC1
    98 Mcu.IP9=SPI4
    99 Mcu.IPNb=14
     172Mcu.IP3=FATFS
     173Mcu.IP4=FREERTOS
     174Mcu.IP5=MEMORYMAP
     175Mcu.IP6=NVIC
     176Mcu.IP7=RCC
     177Mcu.IP8=RTC
     178Mcu.IP9=SDMMC1
     179Mcu.IPNb=15
    100180Mcu.Name=STM32H723ZETx
    101181Mcu.Package=LQFP144
     
    132212Mcu.Pin36=PG13
    133213Mcu.Pin37=PG15
    134 Mcu.Pin38=VP_FREERTOS_VS_CMSIS_V2
    135 Mcu.Pin39=VP_RTC_VS_RTC_Activate
     214Mcu.Pin38=VP_FATFS_VS_SDIO
     215Mcu.Pin39=VP_FREERTOS_VS_CMSIS_V2
    136216Mcu.Pin4=PH1-OSC_OUT
    137 Mcu.Pin40=VP_SYS_VS_tim7
    138 Mcu.Pin41=VP_TIM3_VS_ClockSourceINT
    139 Mcu.Pin42=VP_TIM8_VS_ControllerModeReset
    140 Mcu.Pin43=VP_TIM8_VS_ClockSourceINT
    141 Mcu.Pin44=VP_MEMORYMAP_VS_MEMORYMAP
     217Mcu.Pin40=VP_RTC_VS_RTC_Activate
     218Mcu.Pin41=VP_RTC_VS_RTC_Calendar
     219Mcu.Pin42=VP_SYS_VS_tim7
     220Mcu.Pin43=VP_TIM3_VS_ClockSourceINT
     221Mcu.Pin44=VP_TIM8_VS_ControllerModeReset
     222Mcu.Pin45=VP_TIM8_VS_ClockSourceINT
     223Mcu.Pin46=VP_MEMORYMAP_VS_MEMORYMAP
    142224Mcu.Pin5=PF15
    143225Mcu.Pin6=PG0
     
    145227Mcu.Pin8=PE7
    146228Mcu.Pin9=PE11
    147 Mcu.PinsNb=45
     229Mcu.PinsNb=47
    148230Mcu.ThirdParty0=STMicroelectronics.X-CUBE-AZRTOS-H7.3.3.0
    149231Mcu.ThirdPartyNb=1
     
    337419ProjectManager.UAScriptBeforePath=
    338420ProjectManager.UnderRoot=true
    339 ProjectManager.functionlistsort=1-SystemClock_Config-RCC-false-HAL-false,2-MX_GPIO_Init-GPIO-false-HAL-true,3-MX_DMA_Init-DMA-false-HAL-true,4-MX_RTC_Init-RTC-false-HAL-true,5-MX_SPI4_Init-SPI4-false-HAL-true,6-MX_SDMMC1_SD_Init-SDMMC1-false-HAL-true,7-MX_USART3_UART_Init-USART3-false-HAL-true,8-MX_TIM3_Init-TIM3-false-HAL-true,9-MX_TIM8_Init-TIM8-false-HAL-true,0-MX_CORTEX_M7_Init-CORTEX_M7-false-HAL-true
     421ProjectManager.functionlistsort=1-SystemClock_Config-RCC-false-HAL-false,2-MX_GPIO_Init-GPIO-false-HAL-true,3-MX_DMA_Init-DMA-false-HAL-true,4-MX_RTC_Init-RTC-false-HAL-true,5-MX_SPI4_Init-SPI4-false-HAL-true,6-MX_SDMMC1_SD_Init-SDMMC1-false-HAL-true,7-MX_USART3_UART_Init-USART3-false-HAL-true,8-MX_TIM3_Init-TIM3-false-HAL-true,9-MX_TIM8_Init-TIM8-false-HAL-true,10-MX_FATFS_Init-FATFS-false-HAL-false,0-MX_CORTEX_M7_Init-CORTEX_M7-false-HAL-true
    340422RCC.ADCFreq_Value=166666666.66666666
    341423RCC.AHB12Freq_Value=100000000
     
    474556USART3.SwapParam=ADVFEATURE_SWAP_ENABLE
    475557USART3.VirtualMode-Asynchronous=VM_ASYNC
     558VP_FATFS_VS_SDIO.Mode=SDIO
     559VP_FATFS_VS_SDIO.Signal=FATFS_VS_SDIO
    476560VP_FREERTOS_VS_CMSIS_V2.Mode=CMSIS_V2
    477561VP_FREERTOS_VS_CMSIS_V2.Signal=FREERTOS_VS_CMSIS_V2
     
    480564VP_RTC_VS_RTC_Activate.Mode=RTC_Enabled
    481565VP_RTC_VS_RTC_Activate.Signal=RTC_VS_RTC_Activate
     566VP_RTC_VS_RTC_Calendar.Mode=RTC_Calendar
     567VP_RTC_VS_RTC_Calendar.Signal=RTC_VS_RTC_Calendar
    482568VP_SYS_VS_tim7.Mode=TIM7
    483569VP_SYS_VS_tim7.Signal=SYS_VS_tim7
Note: See TracChangeset for help on using the changeset viewer.