STM32 Генератор кода. Новая версия

Время показало, что старая версия программы “STM32Generator” является тупиковой, бесперспективной. Тому есть две причины. Во-первых, это среда разработки. Программа написана на Delphi. Это прекрасная среда разработки, но постоянно использовать ее для добавления новых элементов весьма утомительно. Во-вторых, изобилие микроконтроллеров и их периферии. По этой причине сложно сделать в одиночку программу, которая была бы полезна многим.

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

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

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

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

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

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

Еще одно из отличий данной программы. Каждый компонент снабжен справочным листом, в котором можно вывести дополнительную информацию, например, описание регистров и прочее.

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

Уже готова тестовая версия “Генератора кода” и “Конструктора компонентов”. Они еще нуждаются в усовершенствовании, что постараюсь сделать в ближайшее время.

Скриншот “Генератора кода” привожу ниже:

 

image

Как видно из древовидного меню в библиотеке присутствует пока только компонент GPIO для микроконтроллеров STM32F1xx, да и он нуждается в усовершенствовании, но это дело ближайшего времени.

Скачать "Генератор кода" для ознакомления можно здесь: скачать

20.11.2012  Обновил генератор. С ним идет два компонента – для работы с портами и USART. Достоинство обновленной версии: код компонента упакован в один файл, добавлены некоторые графические возможности (линии, стрелки). Компонент для работы с USARTом позволяет работать только с регистрами (для  STD_Lib мозгов не хватило. Может кто поможет?)

Комментарии (27) на “STM32 Генератор кода. Новая версия”

  • barteroff:

    Отдельная благодарность за возможность генерации кода с библиотекой и без!

  • Сергей:

    Намечается шикарная прога, спасибо.

  • Vladimir:

    А почему бы не делать сразу многоязычную версию?? Я опять на моём компе это немогу использовать.. Ну и назвать папку по русски — это тоже не совсем правильно… У меня например через локал ченжер — создаёт новую папку названую как «Áčáëčîňĺęŕ» и не работает…

    • kontroller:

      Название папки исправлю.
      Я для этого и выложил тестовую версию — для покритиковать.

  • Vladimir:

    Ну или хотябы в правильном уникоде это сделайте…

  • Vlad:

    Громадная работа проделана. Вот только не пойму кому оно надо. Визард сделанный в KEIL под STM32F100-103 Вы все равно не превзошли, а лиш частично повторили его. Безусловно задумка верная и такая программа очень нужна но не в таком виде. Какой смысл повторять то, что уже есть. Осваивайте другие кристаллы F0 F3 F4 — там где действительно голяк, хотя бы GPIO. А ориентироваться лучше на то, как все это шикарно сделано на SiLabs ( естественно только под их армы ). Прогу можно скачать бесплатно на их сайте http://www.silabs.com

    • Сергей:

      Вы кажется не много не поняли суть программы, то что сейчас там есть только для стм32ф1 это в качестве примера, на самом деле задумывается визард под любые типы контроллеров хоть арм, авр, пик, во общем что сами пользователи добавят с помощью конструктора для визарда, будут желающие добавятся в будущем и стм ф0,ф3,ф4 и другие мк.

      • Vlad:

        Извеняюсь за скептицизм, но как сказал сказал Шрек «А силенок хватит?». Хотя в Вашем случае терпения и энтуазизма. «Все» — это же вечность! В скором времени про авр уже все забудут, а армы пойдут Ф11,ф15 и т.д., ну пики еще чуть чуть продержаться и то младшая серия из за габаритов и энергетики. Ну скажет Вам 20 человек спасибо, а что дальше?
        Для Таких планов нужна команда и финансирование, ну или сделать действительно что то офегенное, чтоб NXP и STM захотели купить.
        Собственно коментариев не жду — это просто мое мнение.
        Удачи.

  • Info:

    Вау!
    Уже жду не дождусь.
    Поковырял файлы библиотеки, почти написал инициализацию SPI
    Переменные, вывод, умолчания — все просто.
    Где-то затупил на графической части — вроде все правильно — а оно ошибку дает.
    Ждем рабочий конструктор :)

  • С библиотекой удобно получилось, а ещё + что справка есть.

  • Евгений:

    «Вход с 3 состояниями» — это сильно! Может быть лучше назвать «Вход без подтяжки» ?

  • 11:

    Когда же выйдет рабочий вариант программы?

    • kontroller:

      Уже есть рабочий вариант. Долго делал подсветку генерируемого кода. С ней лучше.
      Напишу пару компонентов и выложу рабочий вариант (завтра-послезавтра).
      Конструктор тоже готов, но для всеобщего пользования нужен файл справки к нему.
      Пока заткнулся на этом.

  • Очень-очень ждём.
    stm32 станет самым массовым контроллером среди любителей!
    А вы не пробовали написал в http://www.st.com и попросить какую нибудь материальную потдежрку или ещё что нибудь? Может платку халявную прислали бы хотя бы.

  • Дмитрий:

    Автор молодец!

  • SergeyK:

    Вау, проект оказывается развивается. Я думал вы уже его забросили. Хорошо, что я ошибался!

    Новую версию пока еще не успел запустить, но по скрину настройки портов есть пожелание.
    Как-то не очень красиво реализован выбор функций GPIO. В CVAVR к примеру он сделан куда удобней, ИМХО. Т.е. лучше так. Допустим 5 вкладок: PORTA, PORTB … PORTE. В каждой вкладке вертикальный ряд в 16 комбо-боксов по числу пинов. В каждом комбо списке вибираем свою функцию пина. Так было бы значительно более наглядно.

  • Vlad Kerensky:

    Маленькая ошибка в коде для UART с использованием DMA с прерыванием по половине обмена. Дело в том, что у него есть особенность работы, когда включено прерывание по половине обмена, то он будет выполнять это прерывание на каждое копирование после заполнения половины. Т.е. если буфер на 64 ячейки то на копирование 32, 33, 34 итд. поэтому это прерывание надо выключать после первого прерывания по половине и включать при прерывании по завершению.

  • Леонид:

    Написал RTC компонент для STM32F103.
    Если нужно вышлю. Ошибки наверное есть. А может и нет.

  • Павел:

    Автору большая благодарность! штука нужная!!!

  • Павел:

    нужен репозитарий

  • kontroller:

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

  • влад:

    avr себя изжили. STM32 — высшее измерение. и только когда попался ваш генератор кода — замигал discovery светодиодом. освоить массу периферии без генератора ну оочень долго.
    все равно самостоятельно для себя написать надо. так что без генератора ну никак. но каждому для себя писать тоже нерационально. Вывод — однозначно нужен один на всех.
    если одному долго писать то надо всем по кусочку.

  • Дмитрий:

    я был бы рад пользоваться и даже заплатил бы сколько то денег если бы поддерживался STM32F4xxx.

    Автор я серьезно испытываю сложности с переходом c avr на stm32 только потому что я привык к CodeVision AVR в котом есть мастер который генерирует часть кода.

    Да я начинающий и я путаюсь во всех этих регистрах и прочем.
    и мне не жалко будет заплатить 20 — 100 баксов за решение моей проблемы.

    я думаю таких начинающих или переходящих полно а 20 — 100 баксов это не те деньги которые я бы пожалел.

  • Дмитрий:

    мне для начала надо GPIO и таймеры на F4

Оставить комментарий

Spam Protection by WP-SpamFree