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

spirit_1

Участник
  • Постов

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

  • Посещение

Репутация

5 Обычный

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

  • Звание
    Знающий
    Знающий

Информация

  • Город
    Array

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

3 040 просмотров профиля
  1. обьясните пожалуйста некоторые моменты по device tree на примере по данному процессору пример добавления SPI как описано выше взял у китайцев spi1_pins_a: spi1@0 { pins = "PD11", "PD12", "PD13"; function = "spi1"; drive-strength = <10>; }; /* spi1_pins_b: spi1@1 { pins = "PD10"; function = "spi1"; drive-strength = <10>; bias-pull-up; // only CS should be pulled up }; */ spi1_pins_c: spi1@2 { allwinner,pins = /*"PD10",*/ "PD11", "PD12", "PD13"; allwinner,function = "gpio_in"; allwinner,muxsel = <0>; drive-strength = <10>; }; насколько я понимаю создаем три варианта конфигурации пинов(вроде шаблонов) spi1_pins_a:spi1@1 spi1_pins_b:spi1@2 spi1_pins_c: spi1@3 При этом все пины в группе имеют одинаковую конфигурацию. не пойму что такое function = "spi1"; Предполагаю что "spi1" содержит какие то предустановленные настройки? Если да где их можно посмотреть? И второе в чем разница между pins и allwinner,pins Идем далее &spi1 { clock-frequency = <100000000>; pinctrl-0 = <&spi1_pins_a /*&spi1_pins_b*/>; pinctrl-1 = <&spi1_pins_c>; pinctrl-names = "default", "sleep"; spi_slave_mode = <0>; spi1_cs_number = <1>; spi1_cs_bitmap = <1>; status = "okay"; spi_board1@0 { device_type = "spi_board1"; compatible = "rohm,dh2228fv"; spi-max-frequency = <16000000>; reg = <0x0>; spi-rx-bus-width = <0x4>; spi-tx-bus-width = <0x4>; status = "okay"; }; }; Сюда передаем наши шаблоны spi1_pins_a spi1_pins_c и уже драйвер будет решать какой из двух вариантов использовать?
  2. примеров очень много, проблем а том что они разные , вобщем перлопатив все это, подключив кнопку и светодиод пришел к следедующему Перед полингом надо обязательно делать рид, иначе на полинге не останавливается и первый полинг всегда пустой, т.е не зависимо от события при первом вызове функции . В остальном все стндартно по примерам
  3. Добрый день Могли бы пояснить некоторые моменты касательно использования poll для случая GPIO в роли IRQ Сейчас есть такой прототитп 1. chip0_poll = open ("/dev/gpiochip0", O_RDONLY); 2.rq_poll.lineoffset = PD14; // rq_poll.eventflags = GPIOEVENT_EVENT_RISING_EDGE; rq_poll.handleflags = GPIOHANDLE_REQUEST_INPUT; ret = ioctl (chip0_poll, GPIO_GET_LINEEVENT_IOCTL, rq_poll); 3. pfd.fd = rq_poll.fd; pfd.events = POLLIN | POLLPRI; //lseek( chip0_poll, 0, SEEK_SET); /* consume any prior interrupt */ ?? 4.ret = poll(&pfd, 1, time_out_ms); 5. if (pfd.revents & POLLPRI) rd = read(req.fd, &event, sizeof(event)); ?? close ( pfd.fd) ?? close(rq_poll.fd) ?? close (chip0_poll) ?? -Вопрос по черным строкам, как я понимаю надо прочитать файл после poll что бы исключить ошибочного повтора , какой размер sizeof(event) ?? Гдето 1 байт а гдето в примерах 10 -lseek надо добавлять , если да то куда? -close ( pfd.fd) close(rq_poll.fd) close (chip0_poll) это одно и тоже и можно один оставить или они содержат разные значения?
  4. а где брать арм? Я первый раз ставил через АПК по умолчанию Второй раз какой то скрипт для АРМ32 АРМ 64 sudo apt-get install libgpiod-dev как поставить тогда для АРМ?
  5. Я сделал свои функции на оснвании интерфейса ICTL IDE Eclipse все работает без проблем Запустить саму libgpiod не удалось пробовал стаивить и 1 и 2 версию Обе ставяться без ошибок Выдает версию libgpiod но чип почему то не видит командой gpiodetect Хотя с тем же чичтым ICTL все работает так же не увенчалась попытка скомпилить на эклипсе libgpiod Были добавлены пути к библиотеке /usr/lib/x86_64-linux-gnu и библиотека gpiod так же флаг -lgpiod ошибки из текста кода ушли, однако по концовке компиляции arm-linux-gnueabi-gcc -L/usr/lib/x86_64-linux-gnu -o "test5" ./src/myGPIO.o ./src/test5.o -lgpiod выдает ошибку /usr/lib/x86_64-linux-gnu/libgpiod.so: file not recognized: File format not recognized Не пойму в чем проблема, похоже не нравиться библиотека libgpiod.so ??
  6. spawn: command not found

    Добрый день есть Ubuntu 18 +WSL есть установленный expect $ which expect /usr/bin/expect начало файла скрипта mybash.sh #!/usr/bin/expect -f spawn scp test2 [email protected]:/root/ ...... перед запуском получаю разрешение chmod a+x ./mybash.sh запускаю скрипт из папки скрипта ./mybash.sh получаю ошибку spawn: command not found если запускаю так expect ./mybash.sh все работает олично! как я понимаю скрипт не видит или как то неправильно читает первую строку #!/usr/bin/expect -f ?? ( то же для #!/usr/bin/expect --) я так же пробовал преобразование dos2unix для файла скрипта результат тот же В чем может быть проблема/?
  7. я вчера это в доках к плате читал, чтото начал пробовать и не пошло перед сном , сейчас повторил все заработало, спасибо . Вы рекомендуете таким образом писать в порты? открывать файл и записывать 1 или 0 в Си в файл ======================================================= GPIO testing is achieved through the file system sysfs interface, the following content to the PD20 as an example to illustrate the use of GPIO process. Calculate the value of the corresponding pin of gpio = (n-1)*32+x (set A as 1, B as 2, and so on, H corresponds to 😎 (x in PH2 means 2) e.g. PH2 corresponds to the value: (8-1) 32+2=226 PH3 corresponds to the value: (8-1) x32+3=227 Designing the expansion interface of the base board PD20 PD20 = (4 - 1) * 32 + 20 = 116 echo 116 > /sys/class/gpio/export echo out > /sys/class/gpio116/direction echo 1 > xxx/value (High level) echo 0 > xxx/value (Low Level) Parameters: function:Multiplexing . data: Level data (1 for high level; 0 for low level) . plevel:Drive Capability . pull: Pull up and down situation .
  8. возник вопрос , при попытке прочитать напрямую регистры GPIO выдает сегментэйшн фолт volatile uint32_t *memoryAddress = (volatile uint32_t *)0x02000040; printf("CFG0= %x\n", *memoryAddress );
  9. Не не) На эмбэдэд платформе QT не будет. Будет обычный кросскомпилятор исп . Qt или Эклипс на компьютере . Вечером попробовал Хэлло Ворд скомпилить их редактора и потом скинуть и запустить на Т113 . Все ок . Дальше посмотрим пока просто наверное Нотепад++ и к нему подвяжу компилятор Для начального освоения переферии достаточно, есть чем заняться, дальше будет видно Это вариант установки Qt о в мануалах к плате он очень подробно описан https://finance.sina.com.cn/tech/roll/2023-09-21/doc-imznncth3013575.shtml
  10. Этикеты это RFID TAG Несколько жаргонно выразился. Скорость не вырастит так как зависит в основном от RFID чипа. Я использую Imping E710 и 910 Но дальше есть желание поработать с 2Д позиционированием и другими вещами требующими относительно больших массивов обработки . Собственно кака я уже писал , основная цель это подучиться ну и попробовать T113 поскольку за эти деньги выглядит очень привлекательно, дальше увидим Пока повторюсь это болше познавательно обучающий проект . Если хватит терпения то думаю получиться чтото более мнеее интересное Вопрос больше касался вхождения , как и с чего начинать
  11. да, по связке qt+t113 у производителя есть пошаговое руководство как и что , необходимые файлы итд Для начала выглядит достаточно, плюс другие производители плат гна т113 предлагают тот же qt , если что у них так же можно покапать Если найду эклипс, было бы хорошо. Если нет остановлюсь пока на Qt/ Сама среда более мнее знакомая
  12. ну так надо же с чегото начинать , другое оно да. Но осилит идущий.. Лучшие метод освоения иметь проект который надо сваять и мучать пока не осилишь. Т.е иметь реальную задачу. тяжело, да. сложно но..
  13. там есть готовый вариант под линкус на расбери . Думаю эти коды проще будет адаптировать . Сейчас вопрос начинающего , как с чего стартовать. Виртуальная машина стоит wsl Немного поигрался из того что есть. Т.е доступными средствами собирал и прожигал образы все работает писал и на флэшку и на память на плате Дальше пока паралельно буду копать глубще линукс ну и главной что с компиляцией и разработкой сишных программ на Си Поднять Qt на виртуальной машине, Эклипс или ?? Надо какое то IDE для быстрого стартас руководствами по настройке под T113 - написание, компиляция, отладка Пока есть под Qt / Эклипс был бы очень интересен , так как привык к нему
  14. да да, я понимаю что я в начале большого пути) Поэтому хотелось бы понять начальные шаги и направления .
×
×
  • Создать...