Чтение большого файла делает истечение времени ожидания сторожевого таймера

Я создал программу прошивки для платы LPC. время ожидания сторожевого таймера составляет 2 секунды. У меня есть файл jpg, который я хочу прочитать и сохранить в буфере с помощью функции freed(). Процесс чтения занимает много времени, поэтому сброс платы происходит во время выполнения чтения файла.

void func() {
 int num, NumBytes;
 static uint8_t acBuffer[0x1000];
 FILE *file ;
 // file contains large data 
 watchdog_reseter();
 num = fread(acBuffer, 1, NumBytes, file); // time-out elapses
 watchdog_reseter();
}

поэтому я хочу разделить файл int на 2 или 3 файла:

void func()
{
  int num, num1, num2, k;
  static uint8_t acBuffer[0x1000], buff[0x1000], buff2[0x1000];
  FILE *file, *file1, *file2 ; 
  /* task 1: file splits to file 1 and file2 */ 
  watchdog_reseter();
  num1 = fread(buff, 1, NumBytes/2, file1); // program resets
  watchdog_reseter();
  num2 = fread(buff2, 1, NumBytes/2, file2); // program resets
  watchdog_reseter(); 
  for(k=0; k<num1+num2, k++)
  {
    if(k<num1)
      acBuffer[k] = buff[k];
    else
      acBuffer[k] = buff2[k-num1];
  } 
}

помогите мне реализовать задачу1.

0 ответов

Другие вопросы по тегам