Как стать автором
Обновить
1.4

Eclipse *

Свободный фреймворк

Сначала показывать
Порог рейтинга
Уровень сложности

Отладка многопоточных программ на базе FreeRTOS

Время на прочтение13 мин
Количество просмотров35K

image

Отладка многозадачных программ дело не простое, особенно если ты сталкиваешься с этим впервые. После того, как прошла радость от запуска первой задачи или первой демо программы, от бесконечно волнительного наблюдения за светодиодами, каждый из которых моргает в своей собственной задаче, наступает время, когда ты осознаешь, что довольно мало понимаешь (вообще не врубаешься) о том, что на самом деле происходит. Классика жанра: «Я выделил целых 3КБ операционной системе и запустил всего 3 задачи со стеком по 128Б, а на четвертую уже почему-то не хватает памяти» или «А сколько вообще стека я должен выделить задаче? Столько достаточно? А столько?». Многие решают данные задачи путем проб и ошибок, поэтому в этой статье я решила объединить большинство моментов, которые, в настоящее время, значительно упрощают мне жизнь и позволяют более осознанно отлаживать многопоточные программы на базе FreeRTOS.

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

В данной статье я расскажу о следующих моментах:


  1. Настройка OpenOCD для работы с FreeRTOS.
  2. Не забываем включать хуки.
  3. Статическое или динамическое выделение памяти?
  4. Сказ, о параметре configMINIMAL_STACK_SIZE.
  5. Мониторинг использования ресурсов.
Читать дальше →

Eclipse Scala IDE — от мертвого осла уши…

Время на прочтение3 мин
Количество просмотров15K
Scala — это изумительный язык программирования, которым я наслаждался года 4 назад. Я, наверное, был его фанатом: покупал книги и курсы на Coursera, использовал в pet- и продуктивных проектах et cetera, et cetera, et cetera.

Scala открыл для меня увлекательный мир функционального программирования, вернул во времена студенчества со «сферическими задачами в вакууме» от Martin'a Odersky…

Но вот он уже года два как Scala для меня мертва. Виной этому…
Читать дальше →

Great developer, true engineer and real leader — RIP Shawn O. Pearce

Время на прочтение2 мин
Количество просмотров15K

image


29 января 2018, скончался Шон Пирс, известный программист, автор, коммиттер и основатель многих проектов, в том числе Git, Jgit, libgit и Gerrit Code Review.


Умер выдающийся разработчик, настоящий инженер и отличный руководитель, оставив замечательных пацанов, жену и… всё опенсорс сообщество.


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

Читать дальше →

Настройка Sublime Text 3, SW4 и STM32CubeMX для разработки STM32 под Linux

Время на прочтение13 мин
Количество просмотров20K

Подобных статей достаточно много на просторах интернета, но хотелось бы написать актуальную вариацию. Лично я долгое время мучался в связке: Ubuntu — основная система, разработка под STM32 в виртуальной машине Windows 7. Но однажды меня это очень утомило и я таки решил потратить несколько дней на поиск решения и вылизывание полноценной среды под Linux Ubuntu. Забегу вперёд и скажу, что идеала я так и не добился, не удалось сделать realtime debug, как в Keil. В остальном всё очень пристойно.


Внимание, очень много текста и картинок!

Читать дальше →

Истории

Java EE 8: краткий и весьма оптимистичный обзор новых возможностей

Время на прочтение8 мин
Количество просмотров22K


Автор снимка — Сабине Хюрдлер / Fotolia.com

Привет, Хабр!

Когда-то давно, знойным летом 2013 года вы и именно вы убедили нас взяться за работу над замечательной книгой "Изучаем Java EE 7" Энтони Гонсалвеса, которая выдержала 6 тиражей и стала настоящим бестселлером. Теперь мы всерьез рассчитываем еще до конца года приступить к работе над книгой по Java EE 8 от грамотного и симпатичного специалиста Себастьяна Дашнера.



7 ноября господин Дашнер опубликовал статью с собственными размышлениями о перспективах и плюшках Java EE 8. Под катом вашему вниманию предлагается перевод этой статьи с немецкого языка
Читать дальше →

Клиент-сервер шаг — за — шагом, от однопоточного до многопоточного (Client-Server step by step)

Время на прочтение11 мин
Количество просмотров267K

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


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

Читать дальше →

Как запускать на SAP Cloud Platform сервлеты из Eclipse

Время на прочтение3 мин
Количество просмотров4.8K

Это четвёртая публикация в рамках помощи участникам конкурса «SAP Кодер-2017».


Вы хотите попробовать SAP Cloud Platform, но вам привычнее работать в Eclipse. Нет проблем! Вы можете изучить новые возможности в максимально комфортных условиях. Но все по порядку.
Сегодня мы разберем, как разработать сервлет в Eclipse и запустить его в SAP Cloud Platform.
Читать дальше →

IntelliJ против Eclipse: JetBrains Toolbox или Yatta Launcher?

