Меню Рубрики

Установка по для stm8

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

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

Установка ПО

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Прошивка МК

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

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

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

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

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

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

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

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

Для STM8L и STM8S используются разные библиотеки, будьте внимательны!

источник

Установка по для stm8

Если в прошлый раз я писал о работе с STM8 из под Linux, то сейчас мне бы хотелось раскрыть этот вопрос с позиций Windows.

В качестве ОС я выбрал «старушку» Windows XP SP3, а в качестве «подопытного» чипа, так же как и в прошлый раз, у меня STM8S103F3P6 распаяный на плате как на картинке слева. Используемый мною программатор, это китайский клон ST-Link2.

Читайте также:  Установка противопожарного клапана в противопожарной перегородке

Этот пост можно назвать «быстрым стартом» STM8в Windows.

1. Драйвера

Первым делом нужно будет поставить драйвера для программатора ST-Link2. Для этого заходим на домашний адрес компании ST в раздел данного программатора:

Проматываем страницу книзу, в раздел ПО:

после чего следует щелкнуть по STSW-LINK009. В результате попадем на страницу драйвера:

Как видно, драйвер предлагается для OC: Windows XP, Windows7, Windows8. Десятка похоже, что в пролете 😉

Кликнув по кнопке Download, получаем zip архив. Но т.к. как я уже говорил, что фирма ST сурова, то и никаких инсталятов со слайд-щоу и словами благодарности «за то что выбрали наше предложение», в архиве вы не найдете. Поэтому ставятся они по-другому.

Нужно вставить ST-Link2 в USB порт и дождаться когда запуститься мастер установки драйверов. В появившемся диалоговом меню следует отказаться от соединения с Window Update и в качестве источника драйверов указать распакованную папку скачанного архива.

После чего система сама найдет подходящие для себя драйвера и установит их:

Т.о. программатор начнет отображаться в диспетчере устройств:

2. Флэшер

На данный момент для разработки и отладки программного обеспечения для STM8 существует четыре среды: ST Toolset от STMicroelectronics, Ride7 от Raisonance (www.raisonance.com), CXSTM8 от Cosmic software, IAR Embedded Workbench от IAR Systems. Сравнительный анализ средств разработки программного обеспечения представлен в таблице1 Таблица 1. Сравнительный анализ бесплатных средств разработки программного обеспечения

Инструментарий Среда разработки Си-инструментарий Си-инструментарий других производителей Ограничение Си-иструментария, Кбайт Программатор-отладчик
STMicroelectronics ST Visual Develop Нет Cosmic software, Raisonance Нет ST-Link R-Link STICE
Raisonance Ride 7 Есть Нет 16 R-Link
Cosmic software CXSTM8 Есть Нет 32 Нет
IAR Systems IAR Workbench Есть Нет 8 или полная версия на 30 дней ST-Link STICE

Пакет ST Toolset включает в себя среду разработки ST Visual Develop и отдельную программу для более функционального внутрисхемного программирования flash-памяти микроконтроллеров ST Visual Programmer. Среда разработки ST Visual Develop имеет встроенный инструментарий для разработки программного обеспечения на языке assembler, но у нее также имеется возможность подключения и использования Си-инструментария от Raisonance и Cosmic software. Стоит заметить, что все четыре среды с Си-инструментарием предоставляют возможность использования с некоторыми ограничениями, а именно– по загружаемому коду во flash-память. УRaisonance оно составляет 16Кбайт, у Cosmic software– 32Кбайт, а у IAR– 8Кбайт или полную версию с 30-дневным ограничением.

Сейчас нужно будет скачать ST Toolset в состав которого входит флешер ST Visual Programmer. Его домашняястраница:www.st.com/web/en/catalog/tools/PF210568

Читайте также:  Установка планкена на фасад

Промотав cтраницу книзу и кликнув на Download получите zip-архив ST Toolset. После распаковки и установки у вас появятся ST Visual Developer и ST Visual Programmer. Первый нас не интересует, а второй следует запустить, это флешер. При запуске появиться окно конфигурации:

Выбрав тип микроконтроллера и программатор, попадаете в главное окно программы.

Важный момент: микроконтроллеры STM8 имеют единую шину памяти(адресная шина). Т.е. нет разделения на flash память и оперативную. Т.е. разделение есть на внутреннем уровне т.к. архитектура микроконтроллера все-таки гарвардская, но внешне, архитектура выглядит как фон Неймовская. Чтобы вспомнить, чем отличается одно от другого, приведу цитату из википедии:

