mantech 48 3 августа, 2022 Опубликовано 3 августа, 2022 (изменено) · Жалоба В 03.08.2022 в 22:43, GenaSPB сказал: Кстати, а как у OTG выбирается тот пин, на который заведено VBUS? А вот тут не подскажу, на аллвиннерах с ним дело не имел.. Кстати, если будете запускать musb device, то этот 0й бит host route, нужно снова установить в 1. Изменено 3 августа, 2022 пользователем mantech Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GenaSPB 11 3 августа, 2022 Опубликовано 3 августа, 2022 · Жалоба On 8/3/2022 at 10:45 PM, mantech said: то этот 0й бит host route, нужно снова установить в 1. Учту. Но я так понимаю оно изначально стоит в "1" ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 48 3 августа, 2022 Опубликовано 3 августа, 2022 · Жалоба В 03.08.2022 в 22:51, GenaSPB сказал: Но я так понимаю оно изначально стоит в "1" ? Именно так. 1 означает, что phy0 подключено к контроллеру musb. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
repstosw 18 7 августа, 2022 Опубликовано 7 августа, 2022 (изменено) · Жалоба Запустил декодер H264 на V3s (доска Lichee Pi Zero). С аппаратной де-тайлизацией и конверсией YUV в RGB. Без посредников и без участия CPU. Существенных отличий от T113-s3 практически нет, разве что включение клоков отличается: BUS_SOFT_RST_REG1&=~1; //VE Reset assert PLL_VE_CTRL_REG|=(1UL<<31); //enable VE_PLL 297 MHz VE_CLK_REG=(1UL<<31)|((1-1)<<16); //clock on /N=1 297 MHz BUS_CLK_GATING_REG1|=1; //Gating Clock for VE DRAM_CLK_GATING_REG|=1; //VE DCLK GATING SRAM_CFG_REG0=0x7FFFFFFF; //enable SRAM for VE BUS_SOFT_RST_REG1|=1; //VE Reset de-assert Обязательно разрешать SRAM для VE, иначе работать НЕ будет. И регистры CSC куда-то съехали на другие смещения (подсмотрел в Linux): #define CSC_REGS 0x011AA050 Декодеру совершенно фиолетово, какая DDR память у V3s. Ради правильности поставил DDR2 16 bit: DDRTYPE_DDR2_16BITS Скорость работы декодера V3s меньше, чем у T113-s3 из-за более низкой тактовой частоты памяти. Но намного выше, чем у софтовой реализации, что весьма очень радует. Видео 720 x 576, CRF=23. Замеры времени декодирования фреймов: 3.118833 ms, 320.632721 FPS 2.817167 ms, 354.966583 FPS 2.091333 ms, 478.163849 FPS 3.141833 ms, 318.285492 FPS 3.040833 ms, 328.857208 FPS 2.146500 ms, 465.874695 FPS 2.929500 ms, 341.355194 FPS 2.930500 ms, 341.238708 FPS 2.831000 ms, 353.232086 FPS 2.163167 ms, 462.285217 FPS 2.681500 ms, 372.925598 FPS 2.144500 ms, 466.309174 FPS 2.643000 ms, 378.357941 FPS 2.943833 ms, 339.693146 FPS 2.890500 ms, 345.960907 FPS 2.640333 ms, 378.740051 FPS 2.463333 ms, 405.953979 FPS 2.251333 ms, 444.181213 FPS 2.696000 ms, 370.919891 FPS 2.699833 ms, 370.393219 FPS 2.629167 ms, 380.348663 FPS 2.251667 ms, 444.115479 FPS 2.703833 ms, 369.845276 FPS 2.643833 ms, 378.238678 FPS 2.613500 ms, 382.628662 FPS 2.256833 ms, 443.098724 FPS 2.647000 ms, 377.786163 FPS Что касается декодера MPEG2, то его нет в V3s. И очевидно, JPEG декодера тоже. Потому что (M)JPEG декодер вписан в регистры MPEG, которых нет: https://patchwork.kernel.org/project/linux-arm-kernel/cover/[email protected]/#23765089 Quote First patch extends cedrus capability to all decoders because V3s missing MPEG2 decoder. Only H.264 decoder working - MPEG and H.265 unsupported by V3s, JPEG/MJPEG still unimplemented, encoder unimplemented. Изменено 7 августа, 2022 пользователем repstosw Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
repstosw 18 10 августа, 2022 Опубликовано 10 августа, 2022 (изменено) · Жалоба Запустил кодер H264(AVC) на V3s. Из подводных камней: нужно было установить биты 6 и 7 в регистре: void *ve_get(int engine, uint32_t flags) { Writel(0x00110000 | (engine & 0xf) | (flags & ~0xf) | (1<<7) | (1<<6), VE_BASE + VE_CTRL); return (void*)VE_BASE; } Исходники брал эти: https://github.com/jemk/cedrus/tree/master/h264enc Так как камеру пока не подключил, использовал SD-карту и записал на неё непожатые кадры видео в формате NV12: Quote ffmpeg -t 00:00:01.5 -i video.mp4 -c:v rawvideo -pix_fmt nv12 -qscale:v 0 -an -y in.yuv Выигрыш в сжатии получился колоссальным - 1,5 секунды видео 640x480 из 21 МБ сжалось до 804 кБ: Дата создания выходного файла out.264 - захардкожена в FatFs : 09.07.2022 0:00 Замерил скорость кодирования фреймов 640x480 - очень даже хорошо: Quote 2.467833 ms, 405.213745 FPS 2.358833 ms, 423.938385 FPS 2.361667 ms, 423.429779 FPS 2.368333 ms, 422.237854 FPS 2.374833 ms, 421.082184 FPS 2.365833 ms, 422.684052 FPS 2.364167 ms, 422.982025 FPS 2.369500 ms, 422.029968 FPS 2.363167 ms, 423.161011 FPS 2.368000 ms, 422.297302 FPS 2.369667 ms, 422.000275 FPS 2.381000 ms, 419.991608 FPS 2.366167 ms, 422.624512 FPS 2.372167 ms, 421.555542 FPS 2.370167 ms, 421.911255 FPS 2.364667 ms, 422.892578 FPS 2.375000 ms, 421.052643 FPS 2.378667 ms, 420.403595 FPS 2.382500 ms, 419.727173 FPS 2.373500 ms, 421.318726 FPS 2.290667 ms, 436.554138 FPS 2.373167 ms, 421.377899 FPS 2.371500 ms, 421.674042 FPS 2.376000 ms, 420.875427 FPS 2.382833 ms, 419.668457 FPS 2.614167 ms, 382.531067 FPS 2.383000 ms, 419.639099 FPS 2.378167 ms, 420.491974 FPS 2.371500 ms, 421.674042 FPS 2.371333 ms, 421.703674 FPS 2.299167 ms, 434.940186 FPS 2.379167 ms, 420.315247 FPS 2.290167 ms, 436.649445 FPS 2.374333 ms, 421.170868 FPS 2.386333 ms, 419.052948 FPS 2.377000 ms, 420.698364 FPS 2.376167 ms, 420.845886 FPS 2.373667 ms, 421.289154 FPS 2.378333 ms, 420.462494 FPS 2.378167 ms, 420.491974 FPS 2.378667 ms, 420.403595 FPS 2.380333 ms, 420.109222 FPS 2.382000 ms, 419.815277 FPS 2.371000 ms, 421.762970 FPS 2.378333 ms, 420.462494 FPS 2.368167 ms, 422.267578 FPS 2.375833 ms, 420.904938 FPS Приложил выходной поток, даваемый V3s (видео открывается в MPC-HC player или VLC media player): out.zip Медиаинфо: Video: MPEG4 Video (H264) 640x480 25fps [V: h264 main L4.1, yuv420p, 640x480] General Format : AVC Format/Info : Advanced Video Codec File size : 803 KiB Video Format : AVC Format/Info : Advanced Video Codec Format profile : [email protected] Format settings, CABAC : Yes Format settings, RefFrames : 1 frame Width : 640 pixels Height : 480 pixels Display aspect ratio : 4:3 Color space : YUV Chroma subsampling : 4:2:0 Bit depth : 8 bits Scan type : Progressive Изменено 10 августа, 2022 пользователем repstosw Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
repstosw 18 11 августа, 2022 Опубликовано 11 августа, 2022 · Жалоба Запустил SPI у V3s в режиме мастера и микросхему SPI NOR W25Q16 на нём. Написал свой загрузчик, который грузит в DDR приложение. Загрузчик сидит в первых 16 кБ микросхемы SPI NOR: 0x00000000.. 0x00003FFF Приложение сидит с 16-го килобайта в SPI NOR: 0x00004000 .. 0x001FFFFF Размер приложения - 4 байта на месте 5-го вектора прерывания (зарезервировано) Загрузчик и приложение записываю в SPI NOR с помощью обновлённой утилиты sunxi-fel: sunxi-fel -p spiflash-write 0x00000000 loaderNOR.V3s sunxi-fel -p spiflash-write 0x00004000 app.bin Плюс написал свой патчер, который вписывает в приложение его размер(на место 5-го вектора). Проверял SPI NOR до 75 МГц - работает. По даташиту вообще можно на 80 МГц. Всё работает как часы, и я рад! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GenaSPB 11 11 августа, 2022 Опубликовано 11 августа, 2022 · Жалоба А где есть внятное описание формата заголовка? давно пора сделать свой вписыватель контрольной суммы... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
repstosw 18 11 августа, 2022 Опубликовано 11 августа, 2022 (изменено) · Жалоба 1 hour ago, GenaSPB said: А где есть внятное описание формата заголовка? давно пора сделать свой вписыватель контрольной суммы... Вы что имеете ввиду? Для V3s я делаю бинарники, а загрузчик самопальный. Ему не нужны заголовки. Для T113-s3 пока ещё не делал загрузчик, x-fel расслабил (он поддерживает загрузку в DDR). Исходник расчёта контрольной суммы для eGON.BT0 видел на гитхабе Первое что попалось - https://gist.github.com/hno/dae626bc7765dcad2dae Изменено 11 августа, 2022 пользователем repstosw Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GenaSPB 11 11 августа, 2022 Опубликовано 11 августа, 2022 · Жалоба Да. Я про заголовок того что в qspi пишется с сигнатуррй eGON.BT0 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 48 11 августа, 2022 Опубликовано 11 августа, 2022 (изменено) · Жалоба 11 часов назад, repstosw сказал: Загрузчик и приложение записываю в SPI NOR с помощью обновлённой утилиты sunxi-fel: Вопрос - как-то удалось на winbond-овские флешки его записать? У меня прекрасно пишет на флешки MXIC, а винбондов лежит дофига, но увы и ах не пишет на них... 11 часов назад, repstosw сказал: помощью обновлённой может в этом дело, не дадите ссылку на обновленную версию? 5 часов назад, GenaSPB сказал: пора сделать свой вписыватель контрольной суммы... А смысл? Тот что есть прекрасно справляется со своей задачей))) К тому же это нужно только в бутлоадере. Изменено 11 августа, 2022 пользователем mantech Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GenaSPB 11 11 августа, 2022 Опубликовано 11 августа, 2022 (изменено) · Жалоба 57 minutes ago, mantech said: Вопрос - как-то удалось на winbond-овские флешки его записать Массово применяю W25Q128JVEIQ - обычным xfel-windows-v1.2.9 Изменено 11 августа, 2022 пользователем GenaSPB Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 48 11 августа, 2022 Опубликовано 11 августа, 2022 · Жалоба 9 минут назад, GenaSPB сказал: xfel-windows Мне для v3s надо.. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GenaSPB 11 11 августа, 2022 Опубликовано 11 августа, 2022 (изменено) · Жалоба Наверное проблемы с чипами которые не умеют jedec информацию отдавать? Вы бы название хоть сказали... Изменено 11 августа, 2022 пользователем GenaSPB Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 69 11 августа, 2022 Опубликовано 11 августа, 2022 · Жалоба 46 minutes ago, GenaSPB said: W25Q128JVEIQ У "Q" четырехпроводный режим гвоздями прибит... 1 hour ago, mantech said: не пишет на них... может, в этом дело? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GenaSPB 11 11 августа, 2022 Опубликовано 11 августа, 2022 · Жалоба Не прибит. В однобитном со стандартным набором работает. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться