Разработка приложений для СнК SmartFusion2 с использованием средств разработки Libero SoC и SoftConsole.
Часть 3. Разработка встраиваемого ПО в среде SoftConsole 4.0

PDF версия
Время, в которое мы живем, можно с уверенностью назвать эрой электроники. Едва ли не каждую неделю крупнейшие производители микросхем выбрасывают на рынок новые чипы. Растут производительность и функциональные возможности встроенных в микросхемы периферийных узлов. Изменение функциональных возможностей микросхем, таких как ПЛИС и СнК, приводит к необходимости обновления программных средств разработки приложений для этих микросхем.

Все статьи цикла.

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

Пример подобных «революционных» изменений в области создания средств проектирования для СнК — появление новой версии среды разработки встроенного программного обеспечения (ВПО) для ПЛИС и СнК Microsemi SoftConsole 4.0. Для разработчика неприятным сюрпризом оказалась несовместимость проектов, выполненных мастером Export Firmware Libero SoC 11.6, c SoftConsole 4.0 и необходимость предпринимать дополнительные шаги при создании проекта встраиваемого приложения. К приятным сторонам новой версии среды разработки можно отнести полную совместимость SoftConsole 4.0 с новым программатором FlashPro5 (тот случай, когда разработка аппаратного обеспечения почти на год обогнала создание ПО), возможность творить свои проекты в ОС Linux и наличие встроенного в SoftConsole 4.0 терминала-эмулятора для отладки приложения. Необходимо также добавить, что платформа, применяемая SoftConsole 4.0, рассматривается Microsemi как основная, то есть формат проектов ВПО, используемый SoftConsole 3.4, доживает свои последние если не дни, то месяцы.

Самое время познакомиться с процессом создания, разработки и отладки проектов ВПО с помощью среды разработки SoftConsole 4.0.

Создадим проект ВПО в SoftConsole 4.0 для разработанного ранее дизайна СнК SmartFusion2 [1, 2]. Для этого нам необходимо выполнить ряд подготовительных действий. Войдем в папку проекта и переименуем ранее сформированные папки firmware и SoftConsole с ВПО, созданным SoftConsole 3.4, в firmware_34 и SoftConsole_34 соответственно. Создадим папку SC4, в ней будут храниться файлы проекта ВПО, реализованные в SoftConsole 4.0. Теперь откроем проект СнК в Libero SoC и выполним команду Export Firmware. Поскольку форматы файлов проекта ВПО SoftConsole 3.4 и SoftConsole 4.0 не совместимы, а проект SoftConsole 3.4 в данный момент нас не интересует, снимем галочку Create project for selected Software Tool Chain. Результат представлен на рис. 1. Нажимаем кнопку OK.

Экспорт файлов встроенного программного обеспечения из Libero SoC 11.6

Рис. 1. Экспорт файлов встроенного программного обеспечения из Libero SoC 11.6

Теперь запустим SoftConsole 4.0 и создадим проект ВПО. В качестве места хранения файлов проекта укажем только что созданный нами каталог ../SC4 в папке проекта (рис. 2). Откроется главное окно графического интерфейса пользователя SoftConsole 4.0. Поскольку мы еще не сделали ни одного проекта, все окна графического интерфейса пусты. Выполним команду File > New > C Project. В появившемся окне свойств создаваемого проекта заполним поля:

  • Project Name: SC4_project;
  • Project type: Executable/Empty Project;
  • Toolchains: confirm Cross ARM GCC is selected.
Выбор расположения файлов проекта

Рис. 2. Выбор расположения файлов проекта

Опцию Use default location оставим выбранной. Результат представлен на рис. 3. Принимаем изменения, нажимаем кнопку Next. На следующем шаге согласимся с предложенными по умолчанию настройками и также нажимаем Next. Во вкладке Cross GNU ARM Toolchain контролируем значения параметров и нажимаем Finish.

Создание проекта ВПО

Рис. 3. Создание проекта ВПО

  • Toolchain name: GNU Tools for ARM Embedded Processors (arm-none-eabi-gcc);
  • Toolchain path: ${eclipse_home}/../arm-none-eabi-gcc/bin.

В результате предпринятых усилий появится новый проект встраиваемого программного обеспечения, а главное окно графического интерфейса SoftConsole 4.0 примет вид, показанный на рис. 4.

Главное окно SoftConsole 4.0 с созданным проектом

Рис. 4. Главное окно SoftConsole 4.0 с созданным проектом

Теперь необходимо импортировать в проект драйверы используемых периферийных блоков MSS SmartFusion2 и стандартные библиотеки, предназначенные для разработки приложений. Для этого выполним команду меню File > Import, в появившемся окне в качестве источника раскроем General > File System и нажмем кнопку Next. В следующем открывшемся окне укажем каталог с нужными файлами /Firmware нашего проекта и выберем импортируемые опции в левом окне:

  • CMSIS;
  • Drivers;
  • drivers_config;
  •  

