Установка ПО для работы с STM8

Я уже понял что нестандартное решение, пугает новичков. Поэтому сегодня рассмотрим использование стандартных решений.



Установка ПО

Самым оптимальным по коду на данный момент по прежнему остается компилятор от Cosmic Software.

Скачиваем дистрибутив с официального сайта скачать (www.cosmicsoftware.com).

Переходим к установке:

Рисунок

image

Указываем имя и название компании:

image

Указываем путь, куда будем ставить:

image

image

image

image

После установки нас попросят зарегистрировать продукт:

image

Заполняем форму и сохраняем данные в файл на диск:

image

После пишем письмо на адрес указанный в файле (который получили ранее), прикрепляем файл к письму и для верности вставляем содержимое файла в тело письма:

image

Все, ждем файла лицензии. Похоже что проверяет все это дело человек и поэтому регистрация доступна только в рабочие дни.

Далее качаем среду от STM скачать (www.st.com).

Переходим к установке:

image

imageimage

image

Первый проект

Запускаем ST Visual Develop:

image

Создаем новый проект (для примера рассмотрим работу с платой STM8S-Discovery):

image

image

image image

image

Проект создан:

image

Можно попробовать собрать:

image

Если все верно, после компиляции получим следующее:

image

Осталось добавить в наш проект библиотеку от STM, качаем её скачать.

В архиве содержаться примеры и исходники.

Создаем новую папку в нашем проекте:

image

Далее копируем исходные фалы библиотеки (из скаченного архива, папка Libraries) в директорию проекта и добавляем их в созданную папку:

image

image

так же копируем и добавляем, файлы из папки “STM8S_StdPeriph_Lib_V2.0.0ProjectTemplate”, перед этим нужно удалить созданные визардом файлы (stm8_interrupt_vector.c, main.c) или просто перезаписать:

image

Пробуем собрать проект, но не получается нам предлагают выбрать тип МК:

image

Открываем файл stm8s.h и выбираем нужное семейство:

image

Пробуем собрать снова, и снова не получается Улыбкаоказывается нужно оставить только те модули которые у нас присутствуют в выбранном МК, т.е. удалить из проекта:

image

adc2, can, tim5, tim6, usart1, usart3.

После все должно скомпилироваться:
image

Так же я добавлю свои заготовки для работы с линиями ввода-вывода, так как мне не очень понравились библиотечное решение (фалы в проекте в конце страницы).

Прошивка МК

Для прошивки мк, нужно выбрать:

image

image

После подключения платы к компьютеру, жмем кнопочку:

image

и после снова нажать на кнопочку:

image

лучшего решения я не нашел, кто знает напишите пожалуйста.



В качестве примера рассмотрим стандартное мигание светодиодом Улыбка

К счастью он есть на обоих платах (STM8L-Discovery, STM8S-Discovery).

Проект для STM8L-Discovery:

2011-04-24-stm8l-stdlib-led-demo

Проект для STM8S-Discovery:

2011-04-24-stm8s-stdlib-led-demo

Для STM8L и STM8S используются разные библиотеки, будьте внимательны!
  • +4
  • 12 августа 2011, 21:12
  • ZiB

Комментарии (72)

RSS свернуть / развернуть
А как IAR в плане качества кода? Похоже это пока единственный доступный на халяву (методом лечения, разумеется) полноценный неограниченный компилер (ну и бесплатная версия с ограничением размера кода тоже афайк есть).
0
  • avatar
  • Vga
  • 12 августа 2011, 21:51
