Пишу в CodeVisionAVR. Есть тип данных для хранения содержимого экрана
Код
typedef unsigned char displ_t[4][16];
Есть константа размещённая во флеше
Код
flash displ_t MT_START={"Режим:","Температура","",""};
Есть переменная размещённая в SRAM
Код
displ_t displ_buf;
Копирую массив из RAM во FLASH тупо:
Код
for(y=0;y<4;y++)
{
for(x=0;x<16;x++)
statetext[y][x] = MT_START[y][x];
}
{
for(x=0;x<16;x++)
statetext[y][x] = MT_START[y][x];
}
А вот написать функцию, копирующую массив из одной памяти в другую не могу. Тот же код выделяю в отдельную функцию. Но не знаю как передать в неё параметры. Объявление функции
Код
void flash2ram(displ_t flash_buf, displ_t ram_buf)
является неверным, так как она не принимает указатель на структуру во флеше, а указать модификатор хранения flash в аргументах функции не разрешает компилятор. Как произвести копирование?