Время на прочтение4 мин
Количество просмотров9.6K
От переводчика:
Ниже приводится перевод с немецкого презабавного интервью с Фредериком Эбельсхойзером, где он раскрывает отношение компании Yatta к недавно вышедшему JetBrains Toolbox.

image


Создатели IntelliJ IDEA опубликовали приложение JetBrains Toolbox для сборки и настройки продуктов JetBrains. Аналогом для Eclipse является Yatta Launcher. Мы (автор текста, JAXenter — прим.пер.) побеседовали с Фредериком Эбельсхойзером (Yatta) о сходстве этих двух инструментов и о давнем соперничестве между Eclipse и IntelliJ.


JAXenter: JetBrains недавно выпустила свой «Toolbox». Вы, в свою очередь, стартовали с Yatta Launcher — аналогичным проектом для Eclipse. Можно ли, на ваш взгляд, провести параллель между этими двумя инструментами?

Читать дальше →

Настраиваем бесплатную сборку для написания и отладки программ под микроконтроллеры на основе ядра ARM под Windows 10

Время на прочтение10 мин
Количество просмотров69K
Идея написать статью (которая войдет в цикл статей для новичков, остро жаждущих создавать что-то на микроконтроллерах при почти нулевых знаниях в области программирования в принципе) пришла мне после того, как мне пришлось немного отвлечься от своих основных дел, чтобы помочь другу настроить рабочую среду для написания софта под его небольшой домашний проект на основе board-а с stm32f103 на борту. Я рассчитывал, что это займет около получаса, максимум час, но ноутбук друга был на Windows 10 x64, что для меня уже непривычно (сам работаю в Ubuntu). По итогу мы потратили практически 8 часов на настройку и создание простого проекта, борясь с многими не очевидными вещами.

Параллельно с этим мне пришлось подробно объяснять, какой элемент сборки для чего нужен, а так же, как эти элементы взаимодействуют между собой, поскольку друг до этого никогда ранее с микроконтроллерами не сталкивался (от слова «видел Arduino в магазине»).

Данный материал призван помочь начинающим быстро и без проблем настроить полностью бесплатную инфраструктуру для работы с микроконтроллерами, а так же понять, каким образом происходит сборка итогового бинарного файла. Производитель и модель микроконтроллера на этапе настройки этой инфраструктуры неважны. Главное, чтобы в его основе лежало ядро ARM.
Читать дальше →

Про биологию, мега-стройки и магических животных

Время на прочтение6 мин
Количество просмотров8K
История в многих частях с продолжением и еще никому не известным (но обязательно счастливым) концом.


Читать дальше →

Eclipse как технологическая платформа для 1C:Enterprise Development Tools

Время на прочтение17 мин
Количество просмотров22K
Наверное, Eclipse давно уже не нуждается в особом представлении. Многие знакомы с Eclipse благодаря Eclipse Java development tools (JDT). Именно эта популярная open-source Java IDE ассоциируется у большинства разработчиков со словом “Eclipse”. Однако Eclipse – это и расширяемая платформа для интеграции средств разработки (Eclipse Platform), и целый ряд IDE, построенных на ее основе, в том числе JDT. Eclipse – это и Eclipse Project, проект верхнего уровня, координирующий разработку Eclipse Platform и JDT, и Eclipse SDK – поставляемый результат этой разработки. Наконец, Eclipse – это open-source Foundation с огромным сообществом проектов, далеко не все из которых написаны на Java или имеют отношение к средствам разработки (например, проекты Eclipse IoT и Eclipse Science). Мир Eclipse очень многообразен.

В данной статье, обзорной по своему характеру, мы попробуем рассмотреть некоторые основы архитектуры Eclipse как платформы для построения интегрированных средств разработки и дать начальное представление о компонентах Eclipse, образующих фундамент технологической платформы для «нового Конфигуратора» 1C: Предприятие, 1C:Enterprise Development Tools. Разумеется, такое рассмотрение неизбежно будет во многом поверхностным и довольно ограниченным, в том числе и потому, что мы ориентируемся не только на Eclipse-разработчиков в качестве целевой аудитории. Впрочем, надеемся, что даже опытные разработчики Eclipse смогут найти в статье интересную для себя информацию. Например, мы расскажем об одном из «секретов Eclipse», относительно новом и малоизвестном пока проекте Eclipse Handly, который был основан и поддерживается фирмой 1C.
image
Читать дальше →

Два в одном: USB хост и составное USB устройство

Время на прочтение12 мин
Количество просмотров34K

image



Не так давно, была опубликована статья «Пастильда — открытый аппаратный менеджер паролей». Так как данный проект является открытым, то мы решили, что будет интересно, если мы будем писать небольшие заметки о процессе проектирования, о задачах, которые перед нами стоят и о трудностях, с которыми мы сталкиваемся.

Основная суть Пастильды заключается в том, что она является своеобразным переходником между клавиатурой и ПК. Таким образом, она должна уметь:
  • быть USB хостом для клавиатуры, которая к ней подключается,
  • быть клавиатурой для ПК, чтобы либо перенаправлять сообщения от реальной клавиатуры, либо самой быть клавиатурой,
  • быть дисковым накопителем, чтобы можно было редактировать базу данных паролей в удобном для человека виде.