ИАР на математике (например, функции работы с длинными числами) кроет Cosmic более чем на 40%. Для себя выбор давно уже сделали — STVD среда для отладки абсолютно никакая.
0
Не знаю мне чет кряки не нравятся последнее время, а халявный вариант имеет слишком сильные ограничение по коду или сейчас что-то поменялось?
0
Кряки плохо, но пока это единственный (вообще единственный) вариант получить неограниченный компилер, не отстегивая кучу бабок. Для остальных-то хоть GCC есть. Хотя под PIC я тоже как-то не видел открытых компиляторов, а у бесплатных всех опитимизация оторвана.
Ограничения IAR Kickstart не помню. Подозреваю что 16к.
Бесплатный COSMIC мож и не так плохо, но опасения вызывает ограниченная одним годом лицензия (если я его с raisonance не путаю) и отсутствие креков. Можно внезапно обнаружить, что халява кончилась, а все проекты — под нее.
0
На случай облома есть заначка ;)
0
А именно?
0
Вылеченный от жадности космик.
0
Думаю что людям, собирающимся что-то спаять и запрограммить на микроконтроллере, не обязательно объяснять, как нажимать на «I agree» и «next».
Вообще, интересно бы посмотреть на сравнение разных сред. Тут больше пугают не нестандартные решения, а сам выбор. Когда нет времени самостоятельно попробовать разные варианты и выбрать свой, когда, не имея опыта, сложно разобраться и в одной среде разработки, хочется сразу сделать правильный выбор. Я вот так и не решил, на чем остановиться. Пока пробую Кейл. Но уже подумываю про IAR, что-то его чаще вспоминают последнее время. А больше статей — проще новичку, вроде меня. Предложенный вариант, как я понимаю, подходит только для STM8, но не для STM32. Уже минус, для хобби лучше выбирать более универсальные средства.
+7
  • avatar
  • ACE
  • 12 августа 2011, 23:16
Кейл как IDE получше иара.
0
Зато иар есть для большего кол-ва микроконтроллеров.
0
Ага, но для АРМ и С51 я предпочитаю кейл. И еще экспериментирую с халявными IDE и GNU тулкитом.
0
У меня тоже для армов c кейлом ulink2 есть:)
0
Спорное замечание =)
0
Сам я использую эклипс в связке с различными компиляторами, для меня это самое универсальное решение. Можно не отходя от кассы писать сразу под все.
0
Пишите как можно больше статей про STM! Любых, пусть и пустяковых, иногда бывают затупы на какзалось бы банальных вещах.
+1
IDE, похоже, на базе MS Visual Studio 2003. Я этот интерфейс везде узнаю :)
0
Неа, это Visual C++ 98 среда. VS 2k3 уже на .Net была написана и ориентирована, а это еще старая добрая 98-ая :)
0
Когда-то давно я в ней еще код на TASM & MASM писал, затачивая ее на асемблерные тулзы :) Давно было, аж слезу пустил)))
0
Это вы о STVD чтоль? Не заметил я по ней, чтобы она на чем-то базировалась. На MSVS6 не похожа, да и на более новые тоже. Да и насколько я помню, там редактором стоит Scintilla, а M$ всегда что-то свое юзали.
0
Я бы сказал «убийственно похожа», вплоть до диалогов настройки компилятора :)
Это VC 6.0 (VS 98)
VC6
А это уже VS .Net 2003
VS.2003
И это Stm8 VD
stvd
Редактор построен на Scintilla, за редактор кода ответственна библиотека STVD_TxtEditor.dll, в ней же и функции встречаются типа CScintillaView::CScintillaView(void), CScintillaView::PrintFooter(class CDC *,struct CPrintInfo *,struct RangeToFormat &) и прочие…
Собрано, вроде как с помощью VC++ 8.0.
Так что да, разработка своя, редактор на Scintilla, чем вдохновлялись тоже понятно, если глянуть на VC6 :)
0
Насчет «вдохновлялись» спорить не буду. Хотя, надо отметить, на кайло с иаром оно тоже изрядно похоже, да и вообще интерфейс довольно стандартный.
0
А космик разве бесплатный? Помнится под ST7 его качал, так вроде как регистрацию требовал и денег хотел.
0
Есть бесплатная лайт-лицензия, 32кб кода, 1 год.
0
А представляете себе через годик на дисплее вашей Discovery: «Бесплатная лицензия закончилась, введите регистрационный код!» А у Вас всего 2 кнопки, и вопрос КАК? всплывает сам собой. =) Шучу, но мало ли, могут и до такой дряни додуматься.
+1
ZiB, как Вы могли упомянуть расово неверные библиотеки:) Меня за них съесть хотели:)
0
  • avatar
  • PRC
  • 13 августа 2011, 03:07
