Jump to content

    

Пошаговая отладка в Keil 5.17 идет только по асемблеру (окно Disassembly)

16 минут назад, wellcom сказал:

Есть идеи?

Ну так все правильно же, чего Вы хотите?

В случае наличия загрузчика отладчик не понимает, что он есть, поэтому не может сразу перевести Вас на строчку main(). Вам надо руками прошагать по паре ассемблерных инструкций, и после вызова __main из startup-файла Вы попадете в Си-шный код. Можете точку останова на main() поставить и в отладчике посбрасывать процессор и посмотреть поведение.

Share this post


Link to post
Share on other sites
25 минут назад, Arlleex сказал:

Ну так все правильно же, чего Вы хотите?

В случае наличия загрузчика отладчик не понимает, что он есть, поэтому не может сразу перевести Вас на строчку main(). Вам надо руками прошагать по паре ассемблерных инструкций, и после вызова __main из startup-файла Вы попадете в Си-шный код. Можете точку останова на main() поставить и в отладчике посбрасывать процессор и посмотреть поведение.

Проблема не в том что я не могу попасть куда либо в Сишнике, а в том, что в любой где бы то ни было точке останова, когда я пытаюсь идти после пошагово, это пошагово идет именно так как описано, только через все инструкции асемблера...

 

жаль нельзя видео сюда добавить, я бы продемонстрировал..

2018-11-18_142507.jpg

 

 

А вот в процессе работы сработала точка останова, и всеравно пошагово идет только через окно дизасемблай

 

 

пошаговая.jpg

 

 

а где должен лежать этот ельф файл?....я его не нашел, может проблема из за этого?

 

Edited by wellcom

Share this post


Link to post
Share on other sites

А что пишет в окне Output или как оно называется, внизу? Ошибок не выдает на недопустимые адреса памяти? Их описать нужно в map memory. 

Share this post


Link to post
Share on other sites
52 minutes ago, wellcom said:

Есть идеи?

Создать как минимум ДВЕ версии прошивки: под загрузчик и без него.

А у меня их вообще ТРИ: DEBUG, RELEASE и PRODUCTION.

RELEASE - это почти DEBUG, но с максимальной оптимизацией, на выходе не формируются никакие доп. файлы, кроме HEX.

PRODUCTION - это RELEASE версия, но для загрузчика и с отключенным отладочным журналом.

Отлаживать нужно ТОЛЬКО под версией DEBUG. Проверять в изделии - под версией RELEASE, а отдавать в производство - под версией PRODUCTION.

 

Безымянный.jpg

 

 

 

Вы же почему-то решили пойти сложным путем со своими граблями ;)

Share this post


Link to post
Share on other sites
6 минут назад, ViKo сказал:

А что пишет в окне Output или как оно называется, внизу? Ошибок не выдает на недопустимые адреса памяти? Их описать нужно в map memory. 

Внизу нет никаких ошибок. Где этот мап мемори ? это файл или настройки?

 

5 минут назад, Forger сказал:

Создать как минимум ДВЕ версии прошивки: под загрузчик и без него.

А у меня их вообще ТРИ: DEBUG, RELEASE и PRODUCTION.

RELEASE - это почти DEBUG, но с максимальной оптимизацией, на выходе не формируются никакие доп. файлы, кроме HEX.

PRODUCTION - это RELEASE версия, но для загрузчика и с отключенным отладочным журналом.

Отлаживать нужно ТОЛЬКО под версией DEBUG. Проверять в изделии - под версией RELEASE, а отдавать в производство - под версией PRODUCTION.

 

Вы же почему-то решили пойти сложным путем со своими граблями ;)

так и есть. создан мультипроект. Загрузчик и основная программа. 

Какие у Вас настройки под RELEASE / DEBUG / PRODUCTION ?

Edited by wellcom

Share this post


Link to post
Share on other sites
3 minutes ago, wellcom said:

Внизу нет никаких ошибок.

 