Данный функционал является скелетом нашего проекта, поэтому первая заметка будет посвящена именно ему.
Читать дальше →

JavaFX наглядное создание простого приложения и нативная упаковка в Eclipse

Время на прочтение3 мин
Количество просмотров48K
Сегодня я вам расскажу, как поэтапно с нуля создать простое приложение на JavaFX, что для этого потребуется, покажу как сделать установщик Windows (msi) для вашего приложения.


Читать дальше →

Ближайшие события

2 – 18 декабря
Yandex DataLens Festival 2024
МоскваОнлайн
11 – 13 декабря
Международная конференция по AI/ML «AI Journey»
МоскваОнлайн
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань

Введение в преобразование моделей (или преобразование, которое создаёт преобразование, которое создаёт модель)

Время на прочтение19 мин
Количество просмотров13K


Сегодня напишем преобразование, которое создаёт преобразование. Лично мне это напоминает «Начало» Кристофера Нолана, где люди видели сны во снах.

Это 7-ая статья цикла по модельно-ориентированной разработке. Я уже полгода пытаюсь написать статью с серьёзным примером разработки, управляемой моделями. Но каждый раз пониманию, что сначала необходимо рассказать о технологиях в целом, разобрать какой-нибудь очень простой пример. Так и в этот раз, хотел только начать статью с «Hello World», а в итоге этот простой пример вырос в здоровенную статью.
Читать дальше →

Разработка парсера, кодогенератора и редактора SQL с помощью EMFText

Время на прочтение36 мин
Количество просмотров12K


Это 6-я статья цикла по разработке, управляемой моделями. В прошлой статье вы получили общее представление о разработке предметно-ориентированных языков с помощью EMFText. Настало время перейти от игрушечного языка к более серьёзному. Будет очень много рисунков, кода и текста. Если вы планируете использовать EMFText или подобный инструмент, то эта статья должна сэкономить вам много времени. Возможно, вы узнаете что-то новое о EMF (делегаты преобразований).

Подобно отважному хоббиту мы начнём свой путь с BNF-грамматики SQL, дойдём до жуткого дракона (метамодели) и вернёмся обратно к грамматике, но уже другой…
Читать дальше →

Введение в разработку предметно-ориентированных языков (DSL) с помощью EMFText

Время на прочтение18 мин
Количество просмотров14K

Это 5-я статья цикла по разработке, управляемой моделями. В предыдущих статьях мы уже разобрались с метамоделями, валидацией моделей, некоторыми нотациями для моделей (диаграммы и таблицы). Всё это было в рамках пространства моделирования MOF. Сегодня мы построим мост в пространство моделирования EBNF – познакомимся с текстовой нотацией для MOF-моделей.
Читать дальше →

Руководство по поиску работы для MDA-специалиста (и немного про метод анализа иерархий, Xcore и Sirius)

Время на прочтение11 мин
Количество просмотров25K


Это 4-я статья цикла по разработке, управляемой моделями. В предыдущих статьях мы познакомились с OCL и метамоделями, Eclipse Modeling Framework и Sirius. Сегодня научимся описывать метамодели в текстовой нотации (а не в виде диаграмм как раньше) и познакомимся с табличным представлением моделей в Sirius. Сделаем это на примере кризиса среднего возраста и метода анализа иерархий. Возможно, это пригодится вам при разработке ИИ в играх, при принятии решений или в работе.
Читать дальше →

Разработка визуального языка моделирования с помощью Sirius

Время на прочтение15 мин
Количество просмотров14K


Это третья статья цикла, посвященного разработке, управляемой моделями. В предыдущих статьях мы разбирались с OCL и метамоделями, создавали свою метамодель для языка Anchor с древовидным редактором. Сегодня сделаем редактор Anchor-диаграмм.
Читать дальше →

Indoor навигация и позиционирование – доводилось ли вам «терять» машины на парковке?

Время на прочтение7 мин
Количество просмотров24K
Приходилось ли вам часами ходить по торговому центру в поисках вещи, которую вы уже видели в одном из магазинов, но не можете вспомнить, где именно? Или искать в музее самый интересный экспонат? Знакома ли вам ситуация, когда вы, выйдя из торгового центра, долгое время искали автомобиль на парковке?

У меня как-то «пропала» машина на многоуровневой парковке в Дубае, которую я потом искала часа два на сорокаградусной жаре. Уже собралась в полицию заявлять об угоне, но именно в этот момент случайно на нее наткнулась.

Или, например, музеи – Большой Гатчинский дворец в пригороде Санкт-Петербурга.

image

Читать дальше →

Разработка метамодели с помощью Eclipse Modeling Framework (и немного про моделирование данных)

Время на прочтение11 мин
Количество просмотров30K


Это вторая статья цикла, посвященного разработке, управляемой моделями. Сегодня мы создадим метамодель, основанную на метаметамодели Ecore. Вскользь затронем моделирование данных, а именно Anchor, 6НФ и концептуальное моделирование.
Читать дальше →