Вы дели бы вы вопросы которые приходили ко мне на мыло :) При чем все новички почему то сразу лезут в такие дебри, что сами себя добивают. А с либой хотя бы примеры идут, и используя STVD можно хотя на первом этапе посмотреть что и как происходит в мк (путем отладки).
0
Познавательно однако, спасибо!
А через год нету возможности продлить лицензию? Я вообще сторонник легального софта, даже винда лицовая ;)
0
IAR Kickstart не требует ни лицензии, ни ее продления. Продлить вроде пока можно, если ничего не изменится.
+1
Ок, спасибо. Для начала попробую как автор советует, а там как пойдет.
0
На самом дела почти не важно чем пользоваться, главное что бы вам было комфортно работать. Если не захотят выдать новую, найдем таблетку.
0
У меня тупняк какой-то… #error clnk Debug\first.lkf:1 symbol _GPIO_Init not defined (Debug\main.o )

Можете поделиться готовым «пустым» проектом под stm8l? Типа такого:

#include "stm8l15x.h"
void main(void)
{
  for(;;);
}

И расскажите пожалуйста: какие файлы и куда совать, чтобы получить «пустой проект» под stm8l-discovery, пользуясь архивом stm8l15x_stdperiph_lib.zip.
0
Теперь все работает! оказывается надо было включить в проект еще и *.c файлы :) Диодик замигал, а значит я сделал первый шаг на пути к успеху!

Что-то мне эта среда не очень нравится… eclips у lpcXpresso по-приятнее будет!
0
ой ошибся, не та ссылка сори. (как удалить не знаю :()
0
  • avatar
  • ZiB
  • 29 августа 2011, 15:17
Всем привет. Такой вопрос, если мне придется переустанавливать винду, то можно ли будет использовать уже имеющийся файл лицензии или придется запрашивать его заново?
0
  • avatar
  • vmg
  • 20 октября 2011, 20:05
Вроде можно, при переходе на новую версию использовал файл лицензии от старой — работает.
0
Здравствуйте, Денис. Спасибо за оперативный ответ.
Т.е. привязка к компу делается один раз и потом этот же файл лицензии можно использовать на этой машине сколько угодно?
0
День добрый, гарантий я не даю, просто рассказал свой опыт :)
Привзяка похоже идет к HDD
0
«День добрый»
не рановато? сколько там у вас? :)
0
«универсально» :) на тот момент у нас было 7-10 утра
0
Нашел на Радиокоте вот такое сообщение: «мне не хватает адекватности французов, которые высылают ключ, привязанный ко всему, к чему можно (даже венду не переставить)» Ссылка
0
  • avatar
  • vmg
  • 21 октября 2011, 18:35
Письмо на stm8_32@cosmic.fr не доходило — приходило писмо о том, что не удалось доставить. Отправил им на другой email (support@cosmic.fr) информацию для регистрации и на следующий день получил файлик с лицензией.
0
Странно, я всегда на это мыло отправлял.
0
Пару дней назад регистрировался — в файле был прописан адрес stm8_Free@cosmic.fr
Отправил, на следующий день ответили
0
У них там ящики переменились. то же было и с 16к версией, её отменили и ящик больше не отзывался.
0
ссылка не пашет на библиотеку
а вообще странно почему надо что-то докачивать :)
после установки софта!?
0
Все ссылки на st.com мертвы. Лучше их убрать вообще
0
Не мудрено, запись 2011 года.
0
Все сделал по статье написал прогу под девайс все работает Никто не подскажет как залочить прошивку от считывания через swim именно команды для cosmic и ST develop
0
Нужно установить защиту ReadOnlyProtected ROP, можно воспользоваться STVP. Идет вместе с STVD.
0
Большое спасибо
0
Добрый день. может кто знает где в STVD выставляется размер heap?
0
В общем случае это дело ищется в опциях линкера. Если среда напрямую не поддерживает — может потребоваться покурить доки на линкер.

