08.10.2016, 19:40
|
|
Супер-модератор
Регистрация: 13.03.2004
Адрес: Minsk
Сообщений: 2,378
Сказал спасибо: 1,956
Сказали Спасибо 1,328 раз(а) в 578 сообщении(ях)
|
Хочу пошаговую отладку в ОЗУ
Вопрос к гуру по СТМкам.
Хочу грузить и отлаживать программу в ОЗУ. Почитал по инету - вроде возможно такое. Попытался осуществить - не вышло.
В общем, есть ST-LINK USB свисток, есть J-Link коробочка, она вроде покруче. Есть пара плат с СТМками. Плату беру простейшую, C8T6, + JLink
Разбираюсь с настройками проекта - ставлю адреса для ROM с 20000000, для RAM 20000800, не забываю VECT_TAB_SRAM. Компилирую простейшую программу типа мигалки, смотрю MAPу - вроде все в тех адресах где надо.
Пытаюсь загрузить - не идет. Кейл(4.74.0.22) вообще не хочет область ОЗУ грузить... Ладно, беру утилиту JLinkARM_V460a - но и ей не получилось.
Плюнул, взял "свисток" ST-LINK - тот область ОЗУ грузит своей программой. Есть и консольная, делает то же - на крайний, запустим ее.
Но вот среда кейла никак не выходит на отладку. К окну исходника не привязывается, PC на нужный адрес не устанавливает и вообще улетает невесть куда.
Ну вот что делаю не так? Что упустил? Или желаемое вообще невозможно?
__________________
[ жизнь приятна и красива, если выпить литр пива ]
|
|
|
|
08.10.2016, 20:22
|
|
Заблокирован
Регистрация: 22.04.2014
Сообщений: 0
Сказал спасибо: 15
Сказали Спасибо 366 раз(а) в 284 сообщении(ях)
|
Re: Хочу пошаговую отладку в ОЗУ
Возможно. Просто оно нафиг никому не нужно, по многим причинам, поэтому и мало кому интересно.
Если уж действительно интересно, Pridnya на Микрочип.сю с этим копошился. Бейте поиском.
|
|
|
|
09.10.2016, 17:04
|
|
Супер-модератор
Регистрация: 13.03.2004
Адрес: Minsk
Сообщений: 2,378
Сказал спасибо: 1,956
Сказали Спасибо 1,328 раз(а) в 578 сообщении(ях)
|
Re: Хочу пошаговую отладку в ОЗУ
ЧуднО люди устроены... Мне неинтересно - значит, всем неинтересно, а кому интересно - лохи. За ссылку на человека спасибо, только человек тот оказался каким-то странным - "консультаций не даю, ваши проблемы". Может, денег хотел?
А по теме - разобрался сам, времени вот только потратил. Все получилось. Желаемое возможно. Кому надо - поделюсь опытом. За спасибо.
__________________
[ жизнь приятна и красива, если выпить литр пива ]
|
|
|
Эти 3 пользователя(ей) сказали Спасибо nml за это сообщение:
|
|
|
09.10.2016, 17:32
|
|
Гуру портала
Регистрация: 17.07.2010
Адрес: мурмурляндия
Сообщений: 10,662
Сказал спасибо: 185
Сказали Спасибо 3,183 раз(а) в 2,063 сообщении(ях)
|
Re: Хочу пошаговую отладку в ОЗУ
nml, а этот человек только срать умеет. Это все уже отмечают. Ему наверно уведомления приходят что есть тема где насрать можно.
Кстати вы как администратор могли бы таких банить периодически, глядишь желания поубавится, как у вовоки 5 лет назад
__________________
кагмаподэ магмаподэ
|
|
|
|
09.10.2016, 19:18
|
|
Заблокирован
Регистрация: 22.04.2014
Сообщений: 0
Сказал спасибо: 15
Сказали Спасибо 366 раз(а) в 284 сообщении(ях)
|
Re: Хочу пошаговую отладку в ОЗУ
Сообщение от nml
|
ЧуднО люди устроены... Мне неинтересно - значит, всем неинтересно, а кому интересно - лохи.
|
Не буду спорить, у каждого свои выводы.
Мне вот даже неинтересно почему вам это интересно. Да и судя по отсутствию постов в этой теме я оказался прав.
Сообщение от nml
|
За ссылку на человека спасибо, только человек тот оказался каким-то странным - "консультаций не даю, ваши проблемы". Может, денег хотел?
|
Да, есть такое, водятся за ним странности, а кто же не без греха?
Сообщение от nml
|
А по теме - разобрался сам, времени вот только потратил. Все получилось. Желаемое возможно. Кому надо - поделюсь опытом. За спасибо.
|
Вот поэтому я и сказал, что мало кому интересно. Из того что помню это на Микрочипе и что-то на элхе проскакивало. Больше как академический интерес, практического применения не вижу.
Сообщение от индюк
|
Это все уже отмечают.
|
Что в супе ты вкуснее?
Цитата:
|
злобная вредная птица индюк
|
|
|
|
|
09.10.2016, 19:37
|
|
Заблокирован
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,486
Сказал спасибо: 396
Сказали Спасибо 2,220 раз(а) в 1,319 сообщении(ях)
|
Re: Хочу пошаговую отладку в ОЗУ
И кто такой вовока и чем он знаменит?
...
Дело в том, что адреса ПЗУ начинаются с 0ч0800 0000, а адреса ОЗУ начинаются с 0x2000 0000. МК стартует с адреса 0x0000 0000. Но физически к такому адресу не привязана никакая память. Вместо этого стоит своего рода тумблер на три положения, который, в зависимости от состояния ног boot0, boot1, либо от битов в регистре опций, переключает физические адреса на место стартовых адресов. Область адресов с 0х0000 0000 по 0х001F FFFF (конкретное значение зависит от модели МК) является переключаемой.
Стартовать МК может с трех позиций - собственно ПЗУ программ на флеше, ОЗУ с исполняемым кодом, и внутренний особый загрузчик, адрес которого начинается с 0x1FFF xxxx, а конкретное значение зависит от модели МК.
МК первым делом читает адрес 0ч0000 0000, в который помещена ссылка (адрес) начала стека, и затем адрес 0ч0000 0004, в который помещена ссылка на адрес, по которому размещена первая инструкция вектора сброса. То есть, в зависимости от того, какая именно память - ПЗУ или ОЗУ будет подключена к стартовым адресам, оттуда и начнется запуск МК.
В этом можно убедиться вживую.
Ставим брекпоинт в файле стартапа на векторе сброса, и следим за регистром R15(Program Counter), в него будет загружен адрес первой исполняемой инструкции, и если этот адрес находится в диапазоне адресов ОЗУ (0х200х хххх), значит, МК будет исполнять код, записанный в ОЗУ.
Если же в R15 будет адрес, принадлежащий ПЗУ (0х08хх хххх), то старт будет из ПЗУ.
Ну а касательно отладки из ОЗУ - за исключением нескольких ограничений, это вполне полноценная отладка, и может очень даже хорошо использоваться. Основное ограничение - размер кода вместе с размером используемой кодом памяти не должен превышать размера доступного ОЗУ. В "ёмких" МК это не проблема. Зато в плюсе - программируется быстрее и не расходуются "жизни" флеша, особенно на этапе знакомства с МК, либо отладки работы каких-либо подключаемых деталек..
Последний раз редактировалось NewWriter; 09.10.2016 в 19:41.
|
|
|
|
09.10.2016, 19:43
|
|
Гуру портала
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
|
Сообщение от индюк
|
nml, а этот человек только срать умеет. Это все уже отмечают. Ему наверно уведомления приходят что есть тема где насрать можно.
Кстати вы как администратор могли бы таких банить периодически, глядишь желания поубавится, как у вовоки 5 лет назад
|
Пранойу лечить надо. Тебе везде заговор мерещиться...
nml, в паках есть же скрипты для отладки в RAM. Пользовал давно правда.
__________________
Осторожно , злой кот
Последний раз редактировалось dosikus; 09.10.2016 в 19:46.
|
|
|
|
09.10.2016, 20:01
|
|
Заблокирован
Регистрация: 22.04.2014
Сообщений: 0
Сказал спасибо: 15
Сказали Спасибо 366 раз(а) в 284 сообщении(ях)
|
Re: Хочу пошаговую отладку в ОЗУ
Сообщение от NewWriter
|
Ну а касательно отладки из ОЗУ - за исключением нескольких ограничений, это вполне полноценная отладка, и может очень даже хорошо использоваться. Основное ограничение - размер кода вместе с размером используемой кодом памяти не должен превышать размера доступного ОЗУ. В "ёмких" МК это не проблема. Зато в плюсе - программируется быстрее и не расходуются "жизни" флеша, особенно на этапе знакомства с МК, либо отладки работы каких-либо подключаемых деталек..
|
ОЗУ, как правило, намного меньше чем ПЗУ.
Из ОЗУ прога выполняется по другому чем из ПЗУ. Такты задержки флэша ещё никто не отменял. В некоторых задачах это различие может сказаться.
"Жизнь" флэша сейчас никого уже не волнует. Цена на память и МК низкая, циклов перезаписи для большинства случаев вполне хватает.
Изначально выполнение проги из ОЗУ предназначено для других задач. Например - перезапись флэша в работающем девайсе или загрузчик, или какие-то критические по времени секции.
Исходя их всего этого отладка в ОЗУ, за исключением редких случаев, и даром никому не нужна.
|
|
|
|
09.10.2016, 20:12
|
|
Супер-модератор
Регистрация: 13.03.2004
Адрес: Minsk
Сообщений: 2,378
Сказал спасибо: 1,956
Сказали Спасибо 1,328 раз(а) в 578 сообщении(ях)
|
Re: Хочу пошаговую отладку в ОЗУ
Сообщение от dosikus
|
nml, в паках есть же скрипты для отладки в RAM. Пользовал давно правда.
|
Где ж ты раньше был... (с)песня
Разобрался уже.
Смотрел в examples а надо было в boards
Ну зато теперь разобрался, как говорится, прочувствовав суть. Это даже лучше.
__________________
[ жизнь приятна и красива, если выпить литр пива ]
|
|
|
|
09.10.2016, 20:15
|
|
Гуру портала
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
|
Re: Хочу пошаговую отладку в ОЗУ
nml, Дык STM прав оно особо и не нужно.
Лучше на другие плюшки внимание перекинуть, в том же JLink -RTT,и VCOM . Логический анализатор опять таки...
__________________
Осторожно , злой кот
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 21:22.
|
|