Функция F_mount не работает с STM32F401ReTx - PullRequest
0 голосов
/ 06 июня 2018

Я написал простой код (с помощью STM32CubeMx) для STM32F407VGTx для создания файла на SD-карте.Хотя он отлично работает с 407, он не работает с STM32F401ReTx.Чтобы было ясно, я сгенерировал код с CubeMx специально для 401 (не использовал код для 407).

Даже для 407 я могу работать только с версией 21 CubeMx и версией прошивки 16. Iдобавили код ниже.Есть идеи?

int main(void)
{

  /* USER CODE BEGIN 1 */

  /* USER CODE END 1 */

  /* MCU Configuration----------------------------------------------------------*/

  /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
  HAL_Init();

  /* USER CODE BEGIN Init */

  /* USER CODE END Init */

  /* Configure the system clock */
  SystemClock_Config();

  /* USER CODE BEGIN SysInit */

  /* USER CODE END SysInit */

  /* Initialize all configured peripherals */
  MX_GPIO_Init();
  MX_DMA_Init();
  MX_SDIO_SD_Init();
  MX_FATFS_Init();

  /* USER CODE BEGIN 2 */
  if(f_mount(&myFatFS,SD_Path,1)==FR_OK)
  {
      HAL_Delay(1000);
      f_open(&myFil,"new document.txt\0",FA_CREATE_ALWAYS | FA_WRITE);
      f_close(&myFil);
  }

  /* USER CODE END 2 */

  /* Infinite loop */
  /* USER CODE BEGIN WHILE */
  while (1)
  {
  /* USER CODE END WHILE */

  /* USER CODE BEGIN 3 */

  }
  /* USER CODE END 3 */

}

1 Ответ

0 голосов
/ 12 июня 2018

Проблема, вероятно, в размере кучи f407 имеет больший начальный размер кучи, чем f401.Попробуйте увеличить размер кучи в файле компоновщика.

...