wellcom 0 17 ноября, 2018 Опубликовано 17 ноября, 2018 (изменено) · Жалоба Проблема с кейлом 5.17 - пошаговая отладка по исходнику работает, но только пройдя все команды в окне Disassembly. Тоесть желтая стрелочка двигается только в этом окне, а не по исходнику на С. Только когда все ассемблерные команды пройдены (которые отвечают за участок кода на С), только тогда сине-желтая стрелка переходит на след строку на исходнике. Таким образом, что бы выполнить строку кода на С, необходимо десятки раз кликать F10, что бы выполнились строки в окне дизасембер, и только потом переходит на след строку исходника на С. Все настройки проверил по многим статьям в интернете, но ничего не решилось. Видел пару подобных вопросов - внятных ответов на них нет. Кто сталкивался, как исправить, чтобы пошаговая отладка шла по исходнику на С, а не по асемблеру? Заранее спасибо. Изменено 17 ноября, 2018 пользователем wellcom Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Forger 17 17 ноября, 2018 Опубликовано 17 ноября, 2018 · Жалоба Какой компилятор? На всякий случай уточню - Keil работает с двумя компиляторами "из коробки", можно подключить другие. Какие опции компилятора? В частности уровень оптимизации? 6 minutes ago, wellcom said: пошаговая отладка шла по исходнику на С, а не по асемблеру? Для начала попробовать сделать активным окно исходников вместо окна disasm )) Как вариант - вообще закрыть окно disasm Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 18 ноября, 2018 Опубликовано 18 ноября, 2018 · Жалоба Именно, сделать активным окно исходника на С (файл еще открыть надо, чтобы виден был). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
wellcom 0 18 ноября, 2018 Опубликовано 18 ноября, 2018 (изменено) · Жалоба 3 часа назад, ViKo сказал: Именно, сделать активным окно исходника на С (файл еще открыть надо, чтобы виден был). Делала активным, закрывал его, ничего не помогает. Когда окно дизасемблер закрыто, при пошаговой отладке через F10, ее нужно жать ровно столько, сколько команд нужно пройти по асемблерному коду, хоть и его окна нет (отключено). Вот такие у меня настройки. Изменено 18 ноября, 2018 пользователем wellcom Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Forger 17 18 ноября, 2018 Опубликовано 18 ноября, 2018 · Жалоба Какой компилятор и какие настройки уровня его оптимизации? Есть какая-то веская причина использовать такую старую версию Keil? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Arlleex 131 18 ноября, 2018 Опубликовано 18 ноября, 2018 (изменено) · Жалоба 24 минуты назад, Forger сказал: Есть какая-то веская причина использовать такую старую версию Keil? Keil 4 - старая. А пятерка живее всех живых. P.S. wellcom, поставьте галку "Download to Flash" на вкладке, которую Вы привели выше. А на вкладке "Output" должна быть поставлена галка "Debug Information". Изменено 18 ноября, 2018 пользователем Arlleex Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Forger 17 18 ноября, 2018 Опубликовано 18 ноября, 2018 · Жалоба 1 minute ago, Arlleex said: Keil 4 - старая. А пятерка живее всех живых. 5.17 - это старая версия, уже давно существует 5.26 35 minutes ago, wellcom said: Вот такие у меня настройки. Это НЕ настройки комплятора, это - настройки отладчика/программатора. Если компилятор настроен на максимальный уровень оптимизации и отключено добавление в итоговый elf-файл отладочной информации, то ходить по исходникам по шагам не получиться ни в какой среде. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Arlleex 131 18 ноября, 2018 Опубликовано 18 ноября, 2018 · Жалоба 2 минуты назад, Forger сказал: 5.17 - это старая версия, уже давно существует 5.26 Я к тому, что даже в четвертом Keil-е описанная ТС проблема не является зависимой от версии компилятора/среды. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
wellcom 0 18 ноября, 2018 Опубликовано 18 ноября, 2018 (изменено) · Жалоба 8 минут назад, Arlleex сказал: Keil 4 - старая. А пятерка живее всех живых. P.S. wellcom, поставьте галку "Download to Flash" на вкладке, которую Вы привели выше. Поставил, запустил в отладке, но отладка сама не происходит (не стает на начало программы). Здесь почитал о этой настройке https://radiowolf.ru/2017/04/301/keil_µvision_ide/ Download to Flash (загружать во FLASH память) загружает код во все регионы памяти. Когда отключено, отладчик не загружает код в диапазоны адресов памяти, определенные в диалоговом окне « Flash Download Setup». Включите эту опцию, если приложение загружено в оперативную память, и алгоритм Flash определен для того же диапазона адресов. По умолчанию эта опция отключена. Обратитесь к статье базы знаний µVision Debugger: Error 57:Illegal Address in Debugger Output Window. Вроде бы мне это не нужно. 1 минуту назад, Arlleex сказал: Я к тому, что даже в четвертом Keil-е описанная ТС проблема не является зависимой от версии компилятора/среды. есть ли ссылка откуда можно стянуть 5.26?...вчера смотрел на рутрекере - не нашел ( Изменено 18 ноября, 2018 пользователем wellcom Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Arlleex 131 18 ноября, 2018 Опубликовано 18 ноября, 2018 · Жалоба 3 минуты назад, wellcom сказал: есть ли ссылка откуда можно стянуть 5.26?...вчера смотрел на рутрекере - не нашел ( На официальном сайте Keil uVision: https://www.keil.com/download/product/ Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
wellcom 0 18 ноября, 2018 Опубликовано 18 ноября, 2018 · Жалоба Debug Information - это и есть elf файл?....если да то все включено. поискал в папке с проектом файлы с расширение elf - не нашел. (( 1 минуту назад, Arlleex сказал: На официальном сайте Keil uVision: https://www.keil.com/download/product/ а таблетка от старого подходит? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Arlleex 131 18 ноября, 2018 Опубликовано 18 ноября, 2018 · Жалоба 2 минуты назад, wellcom сказал: а таблетка от старого подходит? Да. Показывайте, значит, содержимое всех окошек или скидывайте проект. Так будет проще. Исходники можете выкинуть, если что. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
wellcom 0 18 ноября, 2018 Опубликовано 18 ноября, 2018 · Жалоба 17 минут назад, Arlleex сказал: Да. Показывайте, значит, содержимое всех окошек или скидывайте проект. Так будет проще. Исходники можете выкинуть, если что. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Arlleex 131 18 ноября, 2018 Опубликовано 18 ноября, 2018 · Жалоба Так у Вас прошивка подразумевает сборку с выделенных адресов памяти. Возможно, загрузчика там расположен. Значит, загрузчик должен передать управление Вашей программе, либо отлаживайтесь без загрузчика по 0x08000000 адресу. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
wellcom 0 18 ноября, 2018 Опубликовано 18 ноября, 2018 · Жалоба Да, загрузчик есть, после того как он отработал, он передает управление программе, и дальнейшая отладка происходит но только через асемблер, когда все команды асемблера выполнены то гда переходит на след строку сишника. и т.д., т.е сначала выполняються все команды по асемблеру, и уж потом на С. Возможно что то не так настроено...или ельф файл не правильный (вообще его не нашел через поиск ). Есть идеи? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться