repstosw 18 11 октября, 2023 Опубликовано 11 октября, 2023 (изменено) · Жалоба 5 hours ago, sasamy said: он просто так не будет орать https://github.com/raspberrypi/pico-sdk/issues/1029#issuecomment-1324889474 Вот здесь об этом рассказано по-лучше: https://www.redhat.com/en/blog/linkers-warnings-about-executable-stacks-and-segments Ему не нравятся, что конструкторы и деструкторы были описаны в отдельных блоках. Когда их разместил в .text, то предупреждение исчезло: .text : { *(.text*) . = ALIGN(4); PROVIDE_HIDDEN (_ctors_start = .); KEEP (*(SORT(.ctors.*))) KEEP (*(.ctors*)) . = ALIGN(4); PROVIDE_HIDDEN (_ctors_end = .); . = ALIGN(4); PROVIDE_HIDDEN (_dtors_start = .); KEEP (*(SORT(.dtors.*))) KEEP (*(.dtors*)) . = ALIGN(4); PROVIDE_HIDDEN (_dtors_end = .); } > ROM Мне кажется, что этот 13-й GCC слишком предвзятый. Какие атаки могут быть на сегменты, которые выполняются в Bare Metal? Изменено 11 октября, 2023 пользователем repstosw Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GenaSPB 11 11 октября, 2023 Опубликовано 11 октября, 2023 · Жалоба А сделать для таких .gnu.warning.* секций раздел DISCARD в линк скрипте? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
repstosw 18 11 октября, 2023 Опубликовано 11 октября, 2023 (изменено) · Жалоба 29 minutes ago, GenaSPB said: А сделать для таких .gnu.warning.* секций раздел DISCARD в линк скрипте? Не помогло. Скорее всего линковщик первее выдает предупреждения, а не смотрит что в линкер-скрипте. /* remove the debugging information from the standard libraries */ DISCARD : { .gnu.warning.* libgcc.a ( * ) libc.a ( * ) libc_nano.a ( * ) libm.a ( * ) libm_nano.a ( * ) libstdc++.a ( * ) } Вот тут схожая проблема: https://stackoverflow.com/questions/73429929/gnu-linker-elf-has-a-load-segment-with-rwx-permissions-embedded-arm-project https://github.com/raspberrypi/pico-sdk/issues/1029 Лучше бы они ничего не меняли... Конечно, можно линкеру приписать -Wl,--no-warn-rwx-segments и забыть... Но я слишком педантичен, чтобы это оставлять. 38 minutes ago, repstosw said: Когда их разместил в .text, то предупреждение исчезло: Ещё такой вариант не приводит к появлению предупреждения: .ctors : { . = ALIGN(4); PROVIDE_HIDDEN (_ctors_start = .); KEEP (*(SORT(.ctors.*))) KEEP (*(.ctors*)) . = ALIGN(4); PROVIDE_HIDDEN (_ctors_end = .); } > RAM AT > ROM .dtors : { . = ALIGN(4); PROVIDE_HIDDEN (_dtors_start = .); KEEP (*(SORT(.dtors.*))) KEEP (*(.dtors*)) . = ALIGN(4); PROVIDE_HIDDEN (_dtors_end = .); } > RAM AT > ROM Задача называется "обмани линкер" Изменено 11 октября, 2023 пользователем repstosw Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sasamy 1 11 октября, 2023 Опубликовано 11 октября, 2023 (изменено) · Жалоба On 10/11/2023 at 2:14 PM, repstosw said: Лучше бы они ничего не меняли... можно вернуть как было - собирать линкер без этих варнингов Quote It is also possible to build the linker with either or both of these options disabled by default. This is done by using the --enable-warn-execstack=no and/or --enable-warn-rwx-segments=no configure time options. в crosstool-ng можно через меню добавить Quote ./ct-ng menuconfig Binary utilities ---> (--enable-warn-rwx-segments=no --enable-warn-execstack=no) binutils extra config Изменено 11 октября, 2023 пользователем sasamy Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
repstosw 18 11 октября, 2023 Опубликовано 11 октября, 2023 · Жалоба Требуют секцию .gcc_except_table. Несмотря на то, что компилирую с ключами: -fno-rtti -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables -fomit-frame-pointer -fno-threadsafe-statics C++ конечно. Разместил секцию в LD-скрипте. Всё работает. Но неприятно, что ключи проигнорировались. Где-то в недрах libstdc++ наверно эти исключения используюстя. Надо бы им ещё сделать libstdc++_nano 🤣 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
repstosw 18 11 октября, 2023 Опубликовано 11 октября, 2023 (изменено) · Жалоба 6 hours ago, sasamy said: ./ct-ng menuconfig Binary utilities ---> (--enable-warn-rwx-segments=no --enable-warn-execstack=no) binutils extra config + Quote cd ./overlays mkdir xtensa_hifi4 tar -xf xtensa_hifi4.tar.gz -C xtensa_hifi4 find ./xtensa_hifi4 -type f -print0 | xargs -0 sed -i '/#define XSHAL_ABI/c\#define XSHAL_ABI XTHAL_ABI_CALL0' + Quote Для этого пришлось изменить макрос stub_warning(name), превратив его в ничто: https://github.com/espressif/newlib-esp32/blob/esp_based_on_4_1_0/libgloss/libnosys/warning.h#L40 Пересобрал тулчейн для Win32 с вышеуказанными опциями. Доволен. Работает в ABI=call0. Нет никаких тупых предупреждений. Можно переключать на Windowed (-mabi=windowed, -Wl,--abi-windowed), но библиотеки для этого режима надо пересобирать, или взять их с тулчейна, выложенного sasamy. Разобрался, как в ct-ng делать сохранение. У меня он завешивает комп постоянно на билдах, много времени убил прежде чем включить сохранение: https://stackoverflow.com/questions/9900005/is-it-possible-to-speed-up-crosstool-ng-builds-once-errors-have-occured Quote for ct-ng menuconfig, config Paths and misc options like this ───────────────────── Paths and misc options ───────────────────── [*] Debug crosstool-NG [ ] Pause between every steps [*] Save intermediate steps [*] gzip saved states [*] Interactive shell on failed commands Восстанавливаться: Quote ./ct-ng list-saves ...список стейтов... ./ct-ng предпоследний стейт+ Изменено 11 октября, 2023 пользователем repstosw Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
repstosw 18 12 октября, 2023 Опубликовано 12 октября, 2023 (изменено) · Жалоба С последними конфигами libm, libm_nano криво строится: не хватает некоторых функций. С предыдущими либами из newlib (по ссылке от японца) проект успешно строился. Криво работают зависимости между библиотеками. Нижеприведённые функции есть в libgcc, которая почему-то лежит не в стандартном пути lib, а в другом месте: ...GCC_HiFi4\lib\gcc\xtensa-hifi4-elf\13.2.0 Все эти функции есть в libgcc.a. Но при компоновке, линковщик их не хочет брать. Перепробовал все последовательности указания либ. Эффекта не даёт: линкер считает, что этих функций нет: При этом если сделать так: extern float __addsf3(float a,float b); extern int __fixsfsi(float a); int main(void) { printf("\nHiFi4 DSP ... %f\n\n",__addsf3(__fixsfsi((float)AVS_CNT0_REG),(float)AVS_CNT1_REG)); //... То проект успешно собирается. Предполагаю, что это происходит из за /DISCARD/ в LD-скрите или флагов: -nostartfiles -ffreestanding Наверное пора make-файл писать вместо батника. Иначе с зависимостями между библиотеками как-то не гибко... Изменено 12 октября, 2023 пользователем repstosw Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sasamy 1 12 октября, 2023 Опубликовано 12 октября, 2023 · Жалоба On 10/12/2023 at 7:45 AM, repstosw said: Перепробовал все последовательности указания либ. что за мода скидывать логи картинками ? я на картинке не вижу -lgcc Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
repstosw 18 12 октября, 2023 Опубликовано 12 октября, 2023 (изменено) · Жалоба 20 minutes ago, sasamy said: что за мода скидывать логи картинками ? Перенаправление в файл работает на результат: Spoiler C:/GCC_HiFi4/bin/../lib/gcc/xtensa-hifi4-elf/13.2.0/../../../../xtensa-hifi4-elf/bin/ld.exe: C:/GCC_HiFi4/bin/../lib/gcc/xtensa-hifi4-elf/13.2.0/../../../../xtensa-hifi4-elf/lib\libm.a(libm_a-sf_lrint.o):(.literal+0x4): undefined reference to `__addsf3' C:/GCC_HiFi4/bin/../lib/gcc/xtensa-hifi4-elf/13.2.0/../../../../xtensa-hifi4-elf/bin/ld.exe: C:/GCC_HiFi4/bin/../lib/gcc/xtensa-hifi4-elf/13.2.0/../../../../xtensa-hifi4-elf/lib\libm.a(libm_a-sf_lrint.o):(.literal+0x8): undefined reference to `__subsf3' C:/GCC_HiFi4/bin/../lib/gcc/xtensa-hifi4-elf/13.2.0/../../../../xtensa-hifi4-elf/bin/ld.exe: C:/GCC_HiFi4/bin/../lib/gcc/xtensa-hifi4-elf/13.2.0/../../../../xtensa-hifi4-elf/lib\libm.a(libm_a-sf_lrint.o):(.literal+0xc): undefined reference to `__fixsfsi' C:/GCC_HiFi4/bin/../lib/gcc/xtensa-hifi4-elf/13.2.0/../../../../xtensa-hifi4-elf/bin/ld.exe: C:/GCC_HiFi4/bin/../lib/gcc/xtensa-hifi4-elf/13.2.0/../../../../xtensa-hifi4-elf/lib\libm.a(libm_a-sf_lrint.o): in function `lrintf': /home/tux/crosstool-NG/.build/HOST-i686-w64-mingw32/xtensa-hifi4-elf/src/newlib/newlib/libm/common/sf_lrint.c:69:(.text+0x4e): undefined reference to `__addsf3' C:/GCC_HiFi4/bin/../lib/gcc/xtensa-hifi4-elf/13.2.0/../../../../xtensa-hifi4-elf/bin/ld.exe: /home/tux/crosstool-NG/.build/HOST-i686-w64-mingw32/xtensa-hifi4-elf/src/newlib/newlib/libm/common/sf_lrint.c:70:(.text+0x60): undefined reference to `__subsf3' C:/GCC_HiFi4/bin/../lib/gcc/xtensa-hifi4-elf/13.2.0/../../../../xtensa-hifi4-elf/bin/ld.exe: /home/tux/crosstool-NG/.build/HOST-i686-w64-mingw32/xtensa-hifi4-elf/src/newlib/newlib/libm/common/sf_lrint.c:84:(.text+0x8c): undefined reference to `__fixsfsi' collect2.exe: error: ld returned 1 exit status 20 minutes ago, sasamy said: я на картинке не вижу -lgcc Ничего не дало. Картику обновил. Строка сборки: Spoiler xtensa-hifi4-elf-gcc -nostartfiles -u_printf_float -Llibhal -Llibjpeg8 -Llibspeexdsp -Llibcelt -T hifi4.lds -Wl,-Map=main.map,--cref -Wl,--defsym,cache=1 -Wl,--gc-sections -Wl,--static -Wl,--strip-all ^ -o main.elf ^ ^ startup_s.o ^ .... ^ main.o ^ ^ -lgcc -lm -lc -lnosys -lhal -ljpeg8 -lspeexdsp -lcelt Секция DISCARD: /* remove the debugging information from the standard libraries */ DISCARD : { libgcc.a ( * ) libc.a ( * ) libc_nano.a ( * ) libm.a ( * ) libm_nano.a ( * ) libstdc++.a ( * ) libnosys.a ( * ) } Изменено 12 октября, 2023 пользователем repstosw Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sasamy 1 12 октября, 2023 Опубликовано 12 октября, 2023 · Жалоба On 10/12/2023 at 9:45 AM, repstosw said: Ничего не дало. Картику обновил. а так если -lgcc -lm -lgcc Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
repstosw 18 12 октября, 2023 Опубликовано 12 октября, 2023 (изменено) · Жалоба 52 minutes ago, sasamy said: а так если -lgcc -lm -lgcc Не собирает. Нашёл правильный порядок следования библиотек. lgcc.a с включенной секцией /DISCARD/ вообще не нужно указывать. Строка сборки: xtensa-hifi4-gcc -nostartfiles -nostdlib -nodefaultlibs -ffreestanding -ftree-vectorize -fno-math-errno ^ -u_printf_float -Llibhal -Llibjpeg8 -Llibspeexdsp -Llibcelt -T hifi4.lds -Wl,--gc-sections -Wl,--static -Wl,--strip-all ^ ^ startup_s.o ^ startup_c.o ^ ... main.o ^ -o main.elf -Xlinker -Map=main.map ^ -ljpeg8 -lspeexdsp -lcelt -lhal -lm_nano -lc_nano -lnosys С выключенной секцией DISCARD: %TOOLCHAIN%gcc -nostartfiles -nostdlib -nodefaultlibs -ffreestanding -ftree-vectorize -fno-math-errno ^ -u_printf_float -Llibhal -Llibjpeg8 -Llibspeexdsp -Llibcelt -T hifi4.lds -Wl,--gc-sections -Wl,--static -Wl,--strip-all ^ ^ startup_s.o ^ ... main.o ^ -o main.elf -Xlinker -Map=main.map ^ -ljpeg8 -lspeexdsp -lcelt -lhal -lm_nano -lgcc -lc_nano -lnosys При этом важно, чтобы libgcc было после libm_nano. Иначе не собирается. В обоих случаях - пользовательские библиотеки должны быть указаны раньше стандартных. Проект заработал в обоих случаях. Размер бинарника одинаковый. Собранный тулчейн для 32-битный винды (ABI call0, GCC v. 13): https://drive.google.com/drive/folders/1khQNuruBZ6ZkPVVlw2zFr7fz6VLOoFjg С удалёнными ворнингами линковщика и libnosys.a. Там же и пересобранная либа libhal.a Скрипт для линкера (на адреса памяти DDR, в скрипт должна передаваться переменная cache = 0,1): hifi4.lds -Wl,--defsym,cache=1 Изменено 12 октября, 2023 пользователем repstosw Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sasamy 1 13 октября, 2023 Опубликовано 13 октября, 2023 (изменено) · Жалоба On 10/12/2023 at 11:20 AM, repstosw said: Не собирает. Нашёл правильный порядок следования библиотек. можно не искать а посмотреть как собирает gcc #include <math.h> #include <stdio.h> float _tst(float a, float b) { return sin(a * b); } int main() { printf("%f", _tst(3.14, 0.234)); return 0; } использовать штатные specs и флаг -v для разговорчивости gcc Quote ./xtensa-t113-elf-gcc -v 1.c --specs=nano.specs --specs=nosys.specs -lm интересное тут Quote -lm_nano -lgcc -lc_nano -lgcc --start-group -lgcc -lc_nano -lnosys --end-group --start-group -lgcc -lc_nano -lnosys --end-group Изменено 13 октября, 2023 пользователем sasamy Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
repstosw 18 13 октября, 2023 Опубликовано 13 октября, 2023 · Жалоба 5 hours ago, sasamy said: интересное тут Quote -lm_nano -lgcc -lc_nano -lgcc --start-group -lgcc -lc_nano -lnosys --end-group --start-group -lgcc -lc_nano -lnosys --end-group Кольцевые зависимости. Впервые с этим сталкиваюсь именно в этом тулчейне. https://stackoverflow.com/questions/5651869/what-are-the-start-group-and-end-group-command-line-options Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
repstosw 18 15 октября, 2023 Опубликовано 15 октября, 2023 (изменено) · Жалоба Пришлось временно вернуться к V3s. Провёл ревизию и кастомизацию узла захвата изображения с камеры OV5640 с MIPI CSI2 и H264 кодера. Выжал 1920x1080@30FPS. Пришлось поднять битрейт MIPI-лейнам до 500 Мбит/с (по умолчанию 400, максимум 1000). Также нашёл и устранил багу в сорцах H264 кодера, которая некорректно устанавливала размер дополнительных буферов, что приводило к падению программы на больших резолюшенах. И кстати, схема захвата кадров с камеры (CSI) у V3s не имеет двойной буферизации. Возникла задача: как читать буфер кадра, чтобы он не накрывался новыми данными (захват работает и пишет в буфер непрерывно, когда камера в потоковом режиме - VCAP). Иначе несколько строк сверху в кадре брались от нового захвата. Для этого нужно использовать два прерывания от CSI: VSYNC_TRIG и FRAME_DONE. Когда приходит первое - меняем адрес буфера, когда приходит второе - читаем предыдущий буфер. В этом случае данные при чтении не накрываются новыми. Если же использовать одиночный захват кадра с камеры (SCAP вместо VCAP), то максимально достижимый FPS будет в 2 раза меньше, чем у VCAP. Так как в этом режиме схема захвата ждёт прихода нового кадра и пропускает текущий. На 1920x1080 H264 кодер вывозит сжатие на 63 ... 70 FPS (зависит от картинки, установлен уровень квантования QP=24). Лог в спойлере: Spoiler === V3s OV5640 Camera @ MIPI CSI2 === sensor write retry=1 Width: 1920, Height: 1080 VE version 0x1681 opened Formatting... Disk Format OK! Disk Mount OK! Disk Label OK! Encoding... Camera Capture Frame: 30.1 FPS 33.2 ms H264 Encode Frame: 69.2 FPS 14.5 ms Camera Capture Frame: 30.1 FPS 33.2 ms H264 Encode Frame: 69.4 FPS 14.4 ms Camera Capture Frame: 30.3 FPS 33.0 ms H264 Encode Frame: 69.8 FPS 14.3 ms Camera Capture Frame: 30.1 FPS 33.2 ms H264 Encode Frame: 69.7 FPS 14.4 ms Camera Capture Frame: 30.3 FPS 33.0 ms H264 Encode Frame: 69.6 FPS 14.4 ms Camera Capture Frame: 30.1 FPS 33.2 ms H264 Encode Frame: 69.5 FPS 14.4 ms Camera Capture Frame: 30.3 FPS 33.0 ms H264 Encode Frame: 69.6 FPS 14.4 ms Camera Capture Frame: 30.1 FPS 33.2 ms H264 Encode Frame: 69.5 FPS 14.4 ms Camera Capture Frame: 30.1 FPS 33.2 ms H264 Encode Frame: 69.8 FPS 14.3 ms Camera Capture Frame: 30.1 FPS 33.2 ms H264 Encode Frame: 70.2 FPS 14.3 ms Camera Capture Frame: 30.1 FPS 33.2 ms H264 Encode Frame: 69.5 FPS 14.4 ms Camera Capture Frame: 30.3 FPS 33.0 ms H264 Encode Frame: 69.6 FPS 14.4 ms Camera Capture Frame: 30.1 FPS 33.2 ms H264 Encode Frame: 69.8 FPS 14.3 ms Camera Capture Frame: 30.1 FPS 33.2 ms H264 Encode Frame: 70.1 FPS 14.3 ms Camera Capture Frame: 30.3 FPS 33.0 ms H264 Encode Frame: 69.3 FPS 14.4 ms Camera Capture Frame: 30.1 FPS 33.2 ms H264 Encode Frame: 69.8 FPS 14.3 ms Camera Capture Frame: 30.1 FPS 33.2 ms H264 Encode Frame: 69.3 FPS 14.4 ms Camera Capture Frame: 30.3 FPS 33.0 ms H264 Encode Frame: 69.1 FPS 14.5 ms Camera Capture Frame: 30.1 FPS 33.2 ms H264 Encode Frame: 68.9 FPS 14.5 ms Camera Capture Frame: 30.1 FPS 33.2 ms H264 Encode Frame: 69.1 FPS 14.5 ms Camera Capture Frame: 30.3 FPS 33.0 ms H264 Encode Frame: 68.8 FPS 14.5 ms Camera Capture Frame: 30.1 FPS 33.2 ms H264 Encode Frame: 69.5 FPS 14.4 ms Camera Capture Frame: 30.1 FPS 33.2 ms H264 Encode Frame: 68.3 FPS 14.6 ms Camera Capture Frame: 30.3 FPS 33.0 ms H264 Encode Frame: 68.2 FPS 14.7 ms Camera Capture Frame: 30.1 FPS 33.2 ms H264 Encode Frame: 67.7 FPS 14.8 ms Camera Capture Frame: 30.1 FPS 33.2 ms H264 Encode Frame: 66.2 FPS 15.1 ms Camera Capture Frame: 30.3 FPS 33.0 ms H264 Encode Frame: 65.9 FPS 15.2 ms Camera Capture Frame: 30.1 FPS 33.2 ms H264 Encode Frame: 65.6 FPS 15.3 ms Camera Capture Frame: 30.1 FPS 33.2 ms H264 Encode Frame: 65.1 FPS 15.4 ms Camera Capture Frame: 30.3 FPS 33.0 ms H264 Encode Frame: 65.0 FPS 15.4 ms Camera Capture Frame: 30.1 FPS 33.2 ms H264 Encode Frame: 64.7 FPS 15.4 ms Camera Capture Frame: 30.1 FPS 33.2 ms H264 Encode Frame: 64.1 FPS 15.6 ms Camera Capture Frame: 30.3 FPS 33.0 ms H264 Encode Frame: 63.4 FPS 15.8 ms Camera Capture Frame: 30.1 FPS 33.2 ms H264 Encode Frame: 62.8 FPS 15.9 ms Camera Capture Frame: 30.1 FPS 33.2 ms H264 Encode Frame: 62.9 FPS 15.9 ms Camera Capture Frame: 30.3 FPS 33.0 ms H264 Encode Frame: 62.9 FPS 15.9 ms Camera Capture Frame: 30.1 FPS 33.2 ms H264 Encode Frame: 62.7 FPS 16.0 ms Camera Capture Frame: 30.1 FPS 33.2 ms H264 Encode Frame: 62.7 FPS 16.0 ms Camera Capture Frame: 30.3 FPS 33.0 ms H264 Encode Frame: 62.8 FPS 15.9 ms Camera Capture Frame: 30.1 FPS 33.2 ms H264 Encode Frame: 62.9 FPS 15.9 ms Camera Capture Frame: 30.1 FPS 33.2 ms H264 Encode Frame: 63.1 FPS 15.9 ms Camera Capture Frame: 30.3 FPS 33.0 ms H264 Encode Frame: 62.8 FPS 15.9 ms Camera Capture Frame: 30.1 FPS 33.2 ms H264 Encode Frame: 62.7 FPS 16.0 ms Camera Capture Frame: 30.1 FPS 33.2 ms H264 Encode Frame: 63.1 FPS 15.9 ms Camera Capture Frame: 30.3 FPS 33.0 ms H264 Encode Frame: 63.7 FPS 15.7 ms Camera Capture Frame: 30.1 FPS 33.2 ms H264 Encode Frame: 64.4 FPS 15.5 ms Camera Capture Frame: 30.1 FPS 33.2 ms H264 Encode Frame: 63.8 FPS 15.7 ms Camera Capture Frame: 30.3 FPS 33.0 ms H264 Encode Frame: 64.6 FPS 15.5 ms Camera Capture Frame: 30.1 FPS 33.2 ms H264 Encode Frame: 65.1 FPS 15.4 ms Camera Capture Frame: 30.1 FPS 33.2 ms H264 Encode Frame: 64.8 FPS 15.4 ms Camera Capture Frame: 30.3 FPS 33.0 ms H264 Encode Frame: 65.3 FPS 15.3 ms Camera Capture Frame: 30.1 FPS 33.2 ms H264 Encode Frame: 65.7 FPS 15.2 ms Camera Capture Frame: 30.1 FPS 33.2 ms H264 Encode Frame: 66.8 FPS 15.0 ms Camera Capture Frame: 30.3 FPS 33.0 ms H264 Encode Frame: 66.9 FPS 14.9 ms Camera Capture Frame: 30.1 FPS 33.2 ms H264 Encode Frame: 68.0 FPS 14.7 ms Camera Capture Frame: 30.1 FPS 33.2 ms H264 Encode Frame: 67.9 FPS 14.7 ms Camera Capture Frame: 30.3 FPS 33.0 ms H264 Encode Frame: 68.3 FPS 14.6 ms Camera Capture Frame: 30.1 FPS 33.2 ms H264 Encode Frame: 68.2 FPS 14.7 ms Camera Capture Frame: 30.1 FPS 33.2 ms H264 Encode Frame: 68.1 FPS 14.7 ms Camera Capture Frame: 30.3 FPS 33.0 ms H264 Encode Frame: 68.1 FPS 14.7 ms Camera Capture Frame: 30.1 FPS 33.2 ms H264 Encode Frame: 68.2 FPS 14.7 ms Camera Capture Frame: 30.1 FPS 33.2 ms H264 Encode Frame: 67.8 FPS 14.7 ms Camera Capture Frame: 30.3 FPS 33.0 ms H264 Encode Frame: 66.4 FPS 15.1 ms Camera Capture Frame: 30.1 FPS 33.2 ms H264 Encode Frame: 64.7 FPS 15.5 ms Camera Capture Frame: 30.1 FPS 33.2 ms H264 Encode Frame: 64.6 FPS 15.5 ms Camera Capture Frame: 30.3 FPS 33.0 ms H264 Encode Frame: 63.5 FPS 15.8 ms Camera Capture Frame: 30.1 FPS 33.2 ms H264 Encode Frame: 63.1 FPS 15.8 ms Camera Capture Frame: 30.3 FPS 33.0 ms H264 Encode Frame: 63.3 FPS 15.8 ms Camera Capture Frame: 30.1 FPS 33.2 ms H264 Encode Frame: 63.4 FPS 15.8 ms Camera Capture Frame: 30.1 FPS 33.2 ms H264 Encode Frame: 63.4 FPS 15.8 ms Camera Capture Frame: 30.3 FPS 33.0 ms H264 Encode Frame: 61.7 FPS 16.2 ms Camera Capture Frame: 30.1 FPS 33.2 ms H264 Encode Frame: 63.1 FPS 15.8 ms Camera Capture Frame: 30.1 FPS 33.2 ms H264 Encode Frame: 63.5 FPS 15.8 ms Camera Capture Frame: 30.3 FPS 33.0 ms H264 Encode Frame: 63.5 FPS 15.8 ms Camera Capture Frame: 30.1 FPS 33.2 ms H264 Encode Frame: 63.7 FPS 15.7 ms Camera Capture Frame: 30.1 FPS 33.2 ms H264 Encode Frame: 63.6 FPS 15.7 ms Camera Capture Frame: 30.3 FPS 33.0 ms H264 Encode Frame: 63.5 FPS 15.8 ms Camera Capture Frame: 30.1 FPS 33.2 ms H264 Encode Frame: 63.6 FPS 15.7 ms Camera Capture Frame: 30.1 FPS 33.2 ms H264 Encode Frame: 63.9 FPS 15.6 ms Camera Capture Frame: 30.3 FPS 33.0 ms H264 Encode Frame: 64.0 FPS 15.6 ms Camera Capture Frame: 30.1 FPS 33.2 ms H264 Encode Frame: 64.0 FPS 15.6 ms Camera Capture Frame: 30.1 FPS 33.2 ms H264 Encode Frame: 64.5 FPS 15.5 ms Camera Capture Frame: 30.1 FPS 33.2 ms H264 Encode Frame: 65.2 FPS 15.3 ms Camera Capture Frame: 30.1 FPS 33.2 ms H264 Encode Frame: 65.6 FPS 15.2 ms Camera Capture Frame: 30.3 FPS 33.0 ms H264 Encode Frame: 65.5 FPS 15.3 ms Camera Capture Frame: 30.1 FPS 33.2 ms H264 Encode Frame: 67.0 FPS 14.9 ms Camera Capture Frame: 30.1 FPS 33.2 ms H264 Encode Frame: 67.3 FPS 14.9 ms Camera Capture Frame: 30.3 FPS 33.0 ms H264 Encode Frame: 68.8 FPS 14.5 ms Camera Capture Frame: 30.1 FPS 33.2 ms H264 Encode Frame: 69.1 FPS 14.5 ms Camera Capture Frame: 30.1 FPS 33.2 ms H264 Encode Frame: 69.2 FPS 14.4 ms Camera Capture Frame: 30.3 FPS 33.0 ms H264 Encode Frame: 69.4 FPS 14.4 ms Camera Capture Frame: 30.1 FPS 33.2 ms H264 Encode Frame: 69.5 FPS 14.4 ms Camera Capture Frame: 30.1 FPS 33.2 ms H264 Encode Frame: 69.5 FPS 14.4 ms Camera Capture Frame: 30.3 FPS 33.0 ms H264 Encode Frame: 69.7 FPS 14.3 ms Camera Capture Frame: 30.1 FPS 33.2 ms H264 Encode Frame: 70.3 FPS 14.2 ms Camera Capture Frame: 30.1 FPS 33.2 ms H264 Encode Frame: 69.0 FPS 14.5 ms Camera Capture Frame: 30.3 FPS 33.0 ms H264 Encode Frame: 69.3 FPS 14.4 ms Camera Capture Frame: 30.1 FPS 33.2 ms H264 Encode Frame: 69.5 FPS 14.4 ms Camera Capture Frame: 30.1 FPS 33.2 ms H264 Encode Frame: 69.4 FPS 14.4 ms Camera Capture Frame: 30.3 FPS 33.0 ms H264 Encode Frame: 69.6 FPS 14.4 ms Camera Capture Frame: 30.1 FPS 33.2 ms H264 Encode Frame: 69.4 FPS 14.4 ms Camera Capture Frame: 30.1 FPS 33.2 ms Camera Capture Frame: 30.3 FPS 33.0 ms H264 Encode Frame: 69.6 FPS 14.4 ms Camera Capture Frame: 30.1 FPS 33.2 ms H264 Encode Frame: 69.6 FPS 14.4 ms Camera Capture Frame: 30.1 FPS 33.2 ms H264 Encode Frame: 69.3 FPS 14.4 ms Camera Capture Frame: 30.3 FPS 33.0 ms H264 Encode Frame: 69.4 FPS 14.4 ms Camera Capture Frame: 30.1 FPS 33.2 ms H264 Encode Frame: 69.2 FPS 14.5 ms Camera Capture Frame: 30.1 FPS 33.2 ms H264 Encode Frame: 69.3 FPS 14.4 ms Camera Capture Frame: 30.3 FPS 33.0 ms H264 Encode Frame: 69.2 FPS 14.5 ms Camera Capture Frame: 30.1 FPS 33.2 ms H264 Encode Frame: 69.4 FPS 14.4 ms Camera Capture Frame: 30.1 FPS 33.2 ms H264 Encode Frame: 69.3 FPS 14.4 ms Camera Capture Frame: 30.3 FPS 33.0 ms H264 Encode Frame: 69.8 FPS 14.3 ms Camera Capture Frame: 30.1 FPS 33.2 ms H264 Encode Frame: 69.2 FPS 14.4 ms Camera Capture Frame: 30.1 FPS 33.2 ms H264 Encode Frame: 69.8 FPS 14.3 ms Camera Capture Frame: 30.3 FPS 33.0 ms H264 Encode Frame: 69.3 FPS 14.4 ms Camera Capture Frame: 30.1 FPS 33.2 ms H264 Encode Frame: 69.5 FPS 14.4 ms Camera Capture Frame: 30.1 FPS 33.2 ms H264 Encode Frame: 69.4 FPS 14.4 ms Camera Capture Frame: 30.3 FPS 33.0 ms H264 Encode Frame: 69.7 FPS 14.4 ms Camera Capture Frame: 30.1 FPS 33.2 ms H264 Encode Frame: 69.3 FPS 14.4 ms Camera Capture Frame: 30.1 FPS 33.2 ms H264 Encode Frame: 69.8 FPS 14.3 ms Camera Capture Frame: 30.3 FPS 33.0 ms H264 Encode Frame: 69.2 FPS 14.4 ms Camera Capture Frame: 30.1 FPS 33.2 ms H264 Encode Frame: 69.2 FPS 14.4 ms Camera Capture Frame: 30.1 FPS 33.2 ms H264 Encode Frame: 68.9 FPS 14.5 ms Camera Capture Frame: 30.3 FPS 33.0 ms H264 Encode Frame: 69.3 FPS 14.4 ms Camera Capture Fme: 30.1 FPS 33.2 ms H264 Encode Frame: 69.4 FPS 14.4 ms Camera Capture Frame: 30.1 FPS 33.2 ms H264 Encode Frame: 69.4 FPS 14.4 ms Camera Capture Frame: 30.3 FPS 33.0 ms H264 Encode Frame: 69.5 FPS 14.4 ms Camera Capture Frame: 30.1 FPS 33.2 ms H264 Encode Frame: 69.5 FPS 14.4 ms Camera Capture Frame: 30.1 FPS 33.2 ms H264 Encode Frame: 69.5 FPS 14.4 ms Camera Capture Frame: 30.3 FPS 33.0 ms H264 Encode Frame: 69.7 FPS 14.3 ms Camera Capture Frame: 30.1 FPS 33.2 ms H264 Encode Frame: 69.5 FPS 14.4 ms Camera Capture Frame: 30.1 FPS 33.2 ms H264 Encode Frame: 69.8 FPS 14.3 ms Camera Capture Frame: 30.3 FPS 33.0 ms H264 Encode Frame: 69.7 FPS 14.4 ms Camera Capture Frame: 30.1 FPS 33.2 ms H264 Encode Frame: 70.2 FPS 14.2 ms Camera Capture Frame: 30.1 FPS 33.2 ms H264 Encode Frame: 69.5 FPS 14.4 ms Camera Capture Frame: 30.3 FPS 33.0 ms H264 Encode Frame: 69.5 FPS 14.4 ms Camera Capture Frame: 30.1 FPS 33.2 ms H264 Encode Frame: 69.5 FPS 14.4 ms Camera Capture Frame: 30.1 FPS 33.2 ms H264 Encode Frame: 69.8 FPS 14.3 ms Camera Capture Frame: 30.3 FPS 33.0 ms H264 Encode Frame: 69.6 FPS 14.4 ms Camera Capture Frame: 30.1 FPS 33.2 ms H264 Encode Frame: 69.7 FPS 14.3 ms Camera Capture Frame: 30.1 FPS 33.2 ms H264 Encode Frame: 69.5 FPS 14.4 ms Camera Capture Frame: 30.3 FPS 33.0 ms H264 Encode Frame: 69.6 FPS 14.4 ms Camera Capture Frame: 30.1 FPS 33.2 ms H264 Encode Frame: 69.3 FPS 14.4 ms Camera Capture Frame: 30.1 FPS 33.2 ms H264 Encode Frame: 69.4 FPS 14.4 ms Camera Capture Frame: 30.3 FPS 33.0 ms H264 Encode Frame: 69.8 FPS 14.3 ms Camera Capture Frame: 30.1 FPS 33.2 ms H264 Encode Frame: 68.5 FPS 14.6 ms Camera Capture Frame: 30.1 FPS 33.2 ms H264 Encode Frame: 68.6 FPS 14.6 ms Camera Capture Frame: 30.3 FPS 33.0 ms H264 Encode Frame: 69.0 FPS 14.5 ms Camera Capture Frame: 30.1 FPS 33.2 ms H264 Encode Frame: 69.1 FPS 14.5 ms Camera Capture Frame: 30.1 FPS 33.2 ms H264 Encode Frame: 69.4 FPS 14.4 ms Camera Capture Frame: 30.3 FPS 33.0 ms H264 Encode Frame: 69.0 FPS 14.5 ms Camera Capture Frame: 30.1 FPS 33.2 ms H264 Encode Frame: 69.0 FPS 14.5 ms ... Изменено 15 октября, 2023 пользователем repstosw Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
repstosw 18 15 октября, 2023 Опубликовано 15 октября, 2023 (изменено) · Жалоба Плюс ещё на V3s для нормальной работы USB в режиме Device (виртуальный диск, который видится на ПК) надо произвести запись в этот регистр: #define USB_OTG_REG_BASE 0x01C19000 /* базовый адрес регистров USB OTG */ *(IO u32*)(USB_OTG_REG_BASE+0x410)=0; //разрешает USB быть в режиме Device. Был =2 Иначе, когда грузишься автономно с SPI NOR или SD карты, ПК не видит соединение. Нашёл этот регистр с помощью сравнения двух снятых дампов - с sunxi-fel и без него. Изменено 15 октября, 2023 пользователем repstosw 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться