Скрыть объявление
На нашем форуме недоступен просмотр изображений для неавторизованных пользователей. Если Вы уже зарегистрированы на нашем форуме, то можете войти. Если у Вас еще нет аккаунта, мы будем рады, если Вы к нам присоединитесь. Зарегистрироваться Вы можете здесь.

RTL00 MP3 player

Тема в разделе "Realtek - SDK, прошивки и утилиты", создана пользователем pvvx, 13 окт 2016.

  1. pvvx

    pvvx Активный участник сообщества

    Сообщения:
    8.387
    Симпатии:
    1.270
    Ну тут уж без Зорга никак, т.е. быстрее никак. :) Тама так-же всё - первые ответы всегда идут с двойным смыслом, чтобы вы выбрали сторону. Т.е. вы сами решили принять сторону "снобизма". Кому-как привычней. :)
    Оффтоп:
    Ну планетка то маленькая, а на 8-ми битнике и c I2С её не покинуть... Там какая-то оптика уже нужна, а тащат в пещеру...
     
    Последнее редактирование: 6 июн 2017
  2. Creep

    Creep Читатель

    Сообщения:
    57
    Симпатии:
    5
    может неверно оценена "архитектура" решения? один и2ц дает огромное кол-во периферии в прямую, а через расширители вообще трудно представить сколько туда влезает - 2! пина всего.
     
  3. Pilnikov

    Pilnikov Активный участник сообщества

    Сообщения:
    300
    Симпатии:
    26
    у меня почти вся периферия из-за ограниченного числа гпио итак на и квадрате. а вы попробуйте (поделитесь экземплом) подключить ну хотя бы к эспиай цветную led матрицу 32х64, пускай даже в текстовом режиме, пускай даже в основных цветах \(без хуе)/ Или скажите модель контроллера для нее с интерфейсом уарт || спи || и2ц
    З.Ы. опять оффтоп опять не в ту тему. зорг заклюет:(
     
  4. Creep

    Creep Читатель

    Сообщения:
    57
    Симпатии:
    5
    а как же обмен информацией?
    матрица не имеет своего контроллера? если нет то пачка сдвиговых регистров и прочее придется собирать, если требуется просто spi превратить в шину то расширителем портов можно быстро соорудить чип-селект (исходим из экономии портов), большие скорости переключения устройств на шине вроде не требуются. управление светодиодными матрицами как я погляжу (в гугле) вполне типовые - построчно зажигаются нужные диоды в столбцах, остальное технические нюансы; что лед-матрицы, что световые кубы, принцип один.
    посмотрите на проекты "кубов 8*8*8" может найдете идею или вдохновение ;)
     
  5. pvvx

    pvvx Активный участник сообщества

    Сообщения:
    8.387
    Симпатии:
    1.270
    А кто так делает? Смысл тогда иметь на борту контроллеры разных интерфейсов? Вам нужен другой чип - какой-то многоножка с сотней GPIO. Вы выбрали не ту микросхему и смысл ваших постов тут совершенно ничем не подкреплен, кроме блажи.
    Вот интерфейс к 4K экрану по вашему должен иметь 12 582 912 *3 DAC на каждую точку, т.е. минимум 12 582 912*3*8 выходов GPIO для подключения резисторов (12 582 912*3 DAC на 8 бит) :)

    Теперь посмотрите, как вы извращаетесь с SoC, у которого интерфейсы рассчитаны и заточены на скорость коммуникаций по WiFi. Это, при учете, что в эфире несколько участников, выходит на уровне 1 мегабит в сек, а при одиночном монопольном включении ST<->AP - до 15 мегабит/cек. Но буфера (объем RAM) не могут обеспечивать заполнение неизбежных пауз в эфире WiFi от помех и реальная закладываемая скорость для данного чипа ограничивается на уровне немного менее, для непрерывных потоков.
    Как вы представляете ногодрыг за 1 МГц на каждый из 8 пинов? Проц это обеспечить не может, а вот DMA в данном SoC (и его устройства, хотя-бы через MII с тактом 100МГц) - запросто. Но это уже задачи не для Arduino, да и проще их решить специализированным внешним контроллером подключенным по одному из имеющихся интерфейсов в SoC RTL.
    RTL8195 в состоянии формировать выходы для цветного VGA на QSPI+SPI, что уже доказано в теме
    RTL8710 VGA Driver Дело там остановилось на стадии лени перелопачивать приоритеты прерываний всего SDK (иначе возникает потеря синхронизации двух каналов SPI при загрузке их DMA по прерываниям во время работы WiFi). А у вас одни задачи Arduino на уровне для 4-х битного MCU с тактом до 1 МГц, мигающего раз в несколько секунд светодиодом или дрыгающего ногой для эмуляции UART до 9600 baud. Дык возьмите какой чип с BT – его вам за глаза хватит поиграться, а не извращайтесь на чипе не приспособленном для ногодрыга командами CPU :p
     
    Последнее редактирование: 10 июн 2017
    kissste нравится это.
  6. aloika

    aloika Активный участник сообщества

    Сообщения:
    367
    Симпатии:
    25
    Вот такая проблема была: при нажатии на цель flashburn не запускался Jlink GDB server.

    В flasher.mk строка 133 была
    @cmd /K start $(JLINK_PATH)$(JLINK_GDBSRV) -device Cortex-M3 -if SWD -ir -endian little -speed 1000

    заменил на

    @cmd CMD /K start \"\" $(JLINK_PATH)$(JLINK_GDBSRV) -device Cortex-M3 -if SWD -ir -endian little -speed 1000

    и всё заработало.

    Разворачивается она у меня в:

    CMD /K start "" c:/Program Files (x86)/SEGGER/JLink_V612a/JLinkGDBServer.exe -device Cortex-M3 -if SWD -ir -endian little -speed 1000

    То ли ошибка, то ли у меня какие-то индивидуальные особенности винды (Win 10)
     
  7. pvvx

    pvvx Активный участник сообщества

    Сообщения:
    8.387
    Симпатии:
    1.270
    Не используйте имена директорий с пробелами. Будет меньше неразберихи...
     
  8. rkravt

    rkravt Читатель

    Сообщения:
    45
    Симпатии:
    11
    Пользуйте сколько угодно пробелов, вроде вещи тривиальные, двойные ковычеки (") для этого
     
  9. Creep

    Creep Читатель

    Сообщения:
    57
    Симпатии:
    5
    а разве это:
    @cmd /K start \"$(JLINK_PATH)$(JLINK_GDBSRV)\" -device Cortex-M3 -if SWD -ir -endian little -speed 1000
    не очевидный вариант? или он не работает?
     
  10. aloika

    aloika Активный участник сообщества

    Сообщения:
    367
    Симпатии:
    25
    Нет, там почему-то сложнее. Более того, разные проекты, доходя до этой строчки, по-разному ее разворачивают. Вот это экранирование кавычек в некоторых проектах (MP3) работает, а в некоторых (HTTPD) почему-то нет. Где-то, похоже какие-то настройки еще есть.
    Пока сделал пути без пробелов, как-то работает.
     
  11. Creep

    Creep Читатель

    Сообщения:
    57
    Симпатии:
    5
    мк-файлы смотрел полтора месяца назад по диагонали, на вид ничего сложного, все линейно, лаконично, интуитивно понятно. Глубже разбирать не стал. Боги риалтека против меня - за 2,5 месяца из 4х магазинов али и ебея ни одной платки с модулем не дошло.
     
  12. pvvx

    pvvx Активный участник сообщества

    Сообщения:
    8.387
    Симпатии:
    1.270
    Это вы объясняйте утилитам mingw и пользователям.
     
  13. pvvx

    pvvx Активный участник сообщества

    Сообщения:
    8.387
    Симпатии:
    1.270
    У кого есть декодеки на ARM к DSD? Хочу ДД в 120дБ сразу с цифровых ножек :)
    (Однобитный цифровой формат записи Direct Stream Digital (DSD), используется для записи SACD-дисков)
    Что-то так сразу не натыкаюсь... А вывести его в два канала SPI или I2S на RTL возможно - там всего-то 1 bit на 2.8224 МГц...
    На I2S в формате 96 кГц на 2x32 bit не пойдет, т.к. выводиться только 2 по 24 бита с дыркой в 8 бит, которая всё и портит (DSD так невозможна, по этому в MP3 и применен ШИМ на 96 бит. 96к*2*24/48к = 96
    Может MP3 можно как-то сразу перекодировать в DSD, минуя PCM в ИКМ или ШИМ?
     
  14. pvvx

    pvvx Активный участник сообщества

    Сообщения:
    8.387
    Симпатии:
    1.270
    Eclipse выступает в роли редактора и не более. Проект собирается и без неё.
    Только что запсустил:
    >git clone git@github.com: pvvx/RTL00MP3.git
    >cd RTL00MP3
    >mingw32-make.exe -s >log.txt
    log.txt:
    Код (Text):
    1. ===========================================================
    2. Compile (build)
    3. project/src/user/main.c
    4. ....
    5. ....
    6. Image (build/bin/ota.bin) size 300160 bytes
    7. Image (build/bin/ram_all.bin) size 345212 bytes
    8. ===========================================================
    В системе установлено:
    D:\MCU\GNU_Tools_ARM_Embedded\5.4_2016q2
    C:\MinGW\msys\1.0
    C:\MinGW\mingw64

    Используется Eclipse версии Cpp Neon
     
    Последнее редактирование: 27 июн 2017
  15. pvvx

    pvvx Активный участник сообщества

    Сообщения:
    8.387
    Симпатии:
    1.270
    Не знаю, и могу только предполагать, что что-то другой версии.
    Конкретнее можно указать на ссылку инсталлятора GCC? Тогда проверю с ним.
    Сейчас оно работает со всеми последними и предыдущими релизами GCC, с Version 6-2017-q1-update не проверял.
     
    Последнее редактирование: 27 июн 2017
  16. pvvx

    pvvx Активный участник сообщества

    Сообщения:
    8.387
    Симпатии:
    1.270
    Последнее редактирование: 27 июн 2017
  17. pvvx

    pvvx Активный участник сообщества

    Сообщения:
    8.387
    Симпатии:
    1.270
    Это не Arduino - разберетесь сами. Необходимые утилиты для сборки проектов на ARM описаны в других темах...
    Исходник RTL00MP3\RTL00_SDKV35a\component\soc\realtek\8195a\misc\iar_utility\common\tools\src\pick.cpp дан, а разгребать что вы там у себя поставили вы должны сами. Вариантов системы сборки под ARM в Винде слишком много и я не в состоянии и не имею цели учитывать все.
    Приложение создано не для сборки одной кнопкой, а для создания своих проектов и вы должны уметь работать со своим окружением сборки и со знаниями Eclipse, GCC, MinGW, СИ/C++ и аппаратных фич, наличествующих в том-же чипе RTLxxx, используемым Jtag и т.д....
    Ну а так - наверно надо:
    mingw32-make.exe -s clean
    mingw32-make.exe -s
    JLink-RunRAM.bat
    Снимок1533.gif
     
    Последнее редактирование: 27 июн 2017
  18. pvvx

    pvvx Активный участник сообщества

    Сообщения:
    8.387
    Симпатии:
    1.270
    Почему это "не знаю" - вроде ответил и указал :)
    Не описывать же каждую опцию выводимую по "?" в терминале, т.к. они описаны в СИ?
    После запуска надо указать соединение:
    ATPN=<SSID>[,password[,encryption[,auto-reconnect[,reconnect pause]]]: WIFI Connect to AP
    Достаточно всего atpn SSID password
    далее прога запомнит и будет соединяться сам при следующем пуске...
    На счет вылетов самого декодера MP3 при пуске я не разбирался - такая его библиотека и вылеты не связаны с другими компонентами...
     
    Последнее редактирование: 27 июн 2017
  19. pvvx

    pvvx Активный участник сообщества

    Сообщения:
    8.387
    Симпатии:
    1.270
    Потому, что SDK невозможно сконфигурировать под каждый проект. Для этого надо изменить все примеры в нем и все проверить во всех комбинациях, коих там сотни.
    Вот счас вышел новый SDK 4.0 - его адаптировал для моих проектов, но не для примеров идущих к самому SDK.
    Так-же в стандартном SDK 4.0 MP3 не лезет вообще в чипы с буквой "F" и пока удалось его ужать до работы в режиме ST без ST+AP, т.к. драйвер WiFi и другие части в SDK 4.0 толще...

    Да и эти мелочи не интересуют "разработчиков" и эксперементаторов...
    https://esp8266.ru/forum/threads/rtl00-mp3-player.1697/page-12#post-38496
    Как-бы более интереснее запустить проигрывание DSD и получить ДД в 120 дБ на козявке за пару $ с несколькими элементами... разбив глупости на дороговизну аппаратуры для DSD :) Поток dsd в канал WiFi укладывается, останется оценить ждиттеры на выводе SPI или I2S...
    Примеры DSD файлов: 2L High Resolution Music .:. free TEST BENCH
    В *.dsf сжатия вообще не используется - значит можно гнать прямо в 2 канала... Но вот времени пока на эксп нету... А то идет борьба по глупости "воздушности" в DSD в отличии от PCM кодирования :) где никто и никогда не учитывал дискрет самой оцифровки и что итого не одинаково сопсем, и выдумал что там высокие частоты имеют оцифровку фазу лучше, т.к. 1 бит цифруется чаще :)
     
    Последнее редактирование: 27 июн 2017
  20. sharikov

    sharikov Авторитетный участник сообщества

    Сообщения:
    547
    Симпатии:
    51
    cygwin лучше потому что он полностью эмулирует линукс окружение.
    msys ущербен потому что это попытка скрестить ежа с ужом.

    в амебовских мэйкфайлах проверяют наличие cygwin.
     

Поделиться этой страницей