Изучаю пример Secondary Ethernet Bootloader на IAR-LPC-1768-SK. Компилятор IAR EWARM 5.50
Параллельно открыл другой пример из IAR (LCD Demo). В файле линковщика меняю .intvec на 0x2000 (2-й сектор), ROM Start 0x2100 и RAM Start 0x10000040. Заливаю через FlashMagic по Ethernet в контроллер - РАБОТАЕТ! А как быть с прерываниями? Вектора уже автоматом переотображены на 0x2000 или нет? Вообще хочется понять принцип.
При передаче управления из бутлодера. Мы переопределили вершину стека, а дальше вызываем функцию __iar_program_start - это понятно. Но как быть, если произойдет прерывание? Оно отрправится искать вектора с адреса 0x0? В бутлодере есть функция VectorsRemap() но она пустая и вызывается только из board_init()
|