В правом окне выберем файл MSS_system_hw_platform.h (рис 5).

Импорт драйверов периферийных блоков и стандартных библиотек

Рис. 5. Импорт драйверов периферийных блоков и стандартных библиотек

Файл с исходным кодом нашего приложения на языке С нами уже создан [1, 2]. Остается импортировать его в проект по освоенной нами схеме, то есть выполнить команду File > Import, General > File System. Указываем каталог, в котором находится файл: E:\Actelprj\LedUART\SoftConsole_old\LedUART_MSS_CM3\LedUART_MSS_CM3_app. Ставим галочку напротив нужного нам файла main.c (рис. 6). В результате описанных действий файл с исходным кодом виден в окне Project Explorer. Откроем его, дважды щелкнув на нем левой кнопкой мыши. Результат представлен на рис. 7.

Импорт файла с исходным кодом ВПО

Рис. 6. Импорт файла с исходным кодом ВПО

Исходный код приложения в среде SoftConsole 4.0

Рис. 7. Исходный код приложения в среде SoftConsole 4.0

Теперь следует настроить среду разработки для будущего проекта. В окне Project Explorer щелкнем мышкой на корневой папке проекта SC4_project, затем выполним команду File > Properties. В появившемся окне выберем опции C/C++ Build > Settings. В выпадающем списке Configuration: выберем All configurations. Во вкладке Tool Settings выберем Cross ARM C Compiler > Miscellaneous. В поле Other compiler flags необходимо ввести значение: —specs=cmsis.specs (рис. 8). Во вкладке Cross ARM C Compiler > Includes укажем путь ../drivers/mss_uart/.

Настройка общих параметров конфигурации компилятора

Рис. 8. Настройка общих параметров конфигурации компилятора

Следующий шаг — настройка специфических параметров конфигураций Debug и Release. Начнем с конфигурации Debug. Из выпадающего списка Configuration: выберем Debug [Active]. Во вкладке Tool Settings выбираем Cross ARM C Linker > General. В окне Script files (-T) справа нажимаем кнопку Add. В появившемся окне указываем значение параметра: ../CMSIS/startup_gcc/debug-in-microsemi-smartfusion2-esram.ld (рис. 9). Переходим во вкладку Cross ARM C Linker > Miscellaneous. В ней необходимо выбрать пункт Use newlib-nano (—spces=nano.specs), как показано на рис. 10.

Конфигурация Debug-линковщика

Рис. 9. Конфигурация Debug-линковщика

Настройка конфигурации линковщика

Рис. 10. Настройка конфигурации линковщика

Настроим конфигурацию Release, для этого из выпадающего списка Configuration: выберем Release. Во вкладке Tool Settings выбираем Cross ARM C Linker > General. В окне Script files (-T) справа нажимаем кнопку Add. В появившемся окне указываем значение параметра:

../CMSIS/startup_gcc/debug-in-microsemi-smartfusion2‑envm.ld

для отладки из eNVM, или

../CMSIS/startup_gcc/production-smartfusion2‑execute-in-place.ld.

Для получения исполнимого *.hex-файла ВПО и создания единого файла прошивки СнК [1, 2] во вкладке Cross ARM C Linker > Miscellaneous необходимо выбрать пункт Use newlib-nano (—spces=nano.spec).

Далее необходимо выбрать активную конфигурацию, щелкнув в окне Project Explorer на папке проекта SC4_project. В появившемся меню выбрать Build Configuration > Set Active > Debug или Release. После чего собрать проект, выполнив команду основного меню Project > Build Project. Далее подключаем программатор к отладочному набору по JTAG и по USB к персональному компьютеру и выполняем пошаговую отладку приложения, как описано в [1]. По окончании отладки собираем итоговую прошивку и заливаем ее в микросхему согласно инструкциям, описанным в [2]. Убеждаемся в успешном выполнении разработанного нами приложения. Проект ВПО, описание которого представлено в данной статье, можно скачать по ссылке [3].

Литература
  1. Поздняков П. Разработка приложений для СнК SmartFusion2 с использованием средств разработки Libero SoC и SoftConsole // Компоненты и технологии. 2016. № 1.
  2. Поздняков П. Разработка приложений для СнК SmartFusion2 с использованием средств разработки Libero SoC и SoftConsole. Часть 2. Создание исполняемой версии прошивки // Компоненты и технологии. 2016. № 2.
  3. drive.google.com/file/d/0B6gJ23CPBznKc3ZPNndBdzRZcDQ/view?usp=sharing/ссылка утрачена/

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *