|
bootloader в IARe 3,10, Помогите разобраться как сделать |
|
|
|
 |
Ответов
|
Jul 17 2006, 10:26
|

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

|
Цитата(arttab @ Jul 17 2006, 12:47)  Новая проблема: пытаюсь сгенерить hex а IAR ругается Fatal Error[e72]: Segment TINY_Z must be defined in a segment definition option (-Z, -b or -P) В дебагере все легло ровно, а здесь проблемы. В какой должен быть выходной формат или в экстра опциях линкера прописать чего надо? Видимо в настройках проекта стоит настройка memory model: Tiny а файл .xcl взят с "s" на конце, т.е. для модели памяти Small. Измените настройку на Small и все должно заработать. Кстати, интересно как "В дебагере все легло ровно", ведь файл для дебаггера тоже генерит линкер и с теми же самыми параметрами... Или это после переключения target с debug на release? Тогда понятно - надо сравнить модель памяти и выбранный .xcl в обоих targets.
Сообщение отредактировал Сергей Борщ - Jul 17 2006, 10:27
--------------------
На любой вопрос даю любой ответ"Write code that is guaranteed to work, not code that doesn’t seem to break" ( C++ FAQ)
|
|
|
|
|
Jul 17 2006, 15:16
|

Частый гость
 
Группа: Свой
Сообщений: 175
Регистрация: 26-01-06
Из: Sevastopol
Пользователь №: 13 664