В случае STVD+CXSTM8 — Project Settings -> Linker -> Input.
0
Привет. А под Cosmic есть какой-нибудь хидер с описанием битов в регистрах, а то не совсем удобно шевелить отдельными ножками через весь регистр.
0
День добрый, не совсем понял, что нужно. Если линиями ввода-вывода «дергать», то может макросы помогут:
ziblog.ru/2010/11/17/makrosyi-dlya-stm8.html
вот тут есть пример использования
github.com/ZiB/STM8S-USB
0
Да речь как раз об этом, о возможности битовых операций под Cosmic наподобие:

PD_ODR_bit.ODR0 = 1;

В IAR это работает, т.к. там хидер содержит описание битов регистров, для космика такого найти не удалось и приходится извращаться через лог. ИЛИ и т.п.
Такое ощущение что не существует, хотя есть отзывы что работает:
we.easyelectronics.ru/STM8/mikrokontrollery-stm8-porty-vvoda-vyvoda.html
Пользователь ChipKiller пишет, что у него всё ОК…
0
Скопируйте заголовочник из IAR-а да и всё :)
0
А так дельного мало чего подскажу, я использую только свои макросы…
0
0
Спасибо, т.е. всё-таки родного ничего нет, только самодел?
0
картинки -то где ?!
0
Нет. Я бы поправил, да сайт постоянно лежит Ди похоже забил на него.
Читайте в «оригинале» Your text to link...

«Notice: Memcache::get(): Server localhost (tcp 11211) failed with: Connection refused (111) in /home/a146/www/we.easyelectronics.ru/engine/lib/external/DklabCache/Zend/Cache/Backend/Memcached.php on line 134»
0
Спасибо
0
Глюки у него, но пользоваться можно. Залей лучше картинки прямо на местный сервер.
0
Само редактирование не работало, точнее его сохранение. Сейчас ещё раз попробовал, сохранилось :)
0
Оно не «не работало», оно просто рандомно глючит. Нужно повторать до тех пор, пока не сработает >_<

И ты по прежнему со своего блога подтягиваешь картинки. Опять отвалятся же. Лучше загрузи их сюда.
0
Нет, желания сюда переливать.
Тьфу, тьфу надеюсь больше переделывать не буду, ща блог на статике крутиться, ни каких баз данных и прочей лабуды которую нужно помнить :)
Да, и информация у меня уже не такая полезная и актуальная.
0
Если временно перекинешь в блог 8051, то могу сделать это за тебя)
0
Господа, может кто подскажет где в STVD посмотреть сколько памяти МК занимает созданная программа?
0
В выхлопе компилятора, надо полагать. Возможно, нужны какие-то опции. У меня кончилась лицензия на космик, так что пока новая не придет — посмотреть не могу.
0
Есть файлик *.map там информация в текстовом виде с указанием адресов памяти. Хотелось что-то более очеловеченное в процентах, вроде в cvavr было :)
0
Я делал свой костыль для этого ziblog.ru/2011/10/03/formatirovanie-informatsii-o-razmerah-sektsiy-cosmic-chat-2.html (https://github.com/ZiB/comic_format)

На выходе получал вот такую информацию:

FLASH: [14,2%] 4634 bytes
RAM: [ 9,7%] 198 bytes
EEPROM: [ 0,4%] 4 bytes
0
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.