Форум русскоязычного сообщества Ubuntu


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Автор Тема: Программируем контроллеры в Ubuntu на языке Оберон  (Прочитано 1738 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Иван Денисов

  • Автор темы
  • Новичок
  • *
  • Сообщений: 23
    • Просмотр профиля
Есть такой язык Oberon для программирования микроконтроллеров, последний вариант его опубликован в 2013 году:
https://www.inf.ethz.ch/personal/wirth/Oberon/Oberon07.Report.pdf

Есть для него компилятор в код для микроконтроллеров серии Cortex-M:
https://github.com/aixp/O7
Его развивает один наш соотечественник, который программирует на нем беспилотные летательные аппараты. Проверка компилятора 100% в боевых условиях.

А компилятор этот работает как Windows, так и в Ubuntu в среде BlackBox Component Builder. Вот есть пакет для установки:
http://oberoncore.ru/projects/bb-freenix
Я еще писал про эту IDE тут на форуме: https://forum.ubuntu.ru/index.php?topic=248018.0

Я записал видеодемонстрацию, где показываю, как на Ubuntu запрограммировать плату STM32F4Discovery:
https://youtu.be/mGi03zjahwY

Буду рад ответить тут вопросы, выслушать замечания и предложения.
« Последнее редактирование: 21 Сентября 2015, 09:33:26 от Иван Денисов »

Оффлайн Дмитрий Маслов

  • Новичок
  • *
  • Сообщений: 1
    • Просмотр профиля
Иван, а почему вы прошиваете через UART а не по USB? Ведь Discovery можно прошивать по USB через ST-Link.

Оффлайн Иван Денисов

  • Автор темы
  • Новичок
  • *
  • Сообщений: 23
    • Просмотр профиля
Иван, а почему вы прошиваете через UART а не по USB? Ведь Discovery можно прошивать по USB через ST-Link.

По трем связанным между собой причинам.

ST-Link достаточно нестабильный интерфейс, как показывает мой небольшой опыт. Периодически у меня были проблемы.
Я пользовался программой st-flash и прошивал вот так:
st-flash  write STM32F405RGTest1.bin  0x08000000
примерно каждая десятая прошивка у меня завершалась неудачей, приходилось стирать память и заново писать.

Автор компилятора, которому я вполне доверяю, сказал, что st-link в целом бесполезен для языка Оберон, так как отладчик от ST все равно не понимает код на Обероне, поэтому st-link использовать получается только для прошивки... тогда зачем он нужен не совсем понятно.

Вторая причина образовательная. Далеко не на всех платах есть ST-Link, а вот пины для прошивки через UART есть практически всегда. Поэтому такой способ более универсальный.

Пользователь решил продолжить мысль 29 Декабря 2015, 14:45:05:
Новый урок от автора компилятора
https://youtu.be/nvLbGeM2imA
« Последнее редактирование: 29 Декабря 2015, 14:45:05 от Иван Денисов »

Оффлайн Yuriy_Y

  • Старожил
  • *
  • Сообщений: 1736
    • Просмотр профиля
    • Новоишимка
Для прошивки через UART в МК уже должен быть прошит bootloader. Для st-linka это ваще не критично. Цепляйся по SWD хоть напрямую к ногам проца и прошивай.
Кстати, прошивал и под линукс, и под оффтопиком. Ни одного сбоя. ЧЯДНТ? Хотя вру, сбой был. Я чет накосячил с тактированием. Пришлось шить через st-link опять же, но уже с зажатым ресетом. Так что, прошивка через UART скорее минус, чем плюс. Да и щас редко встретишь комп с компортом.

Пользователь решил продолжить мысль 29 Декабря 2015, 15:16:14:
Офигеть, чем озвучивали второй ролик?
« Последнее редактирование: 29 Декабря 2015, 15:16:14 от Yuriy_Y »
С уважением, Юрий.

 

Страница сгенерирована за 0.036 секунд. Запросов: 25.