Spider
Oct 27 2011, 18:13
Привет!
Сабж. Отлаженный bootloader, работающий на ряде камней, таких как mega8, 88, 64, 128 вдруг отказался работать на mega2561.
По коду используются макросы из boot.h пакета и компилятора WinAVR. Проверил, что используются макросы с _extended суффиксом (используются RAMPZ), да и на 128ой меге всё работало и работает отлично, а ведь там тоже самое всё.
По факту получается так, что проц как бы прошился, но там как были FF так и остались (по мнению AVRDragon).
Сама прошивка бутлоадера находится по адресам
LDFLAGS += -Wl,--section-start=.text=0x03E000
фьюзы BOOTSZ = 00 (0 = programmed), BOOTRST = 0. Lock Bit = 0xFF
Бутлоадер стартует и даже "корректно" всё делает, но результата нет.
Может есть "хитрость" какая, что я упустил?
demiurg_spb
Oct 28 2011, 08:00
В студии по шагам пробовали отладить?
Spider
Oct 28 2011, 10:38
вся беда в том, что у меня нет на руках 256ого проца. У меня 128, а у товарища уже 2561. Только у него нет отладчика и он от меня далеко

У меня на 128ой и в протеусе на 2561 работает. На железе же не работает
пока откатился на 128 (С тем же бутлоадером всё работает), но всё таки, что с 256ой?
Цитата(Alexey Belyaev @ Nov 4 2011, 09:00)

пока откатился на 128 (С тем же бутлоадером всё работает), но всё таки, что с 256ой?
А как там с размером страницы ?
по коду я делаю так:
Код
for (uint16_t j=0; j<SPM_PAGESIZE; j+=2) {
boot_page_fill(
#ifdef RAMPZ
(uint32_t)
#else
(uint16_t)
#endif
adr + j, *lpword++);
}
для 256ой объявлено так (iom2561.h):
#define SPM_PAGESIZE 256
для 128ой, в прочем, так же (iom128.h):
#define SPM_PAGESIZE 256