так и есть. создан мультипроект. Загрузчик и основная программа. 

Мультипроект - это само собой: проекты для предкомпилированных библиотек, чтобы не тащить в проект кучу неизменных исходников,

сам проект и собвстенно загрузчик (если он предусмотрен проектом),.

Под каждый проект в мультипроекте как минимум ДВЕ версии: RELEASE и DEBUG.

Для библиотек - может быть много исполнений.

Разницу между RELEASE и DEBUG я описал выше. Она типовая.

 

Share this post


Link to post
Share on other sites

У меня к сожалению вот такая картина...

2018-11-18_145050.jpg

 

Это нужно как то отдельно настраивать ?....

Edited by wellcom

Share this post


Link to post
Share on other sites

 

Quote

Это нужно как то отдельно настраивать ?....

 

Разумеется! Ведь среда не может это сделать за вас. 

Или ручками каждый раз при смене типа проекта меняйте ВСЕ настройки :blum3:

Как настраивать - читайте мануал на среду.

 

Share this post


Link to post
Share on other sites
2 минуты назад, Forger сказал:

 

Разумеется! Ведь среда не может это сделать за вас. 

Или ручками каждый раз при смене типа проекта меняйте ВСЕ настройки :laugh1:

Как настраивать - читайте мануал на среду.

 

Согласен, но это как то решит неудобства с пошаговой отладкой?

К сожалению нет времени на чтение и перевод (с англ плохо) десятков страниц, а если не поможет - то и вовсе время в пустую..

Edited by wellcom

Share this post


Link to post
Share on other sites
8 minutes ago, wellcom said:

Согласен, но это как то решит неудобства с пошаговой отладкой?

Настройте проект так, чтобы его можно было отлаживать БЕЗ отладчика, вообще!

Конечно, ваш загрузчик будет потёрт, но по-другому нельзя отладить проект.

 

Quote

К сожалению нет времени на чтение и перевод (с англ плохо) десятков страниц, а если не поможет - то и вовсе время в пустую..

Тогда руками меняйте опции проекта туда-сюда при смене версии DEBUG/RELEASE :dash2:

Когда это реально достанет, вы очень быстро разберетесь что, где и как это все настроить :don-t_mention: Глядишь, и знание языка подтяните ;)

 

Share this post


Link to post
Share on other sites
2 минуты назад, Forger сказал:

Настройте проект так, чтобы его можно было отлаживать БЕЗ отладчика, вообще!

Конечно, ваш загрузчик будет потёрт, но по-другому нельзя отладить проект.

Тогда руками меняйте опции проекта туда-сюда при смене версии DEBUG/RELEASE :dash2:

Когда это реально достанет, вы разберетесь быстро где и как создать это средствами среды :don-t_mention:

 

без отладчика это как?...написать с первого раза без ошибок и правильно?

дайте плз ссылку на талмут по среде.

Share this post


Link to post
Share on other sites
Только что, wellcom сказал:

без отладчика это как?...написать с первого раза без ошибок и правильно?

Без загрузчика, в смысле.

image.png.f7d26d0aece2412e277a738032a8332f.png

Вот сюда заходите и жмете пиктограммку добавления нового режима сборки.

Share this post


Link to post
Share on other sites
6 minutes ago, wellcom said:

без отладчика это как?...написать с первого раза без ошибок и правильно?

Я имел ввиду, без ЗАГРУЗЧИКА, описка, пардон )

Share this post


Link to post
Share on other sites

Проверил у себя сейчас. Даже при работе под загрузчиком программа выполняется как нужно, по C-шному коду. Мыслей пока больше никаких. Частоту SWD-интерфейса поднять?

Share this post


Link to post
Share on other sites
1 минуту назад, Arlleex сказал:

Проверил у себя сейчас. Даже при работе под загрузчиком программа выполняется как нужно, по C-шному коду. Мыслей пока больше никаких. Частоту SWD-интерфейса поднять?

была 1,8 - установил 4 МГц, результат без изменений.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now