|
Рекомендую посмотреть на мой проект Crypto-Boot (только как reference, а не образец для подражания - см. его README) на сайте разработчика USB драйвера для AVR. Возможно, часть вопросов снимется. Там реализован USB boot loader для меги32, использующий программную реализацию USB. Загрузчик позволяет, в частности, перешивать код приложения по тому же USB интерфейсу, что и само приложение может использовать. Загрузчик использует перемещение вектора прерывания в область бута для работы бута независимо от приложения (вопросы BOOTRST, и управления переключением вектора). Загрузчик поддерживает работу с серийными номерами и версиями бута и приложения, в т.ч. чтение последних бутом из области приложения для передачи утилите на PC. Очевидно, такой же подход можно использовать и в обратном направлении - используя вызовы каких-то функций, размещенных в области загрузчика, из области приложения. Я бы для такой цели (если иного варианта не видится) использовал таблицу переходов типа rjmp на начало нужных функций в буте, размещенную по фиксированному адресу в области бута. Тогда на них можно будет ссылаться из независимо собранного приложения, прописав только их адреса (которые фиксированы и известны независимо от сборки бута. Как прописать - см. там же, как вызывается приложение по адресу 0 из бута. Тут будет обратная картина. Я бы не совмещал вектора прерываний в буте и использующее их приложение в области application, так как возможности менять таблицу векторов бута нет, а меняя IVSEL, мы автоматом теряем возможность работы функций обработки прерываний в области бута (если не продублируем вектора во второй таблице). В общем, при таком подходе проблем будет намного больше, чем при раздельной сборке того и другого. Но если очень прижмет - то можно попробовать. Проект, как там написано, без комментариев, только как reference (хотя у меня работает). На конкретный вопрос ответить смогу. На вопрос "как все это собрать, чтобы заработало" - нет. Проект искать тут, называется Crypto-Boot (с парапланом в качестве иллюстрации). Собирался под IAR 4.12.
|
|
|
|
Сообщений в этой теме
arttab bootloader в IARe 3,10 Jul 5 2006, 08:16 Faradey посмотрите в примере от Atmel. Там не совсем то чт... Jul 5 2006, 15:18 arttab Цитата(Faradey @ Jul 5 2006, 22:18) посмо... Jul 6 2006, 08:57 arttab Это приложение к ан109. уже взял, уже ковыряю.... ... Jul 6 2006, 01:42 arttab Что означает __C_task void loader(void)?
Я только ... Jul 6 2006, 03:15 arttab Если я правильно понял, то:
_C - указывает что нуж... Jul 6 2006, 04:11 IgorKossak Цитата(arttab @ Jul 6 2006, 07:11) Если я... Jul 6 2006, 07:08 arttab Еще вопрос по адресам прерываний:
В табл 18 и 19 а... Jul 6 2006, 04:49 arttab Спасибо! Хоть один не отсылает к докам по IARу... Jul 6 2006, 08:22 IgorKossak Цитата(arttab @ Jul 6 2006, 11:22) Если я... Jul 6 2006, 12:46 arttab Ограниченость памяти меги8 и наталкивает на совмес... Jul 7 2006, 02:32 Old1 Цитата(arttab @ Jul 7 2006, 05:32) Ограни... Jul 7 2006, 07:23 Сергей Борщ Цитата(arttab @ Jul 7 2006, 05:32) Вопрос... Jul 7 2006, 07:24 arttab Есть вообще возможность разместить 2 таблици векто... Jul 7 2006, 07:16 IgorKossak arttab, Вы взяли для модифицирования не тот конфиг... Jul 7 2006, 07:32 arttab Спасибо всем. разбираюсь...
А что значит: Цитатасд... Jul 7 2006, 08:00 IgorKossak Цитата(arttab @ Jul 7 2006, 11:00) Спасиб... Jul 7 2006, 08:16 arttab Сергей Борщ,
в указаном Вами файле
RSEG LOADER... Jul 7 2006, 08:27 Сергей Борщ Цитата(arttab @ Jul 7 2006, 11:27) Сергей... Jul 7 2006, 09:37 arttab Начал делать отдельно Bootloader.
В проекте опред... Jul 9 2006, 05:46 IgorKossak Цитата(arttab @ Jul 9 2006, 08:46) Начал ... Jul 10 2006, 06:53 arttab Спасибо за подсказку. В my_lnkm8s.xcl переправил т... Jul 10 2006, 14:15 Сергей Борщ Цитата(arttab @ Jul 10 2006, 17:15) Код в... Jul 10 2006, 17:59 arttab ЦитатаОбрати внимание на строчку .xcl:
-H1895 -h(C... Jul 11 2006, 02:05 arttab Сергей Борщ? А где лежит файл intrinsics.h? не наш... Jul 11 2006, 03:03 Сергей Борщ Цитата(arttab @ Jul 11 2006, 06:03) Серге... Jul 11 2006, 09:00 arttab ЦитатаНе знаю что считать старшей версией
Имел в в... Jul 11 2006, 09:36 Сергей Борщ Цитата(arttab @ Jul 11 2006, 12:36) Цитат... Jul 11 2006, 14:15 arttab Уф, переполз на 4.12А. с трудом.
intrinsics.h нужн... Jul 12 2006, 09:02 arttab Сергей Борщ, не моглибы Вы прокоментировать мои из... Jul 13 2006, 07:33 Сергей Борщ Цитата(arttab @ Jul 13 2006, 10:33) Серге... Jul 13 2006, 08:20 arttab Спасибо. Просто я не понял как ими воспользоваться... Jul 13 2006, 09:28 arttab Люди, подскажите - есть ли в IAR функции для самоп... Jul 14 2006, 06:57 IgorKossak Цитата(arttab @ Jul 14 2006, 09:57) Люди,... Jul 14 2006, 08:24 Сергей Борщ Цитата(arttab @ Jul 14 2006, 09:57) Люди,... Jul 14 2006, 08:32 arttab или я чего туплю или как....
не понимаю как ими во... Jul 14 2006, 09:08 Сергей Борщ Цитата(arttab @ Jul 14 2006, 12:08) или я... Jul 17 2006, 07:59 arttab Бывае говоришь о чем то со спецом, все он говорить... Jul 15 2006, 11:42 arttab ЦитатаСогласно правилам языка высокого уровня С ес... Jul 17 2006, 08:10 arttab Нашел разницу в дебугере и релайсе: general option... Jul 18 2006, 01:40 IgorKossak Цитата(arttab @ Jul 18 2006, 04:40) ...Мо... Jul 18 2006, 06:21 arttab Лучше конечносделать как надо, но для small 1040 б... Jul 18 2006, 07:02 Сергей Борщ Цитата(arttab @ Jul 18 2006, 10:02) Лучше... Jul 18 2006, 07:37  prottoss Цитата(Сергей Борщ @ Jul 18 2006, 15:37) ... Jul 18 2006, 08:27 arttab Так до меня и не дошли все команды для самопрогамм... Jul 18 2006, 09:43 prottoss Цитата(arttab @ Jul 18 2006, 17:43) Так д... Jul 18 2006, 10:03 arttab Рекомендую читать вопрос и весь топик, а не часть... Jul 19 2006, 02:30 osnwt Цитата(arttab @ Jul 19 2006, 05:30) Вопро... Jul 19 2006, 06:40 arttab уже сделал. оптимизация не мешает - функции специф... Jul 19 2006, 09:27 arttab Получается менять код. Есть тонкости:
по аплекейше... Jul 25 2006, 02:07 arttab вот моя апликуха по написанию загрузчика по итогом... Aug 2 2006, 08:47 Сергей Борщ Цитата(arttab @ Aug 2 2006, 11:47) вот мо... Aug 2 2006, 09:41 arttab спасибо! коечто поправлю, что то добавлю.
По п... Aug 3 2006, 02:43 Сергей Борщ Цитата(arttab @ Aug 3 2006, 05:43) спасиб... Aug 3 2006, 07:56 arttab над циклом подумаю. файл прикладываю здесь - не см... Aug 3 2006, 08:50 arttab Выкладываю подправленую версию. Сергей Борщ, если ... Aug 18 2006, 02:04 arttab Модератор или кто статьями занимается - может в ст... Sep 4 2006, 09:22 IgorKossak Если люди умеют пользоваться поиском по форуму и в... Sep 4 2006, 12:12 _Alfred_ Хочу все же вернуться к вопросу о "принудител... Aug 12 2007, 18:14 arttab Если не хотите искать на форуме и посмотреть приме... Aug 13 2007, 02:16 _Alfred_ Цитата(arttab @ Aug 13 2007, 05:16) посмо... Aug 13 2007, 13:42 _Alfred_ Все, разобрался. Дело было как обычно в мельницах.... Aug 13 2007, 22:03 Len_OK тут столько всего написано...Про функции самопрогр... Dec 6 2007, 11:40 _Alfred_ Цитата(Len_OK @ Dec 6 2007, 15:40) тут ст... Dec 6 2007, 15:52 Len_OK Я уже могу писать, но почему-то только в конце заг... Dec 7 2007, 07:36 sergik_vrn Цитата(Len_OK @ Dec 7 2007, 10:36) Я уже ... Dec 7 2007, 14:37 _Alfred_ sergik_vrn
Наверное под "концом загрузчика... Dec 7 2007, 23:22 Len_OK всё никак не получается
пишу Options->Linker-... Dec 10 2007, 10:52 IgorKossak Цитата(Len_OK @ Dec 10 2007, 12:52) всё н... Dec 10 2007, 13:02 Len_OK извините конечно!!! Но что это за ошиб... Dec 10 2007, 13:26 Сергей Борщ Цитата(Len_OK @ Dec 10 2007, 15:26) извин... Dec 10 2007, 15:40 Len_OK спасибо, я уже разобралась.Невнимательна немного... Dec 10 2007, 15:53 alux Пытаюсь использовать функции записи во флеш из апн... Jan 16 2008, 20:08 Сергей Борщ Я думаю, ему не понравилось FARCODE. Поаробуйте пр... Jan 16 2008, 21:15  alux Цитата(Сергей Борщ @ Jan 17 2008, 01:15) ... Jan 17 2008, 06:14   Сергей Борщ Цитата(alux @ Jan 17 2008, 08:14) Прошу п... Jan 17 2008, 09:27    alux Цитата(Сергей Борщ @ Jan 17 2008, 13:27) ... Jan 17 2008, 13:51     Сергей Борщ Цитата(alux @ Jan 17 2008, 15:51) Если не... Jan 17 2008, 14:11     Baser Цитата(alux @ Jan 17 2008, 15:51) Еще раз... Jan 17 2008, 16:57 Baser Сразу возник вопрос: вы это пытаетесь добавлять в ... Jan 17 2008, 09:41 alux Код/* - lnkm324s.xcl -
* XLINK command fi... Jan 17 2008, 14:37 Сергей Борщ Цитата(alux @ Jan 17 2008, 16:37) Не вижу... Jan 17 2008, 15:03 alux Откровенно говоря у меня нет острой необходимости ... Jan 17 2008, 15:37 arttab я поимел большие проблемы в установлении причины п... Jan 18 2008, 02:02 alux Цитата(arttab @ Jan 18 2008, 06:02) я пои... Jan 18 2008, 11:16  Baser Цитата(alux @ Jan 18 2008, 13:16) To Base... Jan 18 2008, 16:29 Breese Возникла такая проблема - не работает АЕS бутлоаде... Jan 20 2008, 18:02 Сергей Борщ Цитата(Breese @ Jan 20 2008, 20:02) дошел... Jan 20 2008, 18:43 Breese Эмм ошибка в пустой функции??? Кстати в АврСтудио ... Jan 20 2008, 19:27 aesok Цитата(Breese @ Jan 20 2008, 22:27) Может... Jan 20 2008, 19:52  Breese Цитата(aesok @ Jan 20 2008, 22:52) А что ... Jan 20 2008, 20:08 arttab Breese
были приколы с "пустой функции main(vo... Jan 22 2008, 01:29 YWAS вот и у меня пришло время писать boot loader, начи... Aug 22 2009, 18:52 Сергей Борщ Цитата(YWAS @ Aug 22 2009, 21:52) такое в... Aug 22 2009, 21:01 YWAS Сергей спасибо за подсказки...
Все оказалось триви... Aug 23 2009, 08:42 Сергей Борщ Цитата(YWAS @ Aug 23 2009, 11:42) после в... Aug 23 2009, 09:16 YWAS типа того,
ошибся немного, было так
MCUCR = temp|(... Aug 23 2009, 09:46
2 страниц
1 2 >
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|