Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: bootloader
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > MCS51, AVR, PIC, STM8, 8bit
qVlad
Пытаюсь написать bootloader на atxmega64a3. Начал с примера AVR1605. Делаю по примеру как описано здесь http://electronix.ru/forum/index.php?showtopic=75050.
После компиляции проекта в IAR под мой контроллер получаю слишком большой дебажный образ чтобы прошить. поэтому делаю версию release и пытаюсь через avr studio прошить выставив fuse BOOTRST=Bootloader Reset. Прошивка проходит успешно, но ожидаемого результата не вижу, даже светодиод не зажигается. Может ли это быть связано с тем что в*.a90 из IAR адреса начинаются с 0x0, а прошивку нужно шить с адреса 0x8000 или установка fuse выбирает верное место прошивки?
Сергей Борщ
QUOTE (qVlad @ Apr 5 2011, 15:22) *
Может ли это быть связано с тем что в*.a90 из IAR адреса начинаются с 0x0, а прошивку нужно шить с адреса 0x8000 или установка fuse выбирает верное место прошивки?
Вероятнее всего. fuse лишь выбирает с какого адреса будет стартовать проц. Вам нужно либо правильно настроить галочки в оболочке (не знаю где, где-то в настройках линкера), либо написать правильный скрипт для линкера.
demiurg_spb
Цитата(qVlad @ Apr 5 2011, 16:22) *
или установка fuse выбирает верное место прошивки?
Нет. fuse определяет размер бут-секции, точку входа и местоположение векторов ну и всякую остальную ерунду согласно DS.
Прошивка билдится обычно (бывают исключения) с привязкой к абсолютной адресации и это Ваша забота разместить код бута по нужному адресу.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.