Ник:
Пароль:

Контакты

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

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

Ник:
Пароль:

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

ОбновитьПодробнееВсегоВсего:4
Форум » starterkit.ru » Отладочные платы » SK-NUC976
Примеры программирования NUC976
VetalGerq
Добавлено 13.06.2024 17:10
0
Сообщение: 1
VetalGerq
0

Пункты: 567
Регистрация: 16.04.2024
Ранее никогда не занимался программированием микроконтроллеров или микропроцессоров. Не могу разобраться как управлять пинами или можно ли вывести отладочную информацию в UART или USB(разъем x5).
Как я понял команды можно найти в Technical Reference Manual. Но вот какие библиотеки или файлы подключить к проекту не понимаю.
Подскажите с чего начать или скиньте какой-нибудь пример примитивной программы.
Спуститься к концу Подняться к началу
Персональная информация
VetalGerq
Добавлено 17.06.2024 13:23 Сообщение: 2
VetalGerq
0

Пункты: 567
Регистрация: 16.04.2024
Немного перефразирую вопрос:
В buildroot есть много демо-проектов, в какой из них смотреть чтобы найти пример управления пинами или пример вывода в консоль?
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 19.06.2024 01:47 Сообщение: 3
Jury093
4.5

Пункты: 54252
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
Цитата
Немного перефразирую вопрос:
В buildroot есть много демо-проектов, в какой из них смотреть чтобы найти пример управления пинами или пример вывода в консоль?

Цитата
Немного перефразирую вопрос:
В buildroot есть много демо-проектов, в какой из них смотреть чтобы найти пример управления пинами или пример вывода в консоль?

в свое время для qt-4.8 я использовал такую конструкцию:
Код
// заводим переменные
QString tempStr;
QString fileback="/sys/class/backlight/atmel-pwm-bl/brightness";
QFile fileout(fileback);
// пишем в файл значение 64
tempStr = QString::number(64);
fileout.open(QIODevice::ReadWrite);
QTextStream streamout(&fileout);
streamout << tempStr << endl;

вместо backlight/atmel-pwm-bl/brightness можно прописать свой путь, например для gpio45 это будет gpio/gpio45/value
я в qt профан, все вопросы решал через гугль..
ЗЫ не знаю как в современных версия QT, но раньше в дистрибутиве были отдельные каталоги с examples..
посмотрите например тут https://doc.qt.io/qt-5/qtexamples.html

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
VetalGerq
Добавлено 02.07.2024 10:53 Сообщение: 4
VetalGerq
0

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

вместо backlight/atmel-pwm-bl/brightness можно прописать свой путь, например для gpio45 это будет gpio/gpio45/value


Вот этот момент по подробнее! Это получается, что управление платой производятся посредством файлов в системе?

Цитата

я в qt профан, все вопросы решал через гугль..
ЗЫ не знаю как в современных версия QT, но раньше в дистрибутиве были отдельные каталоги с examples.

посмотрите например тут https://doc.qt.io/qt-5/qtexamples.html


С Qt проблем не испытываю, главная проблема понимания программирования железа.

UDP сервер уже работает, задача сейчас разобраться как управлять пинами и вывести отладочную информацию(типа тех канал)
Спуститься к концу Подняться к началу
Персональная информация
VetalGerq
Добавлено 02.07.2024 11:37 Сообщение: 5
VetalGerq
0

Пункты: 567
Регистрация: 16.04.2024
В данный момент пытаюсь найти .h файл в котором описаны контакты платы
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 15.07.2024 01:03 Сообщение: 6
Jury093
4.5

Пункты: 54252
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
Цитата
момент по подробнее! Это получается, что управление платой производятся посредством файлов в системе?

не всей платой а ресурсами доступными через /dev или sysfs
типовой вариант - назначаете нужный контакт как функцию gpio, тогда он отображается в системе и вот через его аттрибуты можно управлять из userspace (вашей софтины)
в зависимости от версии ядра пины и прочее настраиваются для ядер (версия +/-)
<=3.0 в файле платы (т.н. boardfile)
>3.0 видимо уже через dts
ресурсы gpio смотрите в
Код
ls -l /sys/class/gpio

там же можно посмотреть какие gpio какому банку принадлежат

ну и на всякий случай - следите за правами доступа, т.к. изначально весь контроль над аппаратурой принадлежит руту, а всякие софтины на QT от пользователя будут посланы..

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
VetalGerq
Добавлено 17.07.2024 13:47 Редактировалось 17.07.2024 13:49 Сообщение: 7
VetalGerq
0

Пункты: 567
Регистрация: 16.04.2024
В файлах qt на Linux нашёл nuc970-gpio.h и .c(путь: builroot/output/build/uboot-custom/drivers) , но в них имеются зависимости которые отсутствуют по указанной директории.

На самом деле там куча вариантов этих файлов, там и #define всех контактов прописаны и есть описания функций gpio_set/get, но проблема в том что не могу найти какие нужны конкретно. Я указывал следующий путь:builroot/output/build/uboot-custom/include, т.к. всё файлы которые подключаются в gpio.c есть в этой директории. Но проблема в том что там используются функции, которые не определены. Откуда вывод, что я подключаю не те файлы.

По вашему примеру нашёл следующие файлы на плате: gpio170, gpio291 и gpiochip0, но они пусты. :(

Может есть пример кода, хотя бы не большой(я просто профан в конкретно этих моментах). Может по примеру получится что-нибудь понять.
Дефолтно в affine подключается путь: builroot/output/host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/include. Но в ней нет ничего связанного с gpio.

И можно ли самому создавать проект? При попытке запуска своего проекта выдаёт: Cannot run: No command given.
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Отладочные платы » SK-NUC976