Меню Закрыть

Iar embedded workbench for stm8

Содержание

Прошло уже много времени с первого знакомства с микроконтроллерами STM8, на текущий момент у меня сложилось уже некоторое “понимание” компилятора Cosmic и появилось желание сравнить его с популярным продуктом IAR Embedded Workbench ®. Точнее меня интересует как реализовано выполнения кода из ОЗУ.

IAR Embedded Workbench® это интегрированная среда для разработки и отладки программ для различных платформ, в данном случае для микроконтроллеров серии STM8A, STM8S и STM8L.

На текущий момент предлагается версия 1.30 и два варианта использования:

  • 30-day evaluation edition — 30 дневная пробная версия, без ограничения по размеру кода
  • 8kB KickStart edition – почти без ограничения по времени (на текущий момент выдают лицензию до 2036 года), но с ограничением по размеру кода (8 кБ)

И ещё два варианта: купить полноценную версию или крякнуть 😉

Переустанавливать программы я не люблю, взламывать не наши методы, поэтому я выбрал 8kB KickStart edition для пробы более чем достаточно.

Для скачивая необходимо пройти регистрацию, почтовый адрес желательно указать реальный на него потом придет ссылка для скачивания и лицензионный ключ.

Процесс регистрации, загрузки и установки описывать не буду там все тривиально, отмечу только что размер дистрибутива составляет 106 Мб.

Первый запуск

Как и в эклипсе первым делом необходимо создать рабочее пространство Workspace:

я выбрал обычный Си.

Получилась вот такая заготовка:

Осталось только настроить проект под наши нужды.

Для этого открываем настройки проекта (Alt+F7) и производим следующие:

  • выбираем необходимый микроконтроллер, в моем случае это STM8S105C6
  • изменяем уровень оптимизации на максимальный
  • и выбраем ST-Link

Для примера я взял инициализацию OLED дисплея, скопировал все файлы в директорию проекта и подключил исходник для OLED дисплея:

Читайте также:  Земля со станции мир

Собралось все без проблем, что удивило 🙂

Разница в размере получилась не большая:

  • IAR – 762 байт
  • Cosmic — 701 байт

Но это для меня не главное, как я уже говорил мне интересно выполнение кода из ОЗУ.

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

Для проверки объявил функцию задержки с атрибутом __ramfunc , но чуда и тут не произошло

как видим идет вызов встроенной подпрограммы load32_10_dbsp расположенной по прежнему во флеш 🙁 (адрес 0x822C)

Так что пока вопрос остался открытым, буду искать решение дальше.

Если кто знает как решить или есть какие-то мысли по этому поводу напишите пожалуйста.

Прошло уже много времени с первого знакомства с микроконтроллерами STM8, на текущий момент у меня сложилось уже некоторое “понимание” компилятора Cosmic и появилось желание сравнить его с популярным продуктом IAR Embedded Workbench ®. Точнее меня интересует как реализовано выполнения кода из ОЗУ.

IAR Embedded Workbench® это интегрированная среда для разработки и отладки программ для различных платформ, в данном случае для микроконтроллеров серии STM8A, STM8S и STM8L.

На текущий момент предлагается версия 1.30 и два варианта использования:

  • 30-day evaluation edition — 30 дневная пробная версия, без ограничения по размеру кода
  • 8kB KickStart edition – почти без ограничения по времени (на текущий момент выдают лицензию до 2036 года), но с ограничением по размеру кода (8 кБ)

И ещё два варианта: купить полноценную версию или крякнуть 😉

Переустанавливать программы я не люблю, взламывать не наши методы, поэтому я выбрал 8kB KickStart edition для пробы более чем достаточно.

Читайте также:  Как заблокировать открытие сайта в яндексе

Для скачивая необходимо пройти регистрацию, почтовый адрес желательно указать реальный на него потом придет ссылка для скачивания и лицензионный ключ.

Процесс регистрации, загрузки и установки описывать не буду там все тривиально, отмечу только что размер дистрибутива составляет 106 Мб.

Первый запуск

Как и в эклипсе первым делом необходимо создать рабочее пространство Workspace:

я выбрал обычный Си.

Получилась вот такая заготовка:

Осталось только настроить проект под наши нужды.

Для этого открываем настройки проекта (Alt+F7) и производим следующие:

  • выбираем необходимый микроконтроллер, в моем случае это STM8S105C6
  • изменяем уровень оптимизации на максимальный
  • и выбраем ST-Link

Для примера я взял инициализацию OLED дисплея, скопировал все файлы в директорию проекта и подключил исходник для OLED дисплея:

Собралось все без проблем, что удивило 🙂

Разница в размере получилась не большая:

  • IAR – 762 байт
  • Cosmic — 701 байт

Но это для меня не главное, как я уже говорил мне интересно выполнение кода из ОЗУ.

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

Для проверки объявил функцию задержки с атрибутом __ramfunc , но чуда и тут не произошло

как видим идет вызов встроенной подпрограммы load32_10_dbsp расположенной по прежнему во флеш 🙁 (адрес 0x822C)

Так что пока вопрос остался открытым, буду искать решение дальше.

Если кто знает как решить или есть какие-то мысли по этому поводу напишите пожалуйста.

Full support for STMicroelectronics’ 8-bit STM8 microcontrollers and 32-bit Arm-based microcontrollers.

We offer full support for STMicroelectronics’ 8-bit STM8 microcontrollers and 32-bit Arm-based microcontrollers.

IAR Systems and STMicroelectronics work tightly together in support of STMicroelectronics’ 8-bit STM8 microcontrollers and 32-bit Arm-based microcontrollers. We provide full support for these feature-rich microcontrollers.

Читайте также:  Как правильно установить антенну для цифрового телевидения

The STM32 family of microcontrollers based on Arm Cortex‑M are supported by IAR Embedded Workbench for Arm, together with the Cortex A9-based SPEAr embedded microprocessors. The 8-bit STM8 microcontrollers and STLUX digital controllers for lighting applications are supported by IAR Embedded Workbench for STM8.

Tools for ST

Supported ST devices

We support your device!

Starter kits for ST MCUs

Our starter kits contains all the necessary hardware and software and allows you to design, start to develop, integrate and test your applications.

Getting started with our tools for STM32

This video shows how easy it is to start developing with IAR Embedded Workbench.

Рекомендуем к прочтению

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

Ваш адрес email не будет опубликован.