Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Проблема сделать Release
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Cредства разработки для МК > IAR
XGoblinX
Всем привет.

Не могу понять как релиз собрать.
Запускается из под дебага с J-Link безупречно, но нужно, чтобы оно без джитага работало.
Делаю так: Progect
Edit Configuration
Дальше из Debug делаю Release.
В опциях на релиз убираю просто отладочную инфу.
В проекте макродефайны в опциях оставляю те же. Вектора гружу в 0ой сектор. В общем всё то же самое.

Что именно нужно сделать чтобы всё было?
VladislavS
Вижу какое-то глобальное недопонимание. Давай с начала по полочкам.

Для компилятора разделение Release и Debug чисто условное. В обоих случаях ты можешь включать или нет отладочную информацию, менять степень оптимизации и прочие настройки проекта. Разница начинается уже после того как линкер собрал выходной файл.

В варианте Debug скомпилированный файл прошивки, содержащий отладочную информацию, обычно загружается в ОЗУ и ему передаётся управление. Через J-tag осуществляется отладка. В принципе, ничто не мешает с помощью флэшлоадера поместить прошивку во FLASH и производить отладку, выполняя программу из FLASH. Нужен только флэшлоадер для твоего процессора и правильный конфигурационный макрос.

Результатом сборки Relaese обычно является только файл прошивки без отладочной информации. Этот файл потом нужно как-то поместить во FLASH и сказать процессору стартовать из FLASH. Одни из вариантов записи во FLASH - использование флэшлоадера как в режиме отладки.

Обрати внимание на следующее:
1. При запуске программы из SRAM при отладке или из FLASH при штатной работе адресное пространство распределено по разному. Сегменты данных, кода, cтэки и векторы прерываний обязательно правильно разместить в памяти. Это всё надо в настройках проекта установить. Попросить линкер сделать map-файл и проверить по каким адресам он всё разместил.
2. Я не работал с STM32, но беглый просмотр даташита говорит, что он может стартовать из FLASH, SRAM или системной памяти. После того как ты поместил прошивку во FLASH процессор надо перевести в режим старта из FLASH.
3. Каким способом ты помещаешь готовую прошивку во FLASH (прошиваешь)? Это можно сделать либо флэшлоадером через J-tag, либо бутлоадером процессора через UART, либо ... Да мало ли как, но в любом случае, ты должен чётко понимать что (файл прошивки), как и по каким адресам надо прошить.
4. Насчёт векторов прерываний. При старте из FLASH их не надо скопировать в SRAM?

Цитата(XGoblinX @ May 3 2011, 17:35) *
Что именно нужно сделать чтобы всё было?

Хороший даташит и его полное прочтение, хэлпы от компилятора почитать внимательно. Сказать компилятору сделать программу в точности так как написано в даташите на процессор. Прошить и запустить sm.gif
XGoblinX
Цитата(VladislavS @ May 3 2011, 21:11) *
...

Спасибо большое! Очень развёрнуто!
Напомнили мне про BOOT0 BOOT1 и вспомнил, что схемотехник и тот и другой вариант предусмотрел (притягивать туда или туда).
Перепаяли мне резюк и всё залетало под дебагом даже )
Спасибо!
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.