В чистой архитектуре фон Неймана процессор в каждый момент времени может либо читать инструкцию, либо читать/записывать единицу данных из/в памяти. Оба действия одновременно происходить не могут, поскольку инструкции и данные используют один и тот же поток (шину). В компьютере с использованием гарвардской архитектуры процессор может читать инструкции и выполнять доступ к памяти данных одновременно, без использования кэш-памяти. Таким образом, компьютер с гарвардской архитектурой при определенной сложности схемы быстрее, чем компьютер с архитектурой фон Неймана, поскольку шины инструкций и данных расположены на разных, не связанных между собой физически, каналах. Исходя из физического разделения шин команд и данных, разрядности этих шин (следовательно, и адресные пространства) могут иметь различные значения и физически не могут пересекаться друг с другом.

Т.е. благодаря гарвардской архитектуре в AVR одна команда выполнялась за один такт.

Скриншот ST Visual Programmer:

Оперативка нас пока не интересует, на скриншоте красными стрелками помечены кнопки чтения и заливки прошивки.

Попытка прочитать что-то без программатора приведет к ошибке:

С программатором, но без микроконтроллера, тоже приведет к ошибке:

Пример успешного чтения прошивки:

Полученную прошивку можно тут же обратно записать в микроконтроллер или сохранить в файл. Можно открыть любую другую прошивку в формате ihex и из программы прошить микроконтроллер.

3. Среда разработки IAR

После того, как с прошивками разобрались, осталось узнать в чем эти STM8 программировать. Своего инструментария для разработки на Си у ST нет, а имеющиеся компиляторы или платны или доступны с ограничениями. Часто как наиболее оптимальное решение предлагается COSMIC, но без лицензионного ключа вы ничего в нем не сделаете, а он выдается спустя несколько дней с момента запроса (я ждал три дня). IAR имеет ограничение 8Кбайт, но лицензионный ключ выдается сразу. Причем ключ может выдаться на полностью функциональную версию, с ограничением в 30дней использования. Т.к. STM8S103F3P6 имеет как раз всего 8Кбайт, то большего как бы и не надо. В любом случае пока идет ключ для COSMIC, можно воспользоваться IAR. Скачать его можно с сайта IAR: https://www.iar.com/iar-embedded-workbench/#!?architecture=STM8

Читайте также:  Установка переключателя печки калина

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

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

Сейчас наша задача составить простой Blink, скомпилировать его и загрузить в микроконтроллер. Для этого сначала нужно создать новый проект:

затем, задать параметры проекта:

после чего откроется рабочее окно, где слева будет браузер проекта, в центре текстовый редактор, в снизу окно для логов. На панели инструментов не трудно будет найти кнопки компиляции и загрузки проекта в микроконтроллер:

Но прежде, чем что-то компилировать, следует сначала настроить проект. Поэтому в браузере проекта следует щелкнуть правой кнопкой по названию проекта, и открыть Options

где первым делом, во вкладке target следует выбрать целевой микроконтроллер:

а в качестве отладчика ST-LINK

Так же полезно будет зайти в опции IAR в настроить окно вывода сообшений:

После чего можно уже будет нажать на кнопку компиляции:

В нижнем окне логов появится отладочная информация.

Плата STM8S103S103F3P имеет два светодиода Один выполняет роль индикатора питания, другой подтянут к пину PB5(да, как в Arduino pin13).

Попробуем написать программу для мигания этим светодиодом:

Закомментируем сначала функцию delay, скомпилируем проект, подключим ST-Link с микроконтроллером и нажмем зеленый треугольник «Debug and Download» .

и попадем в окно отладчика. Справа будет ассемблерный листинг программы загруженной в микроконтроллер, слева на панели инструментов появятся кнопки для управления пошаговой отладкой. Нажимая «Step over» раз за разом, светодиод будет на плате будет то загораться то, гаснуть.

Раскомментиров delay, скомпилировав и загрузив прошивку еще раз в микроконтроллер, на панели отладки можно будет нажать на красный крестик. Тогда программа запустится на выполнение и светодиод начнет периодически мигать с интервалом примерно 1/5 сек.

Резюмируя можно сказать, за небольшую сумму (170 руб за ST-Link2 + 68 руб за плату STM8S103F3P6) получили в свои руки достаточно профессиональную связку железа и софта, с которыми можно сделать многое.

источник

Добавить комментарий