Цитата(StanislavF @ Jan 15 2010, 17:37)

./sensor_part.h:4227: error: size of array is too large
Так видимо не влезает во флэш выбранного контроллера
Цитата(StanislavF @ Jan 15 2010, 17:37)

unsigned char xsf_buf0[] PROGMEM ={0xFF.......
По поводу WinAVR я не сильно знаю, а вот в IAR в случае, когда флэш-массив выходил за 32 кб вроде бы вместо __flash использовалась директива __farflash. Возможно, WinAVR тоже как-то аналогичен, но врать не буду.
Цитата(StanislavF @ Jan 15 2010, 17:37)

Можно ли как-то по другому прошивать ПЛИС с помощью AVR? Возможно, без использования массивов.
Естественно, самый очевидный способ - поставить туда какую-то микросхему внешней флэш (AT45DBxxx), стоит копейки, корпус можно взять небольшой, а объемы вполне адекватные, записать ее предварительно на каком-то программаторе, читать мегой по SPI и писать. Заодно и мегу можно взять поменьше, вряд ли там расход ног будет значительным.
Если делать универсальнее, то написать приложение на компьютер, которое будет высылать прошивку на мегу через виртуальный COM-порт, поставить FT232RL и использовать внутренний UART. Понятно, нужно будет какую-то защиту протокола обеспечить. Но тогда компьютер понадобится, не выйдет универсального решения.
Так что стоит, наверное, обратить внимание на ARM. LPC1768 имеет на борту 512 кб, судя по тому, что раньше хватало 256 кб, запас есть. И перешивать его довольно легко через встроенный загрузчик по COM-порту. Тут и универсально будет, и автономно...