Разработка для Linux | Embedded, ML, IoT
272 subscribers
46 photos
1 video
2 files
132 links
Канал с анонсами образовательных мероприятий от ЦПР РТСофт - экспертов в области Embedded Linux, разработки промышленного CПО и систем искусственного интеллекта

Наши тренинги: https://linuxcourses.rtsoft.ru
Портфолио проектов: https://outsource.rtsoft.ru
Download Telegram
Коллеги, выбираем формат проведения тренинга “Углубленный тренинг по загрузчику”!
Выберите формат (даты проведения - 28-29 ноября 2024)
Anonymous Poll
54%
Онлайн (с использованием Qemu)
21%
Оффлайн
25%
Узнать результат
🔖Обновленное расписание тренингов на ноябрь - декабрь 2024

Обращаем внимание, что углубленный тренинг по загрузчику состоится в онлайн-формате.

Основы разработки встраиваемых систем на базе Embedded Linux: 21-22 ноября 2024 (ОНЛАЙН), 19-20 декабря 2024 (оффлайн)

Разработка драйверов Linux: 14-18 октября 2024, 2-6 декабря 2024

Углубленный тренинг по загрузчику: 28-29 ноября 2024 (ОНЛАЙН)

Записаться на тренинг можно на сайте: https://linuxcourses.rtsoft.ru/

Ждем вас на наших тренингах!
Please open Telegram to view this post
VIEW IN TELEGRAM
3
Yocto VS Buildroot для встраиваемых систем

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

Yocto — это не дистрибутив Linux, а фреймворк, который позволяет разработчикам создавать адаптированные дистрибутивы Linux для различных аппаратных архитектур. Отличительная особенность - высокая гибкость. Также среди плюсов выделяют то, что Yocto широко поддерживается, обладает большим набором инструментов и SDK. Однако, минусом является то, что время сборки достаточно велико.

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

Что же выбрать?

Все зависит от проекта. Если вы работаете над большим и сложным проектом, лучшим решением будет выбор Yocto: он позволяет добавлять функциональность и настраивать под различные платформы с помощью реализации слоев, это несомненный плюс в контексте кастомизации. Также важно отметить, что Yocto поддерживается Linux Foundation.

А Buildroot отлично подойдет, если вы работаете над небольшим проектом и просто ищете быстрое и простое решение для создания встраиваемой системы.
👍4
Компилируем device tree

Для загрузчика и ядра Linux требуется двоичное представление дерева устройств (Device Tree), которое создается с помощью компилятора дерева устройств – dtc. Компиляция создает файл с расширением .dtb, который называется бинарным деревом устройств или блобом дерева устройств.

Вот как это сделать:

