реклама на сайте
подробности

 
 
> Использование Bootloader'а на XMEGA, XMEGA, Bootloader
Brain13
сообщение Apr 11 2010, 21:18
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 65
Регистрация: 28-08-09
Пользователь №: 52 078



Доброго времени суток!

По работе появилась необходимость обновлять прошивку XMEGA16A4(XMEGA32A4) по последовательному каналу, т.к. устройства при изготовлении заливаются компаундом, остается только разъем EIA-485.
Но я с bootloader'ами дела не имел, и плохо понимаю как они работают. Посмотрел AVR1605: XMEGA™ Boot Loader Quick Start
Guide стало понятнее, но ненамного.
Я так понял, что должны быть два проекта: bootloader, и основной программы. Тогда bootloader можно переделать из AVR1605 с поддержкой 485-го и на этом все. Или я ошибаюсь?
Но где-то в проекте надо указать, что это проект bootloader'а, но такого не нашел. Он по идее должен располагаться в 4К Boot области.
AVR1605 заточен под IAR и XMEGA128A1, но мне надо под WinAVR и XMEGA16A4(XMEGA32A4), будет ли он работать? Что докрутить?
Есть ли готовые bootloader'ы с поддержкой XMEGA16A4(XMEGA32A4) и 485-го?

Можете в общем рассказать как прикручивать bootloader?

PS: Извините если подобные темы уже были...
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Brain13
сообщение Apr 12 2010, 21:39
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 65
Регистрация: 28-08-09
Пользователь №: 52 078



Цитата
Не нужно делать секцию .bootloader - вы все равно не сможете положить в нее стартап-код

Но я уже туда смог положить код, и он выполняется. Или что-то не так?

Цитата
Возьмите из winavr/avr/lib/ldscripts скрипт для вашего проекта, измените в нем адрес региона text на нужные вам адреса области загрузчика и укажите линкеру использовать этот скрипт: -Wl,-T,<имя скипта>. Рассматривайте ваш загрузчик как самостоятельную программу.


А можно поподробнее? А где он там прописывается и в каком виде? Что указывать в коде? Что в настройках?
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Apr 13 2010, 09:28
Сообщение #3


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(Brain13 @ Apr 12 2010, 23:54) *
Но я уже туда смог положить код, и он выполняется. Или что-то не так?
Кроме вашего кода в программе могут быть библиотечные функции. Одна из основных - стартап код: настройка указателя стека, иниициализация переменных. Поскольку эти функции - библиотечные, вы не сможете задать их размещение. Они попадут в те секции, которые прописаны в их исходниках.
Цитата(Brain13 @ Apr 12 2010, 23:54) *
А где он там прописывается и в каком виде? Что указывать в коде? Что в настройках?
Кто "он"? Где "там"?


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 19:14
Рейтинг@Mail.ru


Страница сгенерированна за 0.01378 секунд с 7
ELECTRONIX ©2004-2016