Чтение большого файла делает истечение времени ожидания сторожевого таймера
Я создал программу прошивки для платы 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.