24180

Установка Keil и SPL Milandr

Дата последнего изменения: 20.09.2021 12:39:50

1. Установка Keil и SPL Milandr

Для начала работы с 32-битными микроконтроллерами Миландр на базе ядра ARM Cortex-M потребуется:

  1. Среда разработки Keil MDK 5. Демоверсия распространяется бесплатно, достаточно заполнить анкету на сайте производителя. На момент написания статьи, актуальной является версия v5.23. Ссылка на страницу загрузки ARM KEIL
  2. Pack для Keil от производителя - Pack. В разделе "Standard Peripherals Library + software pack для Keil MDK 5" скачиваем только архив "Software pack для Keil MDK 5" официальную версию. В этом архиве есть все необходимое для "регистрации" микропроцессоров Миландр в Keil и сама библиотека SPL.
    (Во втором архиве "Standard Peripherals Library" находится только библиотека SPL. Программирование под IAR описано в отдельной статье - Создаем проект в среде IAR.)

Рекомендуется дополнительно установить MDK v4 Legacy Support. Это позволит открывать проекты, созданные в Keil 4, и обеспечит поддержку для некоторых примеров. Например, будут установлены файлы, необходимые для программирования 1986ВЕ8Т.

Далее необходимо запустить инсталлятор Keil и согласиться с условиями лицензии. По умолчанию, Keil будет установлен в C:\Keil_v5. А в C:\Keil_v5\ARM\PACK будут складываться packи для подключаемых микропроцессоров. После окончания установки необходимо нажать Finish.

При первом запуске Keil будет запущен Pack Installer. Он обновит свои пакеты по сети интернет. Также его можно вызвать по иконке либо в меню Project - Manage - Pack Installer.

При запуске Pack Installer подскажет, как устанавливать pack Миландр: через меню File - Import (рисунок 1). В импорте выберем Pack "Software pack для Keil MDK 5" с сайта (должен быть выбран именно файл с расширением .pack). После установки в панели Devices появится группа микроконтроллеров Миландр. При установке может возникать ошибка с SVD файлом - её можно игнорировать, т.к. она не влияет на работоспособность среды. 

 Рисунок 1 - Pack Installer

Теперь IDE готова к работе с микроконтроллерами компании Миландр.

Следующим шагом создадим первый проект - Создание проекта.


2. Поддержка старых версий SPL/PACK

В процессе жизненного цикла SPL/PACK могут возникать ошибки/неточности, исправление которых невозможно без нарушения обратной совместимости между прошлой и новой версией. Введение изменений, нарушающих обратную совместимость, нежелательно, так как "ломает" проекты, созданные при использовании прошлых версий, но необходимо, так как за долгое время накапливается большое количество legacy кода.

При обновлении пользователь должен прочесть список введенных изменений. Списки введенных изменений входят в состав архивов.

В связи с этим вводится определение MDR_LEGACY_SUPPORT, объявленное в файле xxx_config.h, которое призвано обеспечить сохранение обратной совместимости и возможность адаптации готовых проектов для новых версий SPL/PACK с помощью проверки наличия определения MDR_LEGACY_SUPPORT и его значения, соответствующего номеру старой поддерживаемой версии. Дополнительно, внутри блоков кода, обеспечивающих обратную совместимость, добавлены предупреждения, описывающие, что рекомендуется использовать для адаптации готовых проектов под новые версии SPL/PACK. 

Так как определение MDR_LEGACY_SUPPORT объявлено в файле xxx_config.h, его также необходимо обновлять в проекте.
При первичной установке SPL/PACK и отсутствии готовых проектов для прошлых версий, в определении MDR_LEGACY_SUPPORT нет необходимости и его нужно закомментировать или изменить установленное по умолчанию значение на любое другое.

Следует отметить, что определение MDR_LEGACY_SUPPORT не обязано присутствовать в каждой версии SPL/PACK, оно вводится только при нарушении обратной совместимости в новой версии, и выводится из SPL/PACK за несколько обновлений следующим образом:

    1) Введены нарушающие обратную совместимость изменения, определение MDR_LEGACY_SUPPORT объявлено с заданным значением. Поддержка старых версий по умолчанию включена.

    2) Если следующая версия не является "быстрым обновлением" с исправлением критических ошибок, определение MDR_LEGACY_SUPPORT закомментировано, поддержка старых версий по умолчанию выключена. Если же следующая версия является "быстрым обновлением", то определение остаётся неизменным до выхода обновления, не являющегося "быстрым".

Обычно, при "быстрых" обновлениях изменяется последняя (третья) цифра (X.Y.Z - здесь третья цифра это Z), однако, это может быть не всегда так, поэтому необходимо предварительно ознакомиться с наличием изменений в файле xxx_config.h.

    3) Новая версия удаляет всю обратную совместимость, обеспечиваемую определением MDR_LEGACY_SUPPORT, из файлов поддержки. 

Также следует отметить, что стоит ориентироваться на Semantic Versioning 2.0.0 - названия новых выпускаемых версий стараются соответствовать данной системе.

Сохранить статью в PDF

Теги

Была ли статья полезной?