[uquote="nuisance",url="/forum/viewtopic.php?p=3720882#p3720882"]Где вообще про них рассказывается?[/uquote]
Обычно в документации к компилятору. Но тут странная ошибка:
WIN execution failed
типа виндовс не может запустить exe файл компилятора (cxstm8.exe).
Cosmic установлен стандартным путем? Т.е. скачан с сайта, установлен, потом запрос лицензии, французы присылают бесплатную лицензию, которую надо указать...
Начать можно было бы с создания простого проекта - в STVD хороший визард создания проекта. Там нужно потом только добавить заголовочный файл от производителя.
Пример, вижу для stm8 touchsensing - вполне возможно надо скачать посвежее версию с родного сайта, у меня Cosmic эти оба примера нормально компилирует: https://www.st.com/en/embedded-software ... h-lib.html
[uquote="oleg110592",url="/forum/viewtopic.php?p=3721014#p3721014"]Cosmic установлен стандартным путем? Т.е. скачан с сайта, установлен, потом запрос лицензии, французы присылают бесплатную лицензию, которую надо указать...[/uquote]
Скачан стандартно. С родного сайта. Лицензия и всё такое... Установлен, не по умолчанию, а по моему усмотрению (в смысле путей установки).
Новые воркспейсы и проекты (пустые) создаёт и компилирует без ошибок.
Но я подумал, что в процессе ковыряния своими кривыми руками (мозгами) обязательно что-нибудь сломаю и тогда захочется откатить как было. Вот и скачал с родного сайта демо прогу, которая поставляется с дискавери. Пытаюсь её откомпилировать, чтобы, по мере надобности залить обратно.
В ходе экспериментов понял, что сначала надо освоить рабочую среду. Почитал мануал на Космик, но про ошибку с кодом 2 ничего не нашёл. Понял, что надо копать глубже, а вот где копать не знаю
Спасибо за совет. Попробую скачать новую версию заливки. О результатах сообщу.
Но вопрос про теорию остаётся открытым.
Добавлено after 53 minutes 2 seconds:
Скачал. Там приложение для STM8S207K6, а у меня на дискавери стоит STM8S105C6.
Это принципиально?
[uquote="nuisance",url="/forum/viewtopic.php?p=3721911#p3721911"]Скачал. Там приложение для STM8S207K6, а у меня на дискавери стоит STM8S105C6.
Это принципиально?[/uquote]
Работать скорее всего не будет, но для проверки правильности компиляции сгодится.
Скачал пример "Project discover" - Cosmic нормально компилирует, без ошибок. Если что, Cosmic установил в корень диска C:\ в папку C:\COSMIC.
Как при отладке в IAR в окне кода вывести зеленую стрелочку, указывающую, какая строка программы выполняется после каждого шага? В окошке дизассемблера стрелочка есть, а в окне кода нет.
Еще пара вопросов появились. Как я выяснил методом тыка, отладка в железе работает только в конфигурации "Release", а не "Debug", как казалось бы и должно быть. Для чего тогда Debug? Для отладки в симуляторе?
Второе. Пошаговая отладка в IAR работает нормально, программа-мигалка блинкает если прогонять программу по шагам нажатием кнопки "Step over". При нажатии на кнопку "Go" ничего не происходит, светодиод постоянно светиться и не мигает... Хотя, если много раз нажимать последовательно "Go" и "Break" видно, как стрелочка в окне кода останавливается на рандомных строчках программы в цикле while в блоке main, и светодиод после остановки программы либо светиться, либо нет, в зависимости от того на какой строчке произошла остановка.
И, светодиод во время выполнения отладки не мигает, но светиться как-то тускло, а когда останавливаешь зажигается немного ярче. Похоже что он мигает, но с очень большой частотой. Такое впечатление, что отладчик игнорирует задержки. Один раз мне удалось тыканьем в кнопки заставить светодиод мигать в режиме отладки, но не помню как я этого добился.
Микроконтроллер STM8S103F3P, код мигалки под спойлером взят из интернета. Спойлер#include <stdint.h>
Проверьте настройки в обоих конфигурациях, они независимые. Отладка прекрасно работает в обоих случаях.
Задержки может игнорировать из-за оптимизации компилятора. Иои уберите оптимизацию, или используйте volatile переменную в функции задержки.
Квалификатор volatile не помог, а после настроек оптимизации задержки стали работать, а светодиодик моргать. На самом высоком уровне оптимизации МК отказывался отрабатывать задержки при оптимизации по скорости. Ну да ладно, работает при оптимизации по размеру, и хорошо. Для меня обычно важнее бывает утрамбовать прошивку по размеру, чем оптимизировать ее по скорости выполнения. GARMIN, спасибо.
P.S. кстати, задержки не только в отладке не работали. И без отладки прошивка не хотела работать как нужно.
Просто задержки делаются совсем по другому.
С миллисекундным таймером и без циклов ожидания.
Тогда другие функции будут работать во время ожидания таймера в одной.
А у вас полная блокировка процессора на время ожидания.
Ну да, delay - несомненное зло. Но сейчас я курю stm8 с самого начала, и мне бы чего побыстрее, на скорую руку, чтобы освоиться со средой программирования, программатором, самим микроконтроллером и его начальной инициализацией. До таймеров когда еще доберусь. Кстати, оптимизация по скорости выполнения скорее всего устранила задержки решив, что они зря жрут машинные циклы
Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда. Я на гитхабе, в ЖЖ
Eddy_Em, а можно чуть более подробную информацию по этому проекту https://github.com/eddyem/STM8_samples/ ... r/Makefile ? Это генератор шума или генератор функций? Управляется по uart или можно кнопки, энкодеры и дисплей прикрутить. Контроллер как я понял STM8S105?
Asmodey, это шим-генератор всяких разных сигналов. Я думал было игрушку сделать музыкальную, но забил.
Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда. Я на гитхабе, в ЖЖ
А она умеет что-то делать в уже имеющемся виде? Хотелось бы разобрать какой-нибудь готовый проект для лучшего усваивания инфы по stm8, и вот этот Ваш приглянулся
Кто-нибудь сталкивался с невозможностью прошивки STM8 с aliexpress?
Заказал с aliexpress 10 штук STM8S105K4T6. Запаял в плату и не прошивается. Программатор просто не может связаться с микрокнтроллером.
Запаял вместо него другой STM8S105K4T6, но приобретенный в ЧипДипе. И этот чип видится и перепрошивается. Запаял прежний и опять не работает!
Есть у меня еще китайская плата с тем же STM8S105K4T6. Решил с ней поработать. Подключился к ней - все работает. Выпаял из платы чип, запаял несколько из купленной партии с алэкспресса. И ни один не работает!
По схемотехнике абсолютно точно все в порядке. Напряжения в норме на Vcap конденсатор 1 мкф.
В начале этой темы DrWatson отписался
1) "Чистый" микроконтроллер всегда стартует с загрузчика.
[uquote="nanocat",url="/forum/viewtopic.php?p=3730892#p3730892"]Напряжения в норме на Vcap конденсатор 1мкф[/uquote]
на Vcap напряжение 1.8В ?
на всякий, утилитка командной строки для прошивки stm8 под виндовс: https://github.com/sensics/IR-Board-Pro ... /stm8flash
не самая свежая - опция -u может не работать, примеры командной строки для stm8s003f3:
[uquote="oleg110592",url="/forum/viewtopic.php?p=3730918#p3730918"]на Vcap напряжение 1.8В ?[/uquote]Да. В том то и дело, что в одной и той же обвязке stm8 из ЧипДип работают, а те что с aliexpress не работают
[uquote="oleg110592",url="/forum/viewtopic.php?p=3730918#p3730918"]на всякий, утилитка командной строки для прошивки stm8 под виндовс:[/uquote]То же не помогает. Кстати, как можно натянуть на эту программу графический интерфейс? Или это в двух словах не объяснить?
Попробуйте нажать кнопку RESET или что-там есть, дать команду прошиться и тут же RSET отпустить. У меня как-то 103 так заработал, может случайно. Возможно в китайских МК прошивка сразу после старта отключает SWIM.
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.