1. Компилятор dtc встроен в исходный код Linux в директории scripts/dtc/dtc и также доступен в виде пакета для большинства дистрибутивов Linux.
2. Чтобы скомпилировать простое дерево устройств (без использования #include), выполните команду:

$ dtc simpledts-1.dts -o simpledts-1.dtb
DTC: dts->dts on file "simpledts-1.dts"


⚠️ Важно: Компилятор dtc не выдает подробных сообщений об ошибках и проверяет только базовый синтаксис, поэтому ошибки в исходном файле могут быть сложными для отладки.

Более подробно погрузиться в предметную область можно на нашем курсе “Основы разработки встраиваемых систем на базе Embedded Linux
👍3
Управление переменными окружения в U-Boot

В U-Boot есть ряд команд для работы с переменными окружения, позволяющими управлять конфигурациями загрузки и системными настройками:

✏️printenv [name ...] — выводит значения переменных окружения. Без аргументов отображает все переменные, а если указаны имена переменных, выводит только их значения.

✏️printenv_dynamic — отображает все динамические переменные.

✏️envreset — сбрасывает все переменные окружения к заводским настройкам. Не затрагивает постоянные настройки, такие как wlanaddr или ethaddr, которые хранятся в NVRAM.

✏️saveenv — сохраняет текущие значения переменных в NVRAM, чтобы они были доступны после перезагрузки.

✏️setenv name [value] — устанавливает значение для переменной с именем name. Если значение value не указано, переменная удаляется. Если переменная динамическая, она будет сброшена на значение по умолчанию.

🔖Более подробно погрузиться в предметную область можно на нашем курсеУглубленный тренинг по загрузчику
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1👏1
Архитектура графической подсистемы Linux

Делимся материалами, которые помогут вам глубже разобраться в данной теме:

1. Embedded Graphics Drivers in Mesa (ELCE 2019). Ссылка: https://youtu.be/By_XgayTSrY?si=0giFf4YJHXMv2WN3

2. "Panfrost: Open Source meets Arm Mali GPUs" - Robert Foss (LCA 2020). Ссылка: https://youtu.be/ABdoZo3AXlw?si=bJfMBX3861sgp2O6

3. Wayland Architecture. Ссылка: https://www.cnblogs.com/psbec/p/13543682.html
🔥2
Дайджест популярных постов этой осени

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

Команды для работы с USB для Uboot

Сетевые команды для Uboot

Ресурсы для подготовки к тренингу “Разработка драйверов Linux”

Ресурсы для подготовке к тренингу “Основы разработки для Embedded Linux”
👍2
🧑‍🎓 Коллеги, напоминаем о том, что у нас проходят образовательные тренинги:

Основы разработки встраиваемых систем на базе Embedded Linux (Базовый уровень)

Какие темы рассматриваются?

Тема 1. Linux Kernel
Тема 2. Исходный код
Тема 3. Kernel Configuration
Тема 4. Загрузка ОС
Тема 5. Безопасность и уязвимости

Подробнее ознакомиться с программой и темами тренинга вы можете на нашем сайте: https://linuxcourses.rtsoft.ru

Какова продолжительность тренинга?

Наш интенсив занимает 2 насыщенных дня - обучение длится около 8 часов в каждый из дней.

Выдается ли сертификат по окончании обучения?

Да, мы выдаем сертификат собственного образца

Предусмотрены ли практические занятия?

Да! Мы в каждом нашем тренинге выделяем часы для проведения практических (“лабораторных”) работ .

Пример лабораторной работы: Пример сборки образов, добавления рецепта для пользовательского приложения (с Makefile и CMake), рецепта для модуля ядра
Please open Telegram to view this post
VIEW IN TELEGRAM
Работа с памятью в U-Boot: команды cp и cmp

Одними из ключевых команд для работы с памятью являются cp (копирование) и cmp (сравнение).

Команда cp используется для копирования данных из одной области памяти в другую. Формат:

cp [адрес источника] [адрес назначения] [количество слов]

Команда cmp сравнивает содержимое двух областей памяти. Формат команды:

cmp [адрес 1] [адрес 2] [количество слов]
Публикуем программу тренинга по 4diac 🔥

1. Обзор 4diac и Forte
• Среда разработки и среда исполнения
• Базовое приложение
• Приложения с сетевым соединением по MQTT и Modbus
2. Структура исходных кодов проектов Forte
3. Функциональные блоки и обработка событий
• События
• Входные переменные
• Типы функциональных блоков
• Композитные функциональные блоки
4. Собственные функциональные блоки
• Типы функциональных блоков
• Кастомные функциональный блоки
5. Сетевая подсистема и система ввода-вывода
• Стандартные функциональные блоки
• Архитектура сетевой подсистема
• Архитектура подсистемы ввода-вывода
6. Протокол взаимодействия 4diac и Forte
• Файлы конфигурации
• Взаимодействие 4diac и forte
7. 4diac как система реального времени

Продолжительность тренинга: 2 дня

Даты тренинга на данный момент формируются по запросу.

Для записи необходимо направить заявку по почте: [email protected]
Please open Telegram to view this post
VIEW IN TELEGRAM
⭐️ Наши коллеги из SberDevices 5 декабря в 11.00 проводят конференцию по системному ПО, железу, Linux и open source  — OS DevConf. Формат - онлайн и оффлайн.

Конференция будет полезна разработчикам системного и встраиваемого ПО, специалистам по разработке ядра и драйверов, специалистам по SoC, сетевым инженерам.

Спикеры расскажут о работе с ядром Linux, а также поделятся докладами про прототипы SoC, драйверы на Rust, параллельное программирование без ОС и системное программирование.

Полную программу можно посмотреть на сайте конференции.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6👍2
Коллеги, анонсируем новые даты курсов на 2025 год 🔥

Основы разработки встраиваемых систем на базе Embedded Linux - 16-17 января 2025

Разработка драйверов Linux - 3-7 февраля 2025

Углубленный тренинг по загрузчику - 25-26 февраля 2025

Тренинг по 4diac - 13-14 марта 2025

Тренинг по ML для Embedded - 27-28 марта 2025

*даты потоков могут меняться в зависимости от набора группы

Зарегистироваться можно на нашем сайте: https://linuxcourses.rtsoft.ru
Device Firmware Upgrade (DFU)

Device Firmware Upgrade (DFU) – это важный механизм, который позволяет загружать и выгружать прошивки в U-Boot через USB.

В U-Boot поддержка DFU осуществляется с помощью команды dfu, опцией CONFIG_DFU, а также с использованием стека DFU, который включает файлы common/dfu.c и common/spl/spl_dfu.c. При этом используется USB DFU, который реализован в файле drivers/usb/gadget/f_dfu.c.

Доступ к носителям осуществляется через бэкенды DFU, находящиеся в driver/dfu. В настоящее время поддерживаются:
• MMC (RAW, FAT, EXT2, EXT3, EXT4, SKIP, SCRIPT)
• SCSI (UFS, RAW разделы, FAT, EXT2, EXT3, EXT4, SKIP, SCRIPT)
• NAND
• RAM
• SF (серийная флеш-память)
• MTD (все устройства MTD: NAND, SPI-NOR, SPI-NAND)
• Виртуальный

Подробнее о Uboot можно узнать на наших тренингах: https://linuxcourses.rtsoft.ru
👍3
Вебинары от ЦПР РТСофт возвращаются!

Уже через неделю, 19.12 (четверг) в 11.00, состоится новый бесплатный вебинар на тему “Изюминки микропроцессорных архитектур. Часть 3”.

Зарегистрироваться можно по ссылке: https://rtsoft-swdc.timepad.ru/event/3148858/
🔥5👍4
Пока мы готовим новый вебинар, напишите в комментариях, какие темы были бы вам наиболее интересны? 👇

P.S. У нас много новых участников, оставляйте обратную связь :)
🔥Коллеги, напоминаем, что 19.12 в 11.00, состоится новый бесплатный вебинар на тему “Изюминки микропроцессорных архитектур. Часть 3”.

