Ник:
Пароль:

Контакты

E-mail: info@starterkit.ru
тел.: +7 922 680-21-73
тел.: +7 922 680-21-74
Телеграм: t.me/starterkit_ru
Партнеры:
otladka.com.ua - г.Киев

Способы оплаты

User Info


Добро пожаловать,
Guest

Регистрация или входРегистрация или вход
Потеряли пароль?Потеряли пароль?

Ник:
Пароль:

ПользователейПользователей:2
Поисковых ботовПоисковых ботов:3
ГостейГостей:1

ОбновитьПодробнееВсегоВсего:6
Форум » starterkit.ru » Embedded Linux
buildroot-2021.08-sk на базе ядра 5.10.9 для i.mx6 quad/dual/solo
HanKagan
Добавлено 08.11.2022 10:29 Сообщение: 21
HanKagan
0

Пункты: 133
Регистрация: 08.11.2022
Добрый день, возникла проблема при сборке проекта с opencv. При установке билдрута использовал gst_config и с помощью make menuconfig поставил галочку opencv4, больше никаких действий с библиотекой не производил. При сборке выдает следующее сообщение:
arm-none-linux-gnueabihf-g++: предупреждение: /: входные файлы компоновки не использованы, поскольку компоновка не выполнялась
/home/vlad/starterkit/buildroot-2021.08-sk/output/host/bin/arm-none-linux-gnueabihf-g++ OBJ/*.o -o object_detector -lm -lpthread -lasound -lpng -ljpeg -lturbojpeg -lg2d -lopencv_core
/home/vlad/starterkit/buildroot-2021.08-sk/output/host/opt/ext-toolchain/bin/../lib/gcc/arm-none-linux-gnueabihf/10.2.1/../../../../arm-none-linux-gnueabihf/bin/ld: OBJ/Object_detector.o: in function `draw_label(cv::Mat&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, int)':
Object_detector.cpp:(.text+0x130): undefined reference to `cv::getTextSize(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int, double, int, int*)'
/home/vlad/starterkit/buildroot-2021.08-sk/output/host/opt/ext-toolchain/bin/../lib/gcc/arm-none-linux-gnueabihf/10.2.1/../../../../arm-none-linux-gnueabihf/bin/ld: Object_detector.cpp:(.text+0x178): undefined reference to `cv::rectangle(cv::_InputOutputArray const&, cv::Point_<int>, cv::Point_<int>, cv::Scalar_<double> const&, int, int, int)'
/home/vlad/starterkit/buildroot-2021.08-sk/output/host/opt/ext-toolchain/bin/../lib/gcc/arm-none-linux-gnueabihf/10.2.1/../../../../arm-none-linux-gnueabihf/bin/ld: Object_detector.cpp:(.text+0x1c2): undefined reference to `cv::putText(cv::_InputOutputArray const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, cv::Point_<int>, int, double, cv::Scalar_<double>, int, int, bool)'

И дальше ошибки 'undefined reference to' к разным функциям.
collect2: ошибка: выполнение ld завершилось с кодом возврата 1
Makefile:29: recipe for target 'all' failed


Makefile выглядит следующим образом:
BRDIR ?= /home/vlad/starterkit/buildroot-2021.08-sk

TOOLSROOT = $(BRDIR)/output/host
TOOLS = $(TOOLSROOT)/bin/arm-none-linux-gnueabihf-

CROSS=$(TOOLS)

TARGET=object_detector
CC=$(CROSS)gcc
CPP=$(CROSS)g++
STRIP=$(CROSS)strip

OCV_DIR ?= /home/vlad/starterkit/buildroot-2021.08-sk/output/build/opencv4-4.5.3/include
OCV_DNN ?= /home/vlad/starterkit/buildroot-2021.08-sk/output/build/opencv4-4.5.3/modules/dnn/include
MOD_DIR ?= /home/vlad/starterkit/buildroot-2021.08-sk/output/build/opencv4-4.5.3/buildroot-build
COR_DIR ?= /home/vlad/starterkit/buildroot-2021.08-sk/output/build/opencv4-4.5.3/modules/core/include
IMGPROC_DIR ?= /home/vlad/starterkit/buildroot-2021.08-sk/output/build/opencv4-4.5.3/modules/imgproc/include
VIDEOIO_DIR ?= /home/vlad/starterkit/buildroot-2021.08-sk/output/build/opencv4-4.5.3/modules/videoio/include
HIGGUI_DIR ?= /home/vlad/starterkit/buildroot-2021.08-sk/output/build/opencv4-4.5.3/modules/highgui/include

CFLAGS = -O3 -g0 -I$(OCV_DIR)/ -I$(OCV_DNN)/ -I$(MOD_DIR)/ -I$(COR_DIR)/ -I$(IMGPROC_DIR)/ -I$(VIDEOIO_DIR)/ -I$(HIGGUI_DIR)/ -fomit-frame-pointer -Wall -fno-strict-aliasing

LIBS = -lm -lpthread -lasound -lpng -ljpeg -lturbojpeg -lg2d -lopencv_core

INCLUDE=
OBJS= OBJ/

all:
$(CPP) $(CFLAGS) -c Object_detector.cpp -o $(OBJS)Object_detector.o -fno-rtti -fno-exceptions -std=c++11

$(CPP) $(OBJS)*.o -o $(TARGET) $(LIBS)
$(STRIP) $(TARGET)

clean:
rm *.o $(OBJS)*.o $(TARGET)

Библиотеки в .cpp файле подключаю следующим образом:
#include <iostream>
#include <fstream>
#include <opencv2/dnn.hpp>
#include <opencv2/dnn/all_layers.hpp>
#include <opencv2/imgproc.hpp>
#include <opencv2/videoio.hpp>
#include <opencv2/highgui.hpp>

В чем может быть проблема?
Спуститься к концу Подняться к началу
Персональная информация
Konstantin
Добавлено 19.03.2023 20:48 Сообщение: 22
Konstantin
0

Пункты: 179
Регистрация: 16.09.2015
Всем привет.

Пытаюсь перенести проект с buildroot-2016.11 на buildroot-2021.08. Плата SK-iMX6D-SODIMM.

В 2021.08 возникла проблема с инициализацией WiFi модуля Intel Dual Band Wireless-AC 7260. Инициализация занимает около 1 минуты.

bus: 'pci': add driver iwlwifi
bus: 'pci': driver_probe_device: matched device 0000:01:00.0 with driver iwlwifi
bus: 'pci': really_probe: probing driver iwlwifi with device 0000:01:00.0
iwlwifi 0000:01:00.0: no default pinctrl state
iwlwifi 0000:01:00.0: enabling device (0140 -> 0142)
iwlwifi 0000:01:00.0: pci_enable_msi failed - -22
driver: 'iwlwifi': driver_bound: bound to device '0000:01:00.0'
bus: 'pci': really_probe: bound device 0000:01:00.0 to driver iwlwifi
iwlwifi 0000:01:00.0: loaded firmware version 17.3216344376.0 7260-17.ucode op_mode iwlmvm
...
<--- примерно через 1 минуту --->
iwlwifi 0000:01:00.0: Detected Intel(R) Dual Band Wireless AC 7260, REV=0x144
iwlwifi 0000:01:00.0: base HW address: 74:e5:f9:94:3c:70

Сообщение "Detected Intel(R)..." появляется после того, как все загрузилось.
В 2016.11 такой задержки не было - "Detected Intel(R)..." появлялось сразу же после "loaded firmware version...". iwlwifi там выдает такие же сообщения как и в 2021.08.

Файл прошивки компилируется в ядро. В поле "Build named firmware blobs in to the kernel binary" указано два файла: imx/sdma/sdma-imx6q.bin iwlwifi-7260-17.ucode

Проверил сигнал сброса PCIe - нулевой импульс вырабатывается примерно в момент появления сообщения "loaded firmware version...". Все остальное время сигнал сброса неактивен.

Может кто-нибудь знает как исправить эту проблему?
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 19.03.2023 21:23 Редактировалось 19.03.2023 21:25 Сообщение: 23
sasamy
4.70

Пункты: 75808
Регистрация: 14.08.2009
Цитата

Может кто-нибудь знает как исправить эту проблему?


то что на PCIe что-то запустилось - это уже победа :) По сравнению с предыдущими версиями в u-boot добавлена по умолчанию опция ядра pci=nomsi для решения проблемы запуска tw6869, может это повлияло косвенно, попробуйте убрать из конфига

uboot/include/configs/sk_imx6qdl.h

Цитата

"mmcargs=setenv bootargs console=${console},${baudrate} consoleblank=0 " \
"${video} pci=nomsi " \
"root=/dev/mmcblk${mmcdev}p${mmcpart} rootwait\0" \


Проконтролировать что отключена можно после старта системы через

cat /proc/cmdline

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

Target packages --->
Miscellaneous --->
[*] haveged
Спуститься к концу Подняться к началу
Персональная информация
Konstantin
Добавлено 20.03.2023 10:33 Сообщение: 24
Konstantin
0

Пункты: 179
Регистрация: 16.09.2015
pci=nomsi не влияет.

Проблема решилась путем отключения опции
Device Drivers --->
Generic Driver Options --->
Firmware loader --->
Force the firmware sysfs fallback mechanism when possible
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 20.03.2023 11:51 Редактировалось 20.03.2023 12:25 Сообщение: 25
sasamy
4.70

Пункты: 75808
Регистрация: 14.08.2009
Цитата

Проблема решилась путем отключения опции
Device Drivers --->
Generic Driver Options --->
Firmware loader --->
Force the firmware sysfs fallback mechanism when possible


странно - драйвер iwlwifi статически слинкован ?

Цитата

Файл прошивки компилируется в ядро. В поле "Build named firmware blobs in to the kernel binary" указано два файла: imx/sdma/sdma-imx6q.bin iwlwifi-7260-17.ucode


может тут путь неправильно прописан - фирмвари обычно не в корне лежат а в своих директориях и драйвер не находит фирмварь. Когда драйвер слинкован с ядром он загружается ещё до монтирования корневой/появления sysfs - поэтому и фирмварь линкуют с ядром и эта опция не должна никак влиять.

Цитата

CONFIG_FW_LOADER_USER_HELPER_FALLBACK

This option enables / disables the invocation of user-helper
(e.g. udev) for loading firmware files as a fallback after the
direct file loading in kernel fails. The user-mode helper is
no longer required unless you have a special firmware file that
resides in a non-standard path. Moreover, the udev support has
been deprecated upstream.


https://www.kernelconfig.io/config_fw_loader_user_helper_fallback

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

Но надо будет иметь ввиду эту опцию - были раньше проблемы с загрузкой фирмварей на новых ядрах, правда подробностей не помню.
Спуститься к концу Подняться к началу
Персональная информация
korigo
Добавлено 06.07.2023 16:52 Сообщение: 26
korigo
0

Пункты: 1360
Регистрация: 23.11.2016
День добрый.
1. Подскажите пожалуйста. как для uuu сформировать образ sdcard.img из выходных файлов в предыдущих версиях билдрута.

2. Либо подскажите , какие настройки нужны для формирования uboot_mfg и Uimage safe для MfgTool .
После смены типа чипов памяти MFG отказался прошивать, с UUU не могу до конца разобраться.
версия buildroot 2016.11
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 07.07.2023 12:58 Редактировалось 09.07.2023 17:46 Сообщение: 27
sasamy
4.70

Пункты: 75808
Регистрация: 14.08.2009
Цитата

1. Подскажите пожалуйста. как для uuu сформировать образ sdcard.img из выходных файлов в предыдущих версиях билдрута.


подправил скрипт mk-img.sh

https://drive.google.com/file/d/1IWv_I_Q_8ZLd-tyoYhlWeshQ-_Il2Dnv/view?usp=sharing

скачайте в корень buildroot, сделайте исполняемым

chmod +x mk-img.sh

если выполнить без параметров по умолчанию создаёт имидж 512M, можно указать размер в мегабайтах в параметре запуска, например образ 1 гигабайт

sudo ./mk-img.sh 1024
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Embedded Linux