Em::Blocks 1.20

Вышла Em::Blocks 1.20, в которой довольно много вкусностей:

  • Semihosting as library option for EmBlocks Bare-metal ARM
  • Semihosting checkbox in debug interfaces JLink and STlink
  • Live data implemented on memory watch and debugger variable tooltip.
  • New STlinkGDB server with live data and semihosting support
  • Syntax highlight on GNU linker scripts
  • Yagarto toolchain replaced by Generic GCC (Yagarto project is cancelled)
  • C++ library linker option and C++ compiler options added
  • Make file tool entry is replaced by CPP tool entry.
  • Device list updated for JLinks
  • STmicro project wizard is changed so that the debug interfaces are preconfigured at the beginning.
  • Breakpoint on-the-fly is now working
  • Run to main() is working smoothly
  • Pre-compiled headers is supported
  • File manager plugin added to the installation package
  • EnergyMicro project wizard is using the preinstalled header files from EM instead of copying all the files with the wizard.
  • Project wizard can also use ZIP archive as template storage.
  • Bug fix STmicro project wizard
  • Bug fix EnergyMicro project wizard
  • and a lot of minor fixes.

В связи с этим я сделал новую сборку с версией 1.20

Отличия от версии 1.11:

  • Шаблоны проектов STMicro изменены:
  • На вкладке выбора процессора теперь две галки для генерации .HEX файлов
  • Create hex file (Release target) (стандартная)
  • Create hex file (Debug target) (я добавил для прошивки с STLink Utility CLI)
  • Убран макрос «assert_param(expr)=((void)0)» из defines за ненадобностью
  • Исправлено определение USE_STDPERIPH_DRIVER в defines
  • Шаблоны проектов описанного мной типа есть для семейств: STM32F10x_hd, STM32F10x_md, STM32F10x_ld, STM32F10x_md_vl
  • В шаблоне проекта файл stm32f10x_conf.h из папки cmsis_boot перенесен в Inc
  • В состав проекта в папке stm_lib теперь сразу включена вся Std Periph Library v3.5.0, чтобы не заниматься копированием файлов, для подключения любого модуля нужно просто раскомментировать соответвующую строку:
  • В stm32f10x_conf.h по умолчанию сразу включены stm32f10x_gpio.h и stm32f10x_rcc.h, остальные можно раскомментировать по необходимости
  • Путь к библиотеке STM32 USB FullSpeed Driver изменен на USB-FS.

Я подготовил патч, состоящий из двух частей:

  • Изменения в структуре EmBlocks
  • Утилита для добавления в пустое меню Tools трех утилит для прошивки с помощью CoLinkEx, ST-Link и ST-Link/V2.

Пользоваться так:

Распаковать содержимое архива в папку, где лежит emblocks.exe с заменой файлов.

Затем из этой папки запустить REmBlocksToolsPatch.exe.

REmBlocksToolsPatch

В файле «patch.conf» содержится ветка <tools> вставки в конфиг, программа загружает его и позволяет отредактировать пути к ST-LINK_CLI.exe. Если отредактировали, нажмите Replaсe Tools path.

Затем нажмите Save Updated Config — программа запишет измененный конфиг на место.

Запустите EmBlocks и проверьте, что в меню Tools появились нужные пункты.

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

Утилиту для добавления Tools можно применять и на версии 1.11, достаточно прописать 1.11 в поле Em::blocks version и нажать Load config перед сохранением настроек.

Скачать Em::Blocks 1.20 RaJa edition patch

Em::Blocks 1.20: 16 комментариев

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

    Правда, я вот смотрю, Вы каждый раз упоминаете Шаблоны проектов. Но как я посмотрел, для того что бы на готовом вашем шаблоне завести новый проц, нужно:
    1. Правильно указать адрес(у всех одинаковый), размер флеш и озу. файл в файле gcc_arm.ld (там ридми.тхт файл есть, который подключается ко всем проектам, было бы удобно для пользователей, в виде таблицы (или по др.) закинуть туда размеры флешей и рамы для всех процев , пока нет нормального конфигуратора.)
    2. Правильно задефайнить семейство цпу. (выбирается визардом при создании)(изменить можно в билд оптионс)(STM32F10X_LD_VL)
    3. Поменять в проекте файл с расширением .S на нужный для целевого проца (stm32f10x_ld_vl.S)

    Вот сейчас делал все по своей инструкции, диод заморгал на 100с4. Оценил удобство Вашей сборки — я бы сказал: сел и поехал 🙂 очень удобно. Может быть в маин еще пихануть #include «stm32f10x_conf.h» //there uncoment used perif.

    • 1. Не обязательно. Все работает и так. Это нужно только если проект может вылезти за размеры флеша. А таблицы есть на сайте STmicro.
      2. Это единственное, что нужно сделать. Менять нужно только если вдруг по какой-то причине решили тот же проект переделать под другой проц. Вообще говоря это уже другой проект.
      3. Не нужно ничего менять, если правильно на втором этапе выбран проц, то нужный startup файл уже находится в шаблоне.
      Таким образом все, что реально нужно при создании проекта — правильно указать семейство проца. Менять что-то нужно только если почему-то хочется переделать под другой проц уже существующий проект и кода столько, что это быстрее чем создать новый проект.

      В main.c вполе можно вставить базовые include. Я думал об этом.

      • 1. Все уже подготовлено, и находится в папке кокоса \CoIDE\config\devices
        4. Можно еще rs 232 программатор добавить который на первый усарт вешается. Я не знаю как сделать выбор ком порта, там в параметрах нужно передавать, в том числе и его.(можно его вытянуть из глобальных дефайнов среды?)

  2. А что, разве одновременно может работать STM32 ST-LINK Utility/ST-LINK_CLI и STLinkGDB сервер? У меня ST-LINK Utility работает только со стандартным драйвером USB Mass Storage Device, а STLinkGDB только с WinUSB, который ставит zadig.exe. А при стандартном USB Mass Storage Device STLinkGDB не может получить доступ к устройству.

    Ставлю опыты на STM32VL-DISCOVERY, использую встроенный отладчик.

  3. Скажите, а вы решили для себя проблему, что не затеняет не активные секции при условной компиляции?

      • Я про визуальное отображение кода в редакторе. В кокосе код, который с помощью условной компиляции отключен, имеет затененный фон. Это улучшает восприятие кода. В эмлоксе затенения нет?

  4. Можно ли данный патч применять к версии 1.21?
    У меня при запуске REmBlocksToolsPatch сначала появляется окошко с сообщением о том, что Config file «C:\Users\…\default.conf» not found и кнопочкой ОК. Далее после нажатия кнопок «Replace Tools paths» и «Save Update Config» появляется сообщение «Системе не удаётся найти указанный путь». Пробовал изменить номер версии на 1.21 в поле «Em::Blocks version» — без изменений.

    • вот вы сами и ответили 🙂
      Я 1.21 не ставил еще, поэтому не знаю что в ней нового и почему не срабатывает.

      • Если не сложно, и в запасниках остался установщик 1.20 можно его куда-ниудь выложить? Хочется взглянуть на него с этим патчем…

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

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

Лимит времени истёк. Пожалуйста, перезагрузите CAPTCHA.