Перейти к содержанию
    

nanorobot

Свой
  • Постов

    597
  • Зарегистрирован

  • Посещение

Репутация

5 Обычный

1 Подписчик

Информация о nanorobot

  • Звание
    Знающий
    Знающий
  • День рождения 05.02.1962

Посетители профиля

6 735 просмотров профиля
  1. Нет, само собой не поддерживается, но в линуксе, на мой дилетантский взгляд, много неочевидных моментов, таких как структура DTS, связь между DTS и драйверами, etc .. При этом я сторонник решения именно на линукс, но некотрые моменты выглядят почти непреодолимыми .. Переходник rgb->lvds не решает проблему освобождения части ног процессора.
  2. В свете обсуждаемой парадигмы линукс vs бареметал, стоит отметить, что для данного процессора LVDS в линуксе пока(?) не поддерживается ..
  3. Извините, непонятно, это на какой пост реакция? P.S. Прокрутил вверх, увидел, но это апрель..
  4. попробуйте здесь посмотреть в качестве примера, ну и переработать под T113. У меня тоже планы в этом направлении, но пока еще этот путь не прошел... https://elixir.bootlin.com/linux/latest/source/arch/arm/boot/dts/allwinner/sun8i-a83t-tbs-a711.dts https://elixir.bootlin.com/linux/latest/source/arch/arm/boot/dts/allwinner/sun8i-a83t.dtsi
  5. >>> Т.е. физически подтянуть ножку ресета МК к земле и начать прошивать? <<< Нет, это опция программы программатора STM32CubeProgrammer, аналогичная Connect Under Reset для ST-LINK Utility . Там еще есть выбор Core Reset, он, кажется, не требует соединения с ножкой NRST процессора. Пробуйте ...
  6. Вероятно поможет использование Hardware Reset при стирании STLink-oм. Смотрите в настройках программатора. Я пользуюсь STM32CubeProgrammer.
  7. Но gpiod_ctxless_event_monitor и gpiod_ctxless_event_monitor_ext запустить так и не удалось, как ни пытался, всегда возвращают минус 1, - они рабочие в принципе? Может быть нужна более свежая версия библиотеки?. Они мне интересны тем, что, видимо потенцально дают возможность повесить callback-и на события GPIO, без опроса их в треде. Если имели положительный опыт использования, поделитесь пожалуйста. Еще такой вопрос интересует: есть ли какая то целесообразность в использовани параметра 'consumer' - может об этом можно где то почитать?
  8. Ранее пробовал эти функции, тоже неуспешно. Сейчас разобрался - требовалось разрешить события для линии 132 (line_button) struct gpiod_line_request_config conf = {CONSUMER, GPIOD_LINE_REQUEST_EVENT_BOTH_EDGES, GPIOD_LINE_REQUEST_FLAG_BIAS_PULL_DOWN}; gpiod_line_request_f(line_button, &conf, 0); теперь все работает..
  9. Играюсь с библиотекой libgpiod в biuldroot. Версия библиотеки 1.6.3. Установлена в процессе сборки buildroot (выбрана соответствующая опция в menucofig). Функции загружаются из динамической библиотеки /usr/lib/libgpio.so. Простейшие функции установить/сбросить выход, опросить состояние входа - все работают, воросов нет. Не получается заставить работать функции связанные с эвентами, например gpiod_ctxless_event_monitor и gpiod_ctxless_event_monitor_ext. Как правило, либо завершаются с ошибкой (возвращают минус 1), либо вообще ничего не происходит. Пример вызова: int event_handle_cb(int n, unsigned int a, const struct timespec * ts, void *p) { printf("ctxless_event_handler"); } int event_poll_cb(unsigned int n, struct gpiod_ctxless_event_poll_fd * fd, const struct timespec * ts, void * p) { printf("ctxless_event_poll"); } static void * thread_3_func (void * param) { (void)param; static int count; struct timespec ts = { 1, 0 }; do{ int result = gpiod_ctxless_event_monitor_ext_f("/dev/gpiochip0", GPIOD_CTXLESS_EVENT_BOTH_EDGES, 132, 0, CONSUMER, &ts, event_poll_cb, event_handle_cb, NULL, 0); if(0 == result)printf("count = %u", count++); } while(1);} gpiod_ctxless_event_monitor_ext_f - это мой указатель на соответствующую функцию в библиотеке libgpio.so. В качестве входа использована gpio PE4 (номер 132 в gpiochip0), к ней подключена кнопка... из командной строки все работает root@MangoPI_MQ-Dual:~$ gpiomon gpiochip0 132 event: RISING EDGE offset: 132 timestamp: [ 11559.685259011] event: FALLING EDGE offset: 132 timestamp: [ 11559.816642886] event: RISING EDGE offset: 132 timestamp: [ 11559.908819095] event: FALLING EDGE offset: 132 timestamp: [ 11559.996188178] Что я делаю неправильно?
  10. root@TinaLinux:/# ssh Dropbear SSH client v2015.71 https://matt.ucc.asn.au/dropbear/dropbear.html выхлоп(часть) на команду ssh в консоли MangoPi/TinaLinux. Не говорит ли это о том, что SSH сервер не установлен? Еслм это так, то имеет ли смысл поставить последню версию Dropbear v2024.84 ?
  11. Имелось в виду что точна поправка не клиент, а сервер. Но, увы, не имелось в виду что я разобрался с проблемой и решил ее. Так что если найдутся те, кто может и готов помочь, я был бы крайне признателен ...
  12. Худо-бедно связал плату MangoPI T113-s3 /Tina Linux с ноутом по WiFi. Пингуется в обе стороны. Но доступ по SSH есть только со стороны платы к ноуту, от ноута к плате нет. Я так понимаю что на плате не поднят SSH сервер. А что, разве dropbear сервером не работает? Пытался установить OpenSSH, но в этом случае сборка Tina завершается с ошибкой. У китайцев нашел информацию, что якобы достаточно изменить версию OpenSSH с 8.0p1 на 8.9p1 и ошибка при сборке пропадет. По факту это оказалось не так, во всяком случае у меня не вышло. Пробовал и другие, более старшие версии OpenSSH с тем же результатом... PS поправил в связи с верным замечанием уважаемого aaarrr ...
  13. В темноте наощупь... Со многими моментами разобрался, Сначала было необходимо создать сокет, путь к которому указан в первой строке моего файла wpa_supplicant.conf. Она у меня вызывала ошибку, и я ее тупо закомментировал. Сейсас разобрался. Сокет создал так: (возможно я не точен в терминах) mkdir /var/run wpa_supplicant -iwlan0 -Dnl80211 -c /etc/wpa_supplicant.conf -B -P /var/run/wpa_supplicant.pid ifconfig wlan0 192.168.1.136 плюс здесь же задал ip адрес. После этого запускаю wpa_cli, и он автоматически фиксирует наличие сети с заданными параметрами и осуществляет коннект. Пинг проходит в обе стороны. Со стороны ноутбука на плату. ping 192.168.1.136 (192.168.1.136) 56(84) bytes of data. 64 bytes from 192.168.1.136: icmp_seq=1 ttl=64 time=445 ms 64 bytes from 192.168.1.136: icmp_seq=2 ttl=64 time=3.83 ms 64 bytes from 192.168.1.136: icmp_seq=3 ttl=64 time=285 ms 64 bytes from 192.168.1.136: icmp_seq=4 ttl=64 time=3.69 ms 64 bytes from 192.168.1.136: icmp_seq=5 ttl=64 time=330 ms 64 bytes from 192.168.1.136: icmp_seq=6 ttl=64 time=7.02 ms 64 bytes from 192.168.1.136: icmp_seq=7 ttl=64 time=3.70 ms 64 bytes from 192.168.1.136: icmp_seq=8 ttl=64 time=3.49 ms 64 bytes from 192.168.1.136: icmp_seq=9 ttl=64 time=14.1 ms 64 bytes from 192.168.1.136: icmp_seq=10 ttl=64 time=6.94 ms 64 bytes from 192.168.1.136: icmp_seq=11 ttl=64 time=282 ms и со стороны платы к ноутбуку ping 192.168.1.111 (192.168.1.111): 56 data bytes 64 bytes from 192.168.1.111: seq=0 ttl=64 time=5.938 ms 64 bytes from 192.168.1.111: seq=1 ttl=64 time=1.638 ms 64 bytes from 192.168.1.111: seq=2 ttl=64 time=3.810 ms 64 bytes from 192.168.1.111: seq=3 ttl=64 time=4.900 ms 64 bytes from 192.168.1.111: seq=4 ttl=64 time=4.948 ms 64 bytes from 192.168.1.111: seq=5 ttl=64 time=1.696 ms Задержки существенно различаются ... Правда одно НО. Сейчас соединение AdHoc на стороне ноута сконфигурировано как AccessPoint, если сконфигурировать как Ad-hoc, то со стороны платы оно даже не сканирутся. Возможно это не имеет принципиального значения для реализации отладки. Итак, начало положено, дальше должно пойти веселее... Не уверен, стоит ли продолжать тут эпопею, возможно никому не интересны мои упражнения. А может наоборот, есть еще такие же мелко плавающие, и им пригодится мой очень скромный опыт.
×
×
  • Создать...