vazz 0 24 мая, 2018 Опубликовано 24 мая, 2018 · Жалоба Прикупил STM8L-Discovery, на борту STM8L152C6T6. Установил STVD 4.3.12 с оф.сайта вместе с дровами для платы. Создал пространство, в нем проект на ассемблере. Сначала не разобрался что такое STVP, поэтому запустил STVD и увидел пиктограмму “Programmer”, нажал (уж очень хотелось узнать увидит ли софт мою плату), получил AppCrash и закрытие STVD без моего на то желания. Избавился от этого безобразия путем, описанным STMщиками тут https://community.st.com/thread/45768-st-vi...rogramming-tool. Еще раз запустил STVD, подключил плату, открыл созданное пространство+проект, нажал на Programmer и увидел, что это некий Light Programmer, особо нифига не понял как там можно оптионал битс выставлять и т.д., закрыл. Скомбилировал и собрал проект, нажал на “Debug”. Отладка вроде как запустилась без ошибок, НО тут началось «непонятное». Во-первых, перед запуском отладки я установил чисто для интереса breakpoint на первой же инструкции, где инициализируется стек, думал, что после запуска отладки смогу нажать Run и отладчик, «добежав» до этой точки, остановится. Но отладчик этого делать и не думал, в момент запуска отладчика он что-то невнятное выругал и просто взял и удалил только что установленную мной точку останова. Я так и не понял почему. Ладно, хрен с ней с точкой, решил с помощью кнопок «перескока» (step in и др.) посмотреть как будет идти выполнение когда. Но, к моему сожалению отладчик не показывал маркер напротив строки, которую он сейчас выполняет. Но при этом показывает маркер в окне дизассемблера. Я немного поднапрягся, разбираться не стал. Решил посмотреть выходной файл, который после сборки проекта генерируется для прошивки в МК. Как я смог понять он выводится в папку Debug с расширением s19. Открыл блокнотом, посмотрел, там всего две строки. Закрыл. Решил изменить код в main.asm, добавив какую-нибудь инструкцию (одну), добавил инструкцию в основном цикле (после всех инициализаций и очистки ram, собрал проект и пошел смотреть этот самый выходной файл с расширением s19. Дата и время изменения файла изменились, но содержимое осталось ровно таким же, две строчки, цифра в цифру совпадает с содержимым файла до внесения изменений в код. В общем я в недоумении пока что. Может кто поделится своим первым проектом типа «помигать светодиодом» для STM8L-Discovery? Только чтобы проект был полностью со всеми инклудами, а то мой мозг убеждает меня, что без наглядного примера я так и . Кстати в свой проект после include mapping.inc я также добавлял STM8L152.inc и STM8L152.asm (скопированные в папку с проектом). Да и еще, отладчик при отключенном дискавери не запускается (пишет ошибку соединения), т.е. плату видит явно, хотя, мне кажется в моем случае это не так важно, так как у меня траблы уже на этапе простой компиляции кода в выходной файл. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VladislavS 39 24 мая, 2018 Опубликовано 24 мая, 2018 · Жалоба А может ну его, этот ASM? С-ник сильно проще. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vazz 0 24 мая, 2018 Опубликовано 24 мая, 2018 (изменено) · Жалоба А может ну его, этот ASM? С-ник сильно проще. я планирую использовать STM8L только в максимально простых и дешевых проектах, с минимумом памяти. В общем сейчас поигрался с инклудами.. дело в некоем "правильном" включении файлов в проект, весьма пока дико для меня это все. В инклудах я встречаю даже END в конце отдельного файла. Видимо, так вот просто без оглядки эти инклуды нельзя включать в тексте основного файла, их все таки нужно именно добавлять в проект с помощью среды (типа правой кнопкой на папке проекта и затем "Add Files To Project"). Светодиод заморгал! Из непонятных косяков самой среды STVD еще вот чего - при установке ДВУХ И БОЛЕЕ точек останова при отладке отладчик может пропускать все точки кроме первой попавшейся, т.е. как будто бы я не установил точку (хотя красная точка отображается). Такое происходит при использовании кнопки "Run". А вот если смотреть выполнение кода пошагово (типа "Step Into"), то отладчик не пропускает ни одной точки останова. С одной стороны рад, что что-то уже получилось, с другой "терзают смутные сомненья" на счет правильности выбора среды разработки.. Еще поиграюсь конечно, может привыкнуть надо просто. Изменено 24 мая, 2018 пользователем vazz Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Kopa 0 9 февраля, 2019 Опубликовано 9 февраля, 2019 (изменено) · Жалоба On 5/24/2018 at 9:36 PM, VladislavS said: А может ну его, этот ASM? С-ник сильно проще. Как вариант https://github.com/TG9541/stm8ef eForth достаточно компактно и непритязательно. (Wiki описание есть) Знание ассемблера, приветствуется. :) P.S. Здесь некоторая подборка книг по Форт, есть и по eForth Изменено 9 февраля, 2019 пользователем Kopa Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
k155la3 27 10 февраля, 2019 Опубликовано 10 февраля, 2019 · Жалоба On 5/24/2018 at 4:53 PM, vazz said: . . . Такое происходит при использовании кнопки "Run". А вот если смотреть выполнение кода пошагово (типа "Step Into"), то отладчик не пропускает ни одной точки останова. С одной стороны рад, что что-то уже получилось, с другой "терзают смутные сомненья" на счет правильности выбора среды разработки.. . . . Читайте внимательно листинг - warning. Также учитывайте, что время выполнения под отладчиком (при пошаговом исполнении - уж точно) и без оного, будет разным (также как и отработка аппаратных таймеров, если Вы их используете). Из-за этого возможно и наблюдается отработка-неотработка BP. Вам так или иначе надо будет работать на С Предлагаю Вам взять любой HelloWorld проект на С для Вашего контроллера. Если нужен именно ASM - то в С-ишный проект легко прилинковывается модуль с исходником на ASM, который будет компилироваться в составе проекта. Что там происходит "в целом" на уровене ASM кода Вы сможете посмотреть в листингах, надо только включить в опциях проекта режим его выдачи. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться