Перейти к содержанию

    

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

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

Есть идеи?

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
25 минут назад, Arlleex сказал:

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

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

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

 

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

2018-11-18_142507.jpg

 

 

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

 

 

пошаговая.jpg

 

 

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

 

Изменено пользователем wellcom

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
52 minutes ago, wellcom said:

Есть идеи?

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

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

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

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

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

 

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

 

 

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
6 минут назад, ViKo сказал:

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

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

 

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

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

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

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

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

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

 

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

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

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

Изменено пользователем wellcom

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
3 minutes ago, wellcom said:

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

 

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

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

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

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

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

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

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

2018-11-18_145050.jpg

 

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

Изменено пользователем wellcom

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

 

Quote

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

 

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

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

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

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
2 минуты назад, Forger сказал:

 

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

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

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

 

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

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

Изменено пользователем wellcom

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
8 minutes ago, wellcom said:

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

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

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

 

Quote

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

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

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

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
2 минуты назад, Forger сказал:

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

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

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

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

 

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Только что, wellcom сказал:

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

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

image.png.f7d26d0aece2412e277a738032a8332f.png

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
6 minutes ago, wellcom said:

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
1 минуту назад, Arlleex сказал:

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти