repstosw 18 31 марта, 2023 Опубликовано 31 марта, 2023 (изменено) · Жалоба 16 hours ago, repstosw said: Вот тут ещё один умелец приделал tinyusb к Allwinner H3. https://github.com/uli/allwinner-bare-metal 16 hours ago, repstosw said: usb.h и usb.c у названного выше проекта. Для H3. Надеюсь, что host HID Kbd там нормально заработает Пока не удалось нормально запустить TynyUSB с T113-s3. Из того что удалось сделать: реагирует на прерывание при подключении и отключении устройства. rhport_status & OHCI_RHPORT_CONNECT_STATUS_CHANGE_MASK Работаю с USB который не OTG, порт справа. Не хочет давать прерывание по завершению передачи данных: int_status & OHCI_INT_WRITEBACK_DONEHEAD_MASK int_status & OHCI_INT_WRITEBACK_DONEHEAD_MASK Мало того, не доходит даже до парсинга дескриптора. Вот здесь замораживается: TU_ASSERT(configure_selected <= new_dev->configure_count); // TODO notify application when invalid configuration configure_selected =1, new_dev->configure_count = 0 Основной цикл программы: void main(void) { LowLevel_Init(); printf("\nT113-s3 USB Host Demo...\n\n"); usb_phy_init(1); print_greeting(); tusb_init(); while(1) { tusb_task(); } } Изменено 31 марта, 2023 пользователем repstosw Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
repstosw 18 31 марта, 2023 Опубликовано 31 марта, 2023 (изменено) · Жалоба Заработал TinyUSB с T113-s3. Мышь и клавиатура работают. Проблема была в этом месте - osal_none.h : static inline bool osal_semaphore_wait (osal_semaphore_t sem_hdl, uint32_t msec) { (void) msec; while (sem_hdl->count == 0) { } sem_hdl->count--; return true; } Нужно так: static inline bool osal_semaphore_wait (osal_semaphore_t sem_hdl, uint32_t msec) { DelayMS(msec); return true; } P.S. Задолбали эти семафоры и впихивание ОС в контроллеры. Вторая проблема: нужно было объявить секцию в некешируемой памяти: .uncached 0x47E00000 (NOLOAD) : { _bstart2 = . ; *(UNCACHED); _bend2 = . ; } Изменено 31 марта, 2023 пользователем repstosw Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GenaSPB 11 31 марта, 2023 Опубликовано 31 марта, 2023 (изменено) · Жалоба С кешированием я решаю манипуляций с кешем перед операциями- отличия можно глянуть. Задержка не могла у меня влиять на опрщнаваемость ls устройств... а ehci при этом работает? Может ено (ehci) вообще мне не надо было включать например? Изменено 31 марта, 2023 пользователем GenaSPB Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
repstosw 18 31 марта, 2023 Опубликовано 31 марта, 2023 (изменено) · Жалоба 34 minutes ago, GenaSPB said: а ehci при этом работает? Может ено (ehci) вообще мне не надо было включать например? EHCI мне неинтересен (при совместном использовании с клавиатурой). Обратите внимание на это: 1) https://github.com/uli/allwinner-bare-metal/tree/master/tinyusb/src/host/ohci и 2) https://github.com/uli/allwinner-bare-metal/tree/master/tinyusb/src/host/ehci Таких файлов нет в штатном архиве от TinyUSB, их написали при портировании на Allwinner H3. 35 minutes ago, GenaSPB said: С кешированием я решаю манипуляций с кешем перед операциями- отличия можно глянуть. Знаю. В данном случае легче объявить секцию. Изменено 31 марта, 2023 пользователем repstosw Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 53 31 марта, 2023 Опубликовано 31 марта, 2023 · Жалоба 6 часов назад, repstosw сказал: Не хочет давать прерывание по завершению передачи данных Зачем там вообще прерывания, все равно нужен поллинг в осн. программе, ИМХО... 1 час назад, repstosw сказал: .uncached 0x47E00000 (NOLOAD) : { _bstart2 = . ; *(UNCACHED); _bend2 = . ; } В смысле? Разве кэширование не в MMU задается?)) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
repstosw 18 31 марта, 2023 Опубликовано 31 марта, 2023 (изменено) · Жалоба 21 minutes ago, mantech said: В смысле? Разве кэширование не в MMU задается?)) Как компилятору скажете, чтобы он расположил часть переменных в некешированную область, которая настроена MMU ? Будете указатели ни адреса памяти хардкодить? :-))))))))))))) Изменено 31 марта, 2023 пользователем repstosw Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
repstosw 18 10 апреля, 2023 Опубликовано 10 апреля, 2023 · Жалоба Подключил AT86RF215 к T113-s3 и к V3s (по SPI). Пара приёмник-передатчик работает успешно. Пока удалось настроить FSK-режим. Планирую попробовать OFDM. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 53 10 апреля, 2023 Опубликовано 10 апреля, 2023 · Жалоба 47 минут назад, repstosw сказал: AT86RF215 А зачем под ней дыра(отверстие)? ))) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
repstosw 18 10 апреля, 2023 Опубликовано 10 апреля, 2023 (изменено) · Жалоба Изменено 10 апреля, 2023 пользователем repstosw Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GenaSPB 11 10 апреля, 2023 Опубликовано 10 апреля, 2023 · Жалоба Конечно хозяин-барин... но эту тему вряд-ли читают те кому может быть интересно или кто может поделится опытом применения at86rf чипов... может туда продублируйте или переместите? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Obam 38 10 апреля, 2023 Опубликовано 10 апреля, 2023 · Жалоба В свете тенденций последней пары лет (а реально ~10) ISM-трансиверы не Atmel (а так же TI, Silabs, и прочих AD ), а RDA "актуальны". Точь-в-точь ситуация: "белые" процы заменились "жёлтыми"... По "доке" ситуация такая же - Atmel\TI\Silabs\AD не сравнимы с RDA... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
repstosw 18 11 апреля, 2023 Опубликовано 11 апреля, 2023 (изменено) · Жалоба 8 hours ago, Obam said: В свете тенденций последней пары лет (а реально ~10) ISM-трансиверы не Atmel (а так же TI, Silabs, и прочих AD ), а RDA "актуальны". Точь-в-точь ситуация: "белые" процы заменились "жёлтыми"... На первый взгляд, минус очевиден - отсутствует программа, которая позволяет сконфигурировать этот трансивер, выдав массив настроек для регистров (типа RFPDK для CMT2300A или WDS для Si4463). Но это только на первый взляд. Читать даташит на AT86RF215 - одно удовольствие. Расписаны не только регистры и их биты, но и приведены базовые алгоритмы для установки нужных режимов приёмо-передатчика и рекомендации. Также сделаны ссылки внутри даташита на битовые поля регистров с разъяснениями. Чего не скажешь о документации от Allwinner (к сожалению). Quote По "доке" ситуация такая же - Atmel\TI\Silabs\AD не сравнимы с RDA... А эти RDA могут OFDM? :-) Если нет, то фтопку. Ещё из плюсов AT86RF215 - большие FIFO буфера 2 кБ (отдельно - для приёмника и передатчика) и куча модуляций (2/4 FSK, BPSK, QPSK, OQPSK, QAM-16, OFDM) Изменено 11 апреля, 2023 пользователем repstosw Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Obam 38 11 апреля, 2023 Опубликовано 11 апреля, 2023 · Жалоба Ох, обшибся я (как-никак 7 лет тому уж): RDA1846 - обычный NFM-трансивер, просто одновременно с "белыми" проходил (мимо), но наверняка они и ISM делают. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 53 11 апреля, 2023 Опубликовано 11 апреля, 2023 · Жалоба 18 минут назад, Obam сказал: RDA1846 - обычный NFM-трансивер Ну да, это ж для аудио, радиостанций и пр, а тут в задаче пакетная передача данных... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
repstosw 18 12 апреля, 2023 Опубликовано 12 апреля, 2023 · Жалоба 5 hours ago, mantech said: Ну да, это ж для аудио, радиостанций и пр, а тут в задаче пакетная передача данных... Запустил AT86RF215 в режиме OFDM (Option 1, MCS=3): 800 кбит/c, QPSK rate 1/2. Максимальная мощность в таком режиме: 12 dBm (~16 мВт) @ 438 MГц. Пакеты принимаются без ошибок по всем комнатам помещения при движении приёмника (чего не было в случае с FSK). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться