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

nanorobot

Свой
  • Постов

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

  • Посещение

Весь контент nanorobot


  1. Ранее пробовал эти функции, тоже неуспешно. Сейчас разобрался - требовалось разрешить события для линии 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); теперь все работает..
  2. Играюсь с библиотекой 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] Что я делаю неправильно?
  3. root@TinaLinux:/# ssh Dropbear SSH client v2015.71 https://matt.ucc.asn.au/dropbear/dropbear.html выхлоп(часть) на команду ssh в консоли MangoPi/TinaLinux. Не говорит ли это о том, что SSH сервер не установлен? Еслм это так, то имеет ли смысл поставить последню версию Dropbear v2024.84 ?
  4. Имелось в виду что точна поправка не клиент, а сервер. Но, увы, не имелось в виду что я разобрался с проблемой и решил ее. Так что если найдутся те, кто может и готов помочь, я был бы крайне признателен ...
  5. Худо-бедно связал плату MangoPI T113-s3 /Tina Linux с ноутом по WiFi. Пингуется в обе стороны. Но доступ по SSH есть только со стороны платы к ноуту, от ноута к плате нет. Я так понимаю что на плате не поднят SSH сервер. А что, разве dropbear сервером не работает? Пытался установить OpenSSH, но в этом случае сборка Tina завершается с ошибкой. У китайцев нашел информацию, что якобы достаточно изменить версию OpenSSH с 8.0p1 на 8.9p1 и ошибка при сборке пропадет. По факту это оказалось не так, во всяком случае у меня не вышло. Пробовал и другие, более старшие версии OpenSSH с тем же результатом... PS поправил в связи с верным замечанием уважаемого aaarrr ...
  6. В темноте наощупь... Со многими моментами разобрался, Сначала было необходимо создать сокет, путь к которому указан в первой строке моего файла 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, то со стороны платы оно даже не сканирутся. Возможно это не имеет принципиального значения для реализации отладки. Итак, начало положено, дальше должно пойти веселее... Не уверен, стоит ли продолжать тут эпопею, возможно никому не интересны мои упражнения. А может наоборот, есть еще такие же мелко плавающие, и им пригодится мой очень скромный опыт.
  7. Решил пойти другим путем: ad-hoc connection создал на ноутбуке, Mode Ad-hoc, SSID=AdHoc, Wi-Fi security=none, 192.168.1.111. Channel 7 (2442 MHz), MAC: 62:30:DB:11:E6:0D Пытаюсь законнектиться с ним с платы. на плате /etc/wpa_supplicant.conf #ctrl_interface=DIR=/var/run/wpa_supplicant update_config=1 #ap_scan=2 network={ mode=1 ssid="AdHoc" key_mgmt=NONE frequency=2442 } далее: root@TinaLinux:/etc# root@TinaLinux:/etc# ifconfig wlan0 192.168.1.136 root@TinaLinux:/etc# wpa_supplicant -i wlan0 -c wpa_supplicant.conf -D nl80211 Successfully initialized wpa_supplicant wlan0: Trying to associate with SSID 'AdHoc' wlan0: Associated with 02:11:87:69:15:c2 wlan0: CTRL-EVENT-CONNECTED - Connection to 02:11:87:69:15:c2 completed [id=0 id_str=] wlan0: CTRL-EVENT-SUBNET-STATUS-UPDATE status=0 и в этом месте виснет... Ctrl+C ^Cwlan0: Do not deauthenticate as part of interface deinit since WoWLAN is enabled nl80211: deinit ifname=wlan0 disabled_11b_rates=0 wlan0: CTRL-EVENT-TERMINATING root@TinaLinux:/etc#
  8. Пытаюсь связать по Wi-Fi одноранговой сетью ноут с Kubuntu 20 и плату MangoPi(Alwinner T113-S3) c Tina Linux. Так как ранее не приходилось этим заниматься, первым делом связал таким образом два ноута, оба под линукс. Особых проблем это не вызвало. Руководствовался этой статьей. Попытка повторить фокус с MangoPi окончилась неудачей. Перввое, что вызвало вопрос - отсутствие директории /var/run/wpa_supplicant, которая указывается в файле wpa_supplicant.conf, который, в свою очередь был написан в соответствии со статьей. Попытка создать сеть командой wpa_supplicant -B -i interface -c /etc/wpa_supplicant-adhoc.conf -D nl80211,wext привела к сообщению: Note: nl80211 driver interface is not designed to be used with ap_scan=2; this result in connection failures Миссия невыполнима?
  9. Спасибо. Уже сам допер помаленьку. Тупанул, прошу прощения...
  10. В схеме MangoPI MQ-R ножки 41-44 модуля WiFi на RTL8189 заведены на UART1 и обозначены соответствующим образом. Схемы самого модуля нет.
  11. А может ли кто то пояснить, зачем у 8189 кроме SDIO еще имеется интерфейс UART? Альтернатива SDIO или ... ?
  12. Было бы неплохо точнее выражать свои мысли...Процитированный фрагмет фразы сложно понять, ошибок куча.. Можно было бы точнее указать путь к файлам, привести цитаты из инклюдов и т.п. Решать ребусы никому не хочется. Проектом на f1c100s в настоящее время не занимаюсь, это был просто один из этапов освоения allwinner'ов, но ответить попытаюсь, если Вы четче сформулируете вопрос.
  13. Для этой цели все, что стоит после -D в командной строке, нужно заключить в одинарные кавычки. Например: CPPFLAGS += -D'DHCPD_SERVER_IP="192.168.4.1"' Вычитал это(вверху) - надо еще как то одинарных кавычек добавить, ... Но вот как это сделать .. впрочем не уверен что причина здесь - судя по выхлопу компилятора.
  14. Подскажите где именно кавычки. Я игрался с кавычками и двойными и одинарными - не вышло. О том, что воспринимает как идентификатор - догадываюсь... <command-line>: error: 'fa23128' undeclared (first use in this function) ага, scons
  15. Скрипт сборки проекта написан на Python, сам Питоном не владею, был взят из демо проекта. Требуется передать компилятору GCC строку - короткий хэш git версии проекта. Саму строку в скрипте получаю так. def get_git_revision_short_hash() -> str: return subprocess.check_output(['git', 'rev-parse', '--short', 'HEAD']).decode('ascii').strip() GIT_REV = get_git_revision_short_hash() print(GIT_REV) контрольный print выводит именно то , что нужно. Пытаюсь передать строку компилятору так CFLAGS += ' -DGIT_REV=' + GIT_REV В проекте использую так LOG_I("Git Revision:%s", GIT_REV); где LOG_I - макрос rt-thread, выводящий сообщения в UART. Компилятор дает ошибку: <command-line>: error: 'fa23128' undeclared (first use in this function) fa23128 - hash git-версии проекта. да, питон версия 3
  16. Имею пару клонов JLink от starterkit.ru, использую для отладки T113-s3 и f1c100s. Такая странность, в f1c100s скорость заливки выше раза в два, или даже более. Размер "прошивки" для T113-S3 уже достиг 1.5 М, поэтому процесс происходит медленно и печально. Частотой клока для JLink игрался, результата нет. Как то можно увеличить скорость, с использованием китайских клонов, или залить другую firmware в мои клоны, у меня сейчас такой.. Firmware: J-Link ARM V8 compiled Nov 28 2014 13:44:46 Hardware: V8.00 Купить за 400 тыр фирменный JLink-Pro - жаба не позволяет ... Есть ли китайцы с более старшей версией hardware? Что можете посоветовать?
  17. Я прошел все эти начальные шаги и направления. Qt на эмбедд платформе безусловно тупик. Хелло Ворд будете компилить минут двадцать. Только buildroot и его QT на PC. Но и это тоже тупик, если у Вас таргет не iMX8 ... Поэтому для серхчеловеков чисто бареметал, для людей попроще какая нибудь FreeRtos или RT-Thread ...
  18. Принимая во внимание что тема непроста, готов обсудить вариант помощи за материальное вознаграждение. r*a*i*n*6*2*s*t*e*r@g*m*a*i*l.c*o*m
  19. Работаю над проектом на процесссоре Alwinner T113 (как известено - два ядра Cortex-A7). Использую rt-thread и графическую библиотеку LVGL. В исходниках rt-thread содержатся "намеки" на возможность использования второго ядра. Собственной квалификации не хватает запустить второе ядро самостоятельно. Если знаете-умеете, и готовы оказать некую помощь, буду крайне признателен. Особо интересует наличие или отсутствие возможности запуска на втором ядре сервисов данной ртос(полагаю что вряд ли). Собственно реалтайма(в рамках моих требований) при использовании только одного ядра практически хватает, "на грани", и можно было бы не дергаться, но проект не закончен, и кто его знает заранее.. Кроме того никакой опыт не бывает лишним. Заранее благодарен за любой ответ.
  20. На мой взгляд, возможно ошибочный, отладочная информация нужна отладчику как таковому, а заливается по факту чисто исполняемый код . Вот сейчас огребу, вероятно ... Собственно в формат elf не вникал никогда, принимал как данность. Да и действительно, в залитии чисто бинарника смысла немного, интересно пошагать посмотреть что и как ... Опять же такое соображение - какой смысл в отладочном интерфейсе, если через него нельзя в отладку, то бишь elf? PS а все равно gdb то нет в составе xtensa-hifi4-elf- У меня в отладочной конфигурации так и оставлся указан gdb от gcc-arm .
  21. С кортексовским проблем не было изначально. Или я Вас не понял? Может этот проект через кортексовский JTAG заливать требуется ..?
  22. Ээээ... Я к этому и стремился ...
  23. Да к тому вроде бы PE4-PE7 Mode 6. Про кортексовский не понял, он способен помешать? Кортексовский у меня на PE8-PE11, там тоже моде 6 нужен, а по сбросу моде 0x0F...
  24. Фокус не удался пока что ... Попытка залить .elf приводит к ошибке ERROR: XTENSA Unsupported exception architecture configured
×
×
  • Создать...