Темы, которые будут рассмотрены: организация обработки прерываний на различных архитектурах (m68k, x86, powerpc, arm и др.); некоторые особенности обработки в различных ОС; типичные проблемы.

Регистрация доступна по ссылке: https://rtsoft-swdc.timepad.ru/event/3148858/
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥 Мы начинаем наш вебинар уже через 1 час!

Регистрация доступна по ссылке: https://rtsoft-swdc.timepad.ru/event/3148858/
Please open Telegram to view this post
VIEW IN TELEGRAM
19.12 в 11.00 состоялся вебинар на тему “Изюминки микропроцессорных архитектур. Часть 3”.

Если вы присутствовали на вебинаре, пожалуйста, заполните форму с обратной связью: https://forms.yandex.ru/u/6769101fe010db1ffb1505c2/. Заполнение займет не более 1 мин. Спасибо!
Дорогие коллеги!

ЦПР РТСофт поздравляет вас с наступающим 2025 годом и желает вам профессиональных и творческих свершений, благополучия и счастья!

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

С праздником! С Новым годом! 🎄
🎄9👍1
Коллеги, делимся новыми датами тренингов на январь и февраль 2025:

➡️Разработка драйверов Linux - 3-7 февраля 2025

➡️ Углубленный тренинг по загрузчику - 21-22 января 2025 (успейте подать заявку!)

‼️Новые даты тренинга “Основы разработки встраиваемых систем на базе Embedded Linux” будут объявлены позднее!

Для регистрации необходимо заполнить и отправить форму на сайте: https://linuxcourses.rtsoft.ru/
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1