на нашей фабричке...
4.06K subscribers
517 photos
31 videos
5 files
314 links
https://gaodi.ru — это контрактный разработчик и производитель электроники.


Два уютных чатика:
@fabrichka2 - про бизнес и электронику;
@fabrichka8 - про всё остальное.
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
Как мы импортировали драйвера MPP в ядро RK3399

Как-то раз к нам пришел заказчик с требованием использовать современное ядро Linux для своего проекта - Linux kernel 6.1. Проект был реализован на базе процессора Rockchip RK3399. Когда мы обратились за поддержкой к производителю, то получили ответ, что стабильное ядро Linux BSP (Board Support Package) - Linux kernel 4.19, и все другое наша проблема.

Наша, так наша. Мы стали разворачивать сами новое ядро Linux kernel 6.1. Конечно, получили немало проблем, с которыми успешно справились и давно имеем стабильное ядро 6.1 для процессора RK3399. Сделали это раньше, чем сам производитель процессора 🔥

Пожалуй, самой сложной проблемой для нас оказался импорт драйвера для работы аппаратного транскодинга из ядра 4.19 в 6.1. Это заняло больше времени, чем мы думали 🤔

Задача была следующая - нужно "брать" изображение с камер, подключенных к устройству и перекодировать его в кодек H.264. При использовании ядра без поддержки аппаратного декодера все 6 ядер процесора начинали сильно нагружаться, что приводило к сильному нагреву и нестабильной работе других функций.

Стало ясно, что нужно импортировать драйвер MPP (Media Process Platform) в ядро 6.1. Было мнооого работы: адаптация кода под API нового ядра, изменения вызовов функций, обновление заголовочных файлов, последующая отладка
и наконец, аппаратный транскодинг заработал. Пришлось ещё отыскать, скомпилировать и заставить работать высокоуровневую утилиту для использования транскодинга - ffmpeg, умеющую работать с аппаратным декодором ROCKCHIP.

В итоге - изображение с камер передаётся в нужном кодеке H.264, нагрузка на процессор пропала, теперь задействован аппаратный декодер внутри процессора. Тестирование на стороне заказчика прошло успешно. Заказчик доволен, а мы уверены, что и не такое сможем сделать 😎

А через две недели, после того как мы выдохнули, поддержку этой функции выпустил и сам производитель. Иногда так бывает

#историяуспеха #гаоди