GenaSPB 11 26 июня, 2023 Опубликовано 26 июня, 2023 (изменено) · Жалоба 23 minutes ago, sasamy said: есть наверно А не надо ли генерить описания регистров и для HIFI4 процессора - наподобии того что в cmsis header делается? t113s3.zip Изменено 26 июня, 2023 пользователем GenaSPB Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sasamy 1 27 июня, 2023 Опубликовано 27 июня, 2023 (изменено) · Жалоба On 6/26/2023 at 2:23 PM, mantech said: Именно "свой", а не процессорный GIC? свой https://github.com/YuzukiHD/FreeRTOS-HIFI4-DSP/blob/master/include/xtensa/config/core-isa.h#L434 только непонятно как внешние прерывания от периферии отображаются на таблице прерываний ядра hifi4, в доках на imx rt600 есть описание программируемого коммутатора, у t113 в мануале не нашёл ничего, если этот конфиг не левый то в ОС используется только внутреннее прерывание для msgbox с номером 3 #define XCHAL_NUM_EXTINTERRUPTS 28 /* num of external interrupts */ #define XCHAL_NUM_INTERRUPTS 32 /* number of interrupts */ внутренние прерывания 0..3 #define TIMER1_IRQ 1 #define MSGBOX_IRQ 3 В мануале т113 есть такое Quote The CPU interrupt seen by DSP is subtracted 32 from the following interrupt number. For example, the interrupt number of MSGBOX is 32, then the interrupt number seen by DSP is 0. возможно конфиг левый и внутренние прерывания 0..2, внешние начинаются с 3 и тогда внешний 0 это msgbox, тогда сходится 🙂 Изменено 27 июня, 2023 пользователем sasamy Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dimka76 59 27 июня, 2023 Опубликовано 27 июня, 2023 · Жалоба On 6/27/2023 at 8:40 PM, sasamy said: только непонятно как внешние прерывания от периферии отображаются на таблице прерываний ядра hifi4, в доках на imx rt600 есть описание программируемого коммутатора, у t113 в мануале не нашёл ничего, если этот конфиг не левый то в ОС используется только внутреннее прерывание для msgbox с номером 3 Что такое HIFI4 DSP ? Можно простыми словами ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sasamy 1 27 июня, 2023 Опубликовано 27 июня, 2023 · Жалоба On 6/27/2023 at 9:21 PM, dimka76 said: Что такое HIFI4 DSP ? конфигурируемое встраиваемое DSP ядро с архитектурой VLIW http://site.eet-china.com/webinar/pdf/Cadence_TIP_PB_HiFi_DSP_FINAL_datasheet01.pdf Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GenaSPB 11 27 июня, 2023 Опубликовано 27 июня, 2023 · Жалоба Ещё один процессор. У него своя память статическая, имеет доступ к периферии... своя система команд. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dimka76 59 27 июня, 2023 Опубликовано 27 июня, 2023 · Жалоба On 6/27/2023 at 9:26 PM, sasamy said: конфигурируемое встраиваемое DSP ядро с архитектурой VLIW http://site.eet-china.com/webinar/pdf/Cadence_TIP_PB_HiFi_DSP_FINAL_datasheet01.pdf On 6/27/2023 at 9:26 PM, GenaSPB said: Ещё один процессор. У него своя память статическая, имеет доступ к периферии... своя система команд. Спасибо ! Можно еще здесь спрошу ? )) А кто-нибудь на этом Т113 Линукс запускал ? Сколько памяти доступной остается ? Можно сюда будет еще установить SAMBA, MPD (Music Player Daemon), GUI статическую менюшку + файловый браузер с плавной прокруткой (скроллингом) с емкостным тачскрином. Смотрел например с помощью утилиты top на Orange PI - MPD потребляет 30 МБайт. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 48 27 июня, 2023 Опубликовано 27 июня, 2023 · Жалоба 1 час назад, sasamy сказал: только непонятно как внешние прерывания от периферии отображаются на таблице прерываний ядра hifi4 Ну эт да, тоже не понял... 23 минуты назад, GenaSPB сказал: Ещё один процессор. А нигде не видать, какая у него тактовая частота и примерное быстродействие в MIPSах? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sasamy 1 27 июня, 2023 Опубликовано 27 июня, 2023 (изменено) · Жалоба On 6/27/2023 at 9:33 PM, dimka76 said: А кто-нибудь на этом Т113 Линукс запускал ? Сколько памяти доступной остается ? запускал, вроде должно хватить под ваши требования но на глаз определить невозможно - надо проверять. Вот практически голое ядро, из сервисов только ssh сервер и консоль Quote # ps ... 146 root /sbin/udevd -d 203 root /usr/sbin/dropbear -R 207 root /usr/sbin/vsftpd 208 root -sh 209 root /sbin/getty 38400 tty1 linux 210 root /sbin/getty -L ttyGS0 115200 linux ... # free total used free shared buff/cache available Mem: 115156 15864 93120 108 6172 94136 Swap: 0 0 0 On 6/27/2023 at 9:49 PM, mantech said: А нигде не видать, какая у него тактовая частота и примерное быстродействие в MIPSах? не знаю можно ли верить - 600 МГц https://github.com/YuzukiHD/FreeRTOS-HIFI4-DSP/blob/master/arch/board-init.c#L128 тесты производительности есть в сборке, я только собрал но не запускал, надо немного подогнать под свою плату и к убуту загрузчик DSP прикрутить Изменено 27 июня, 2023 пользователем sasamy Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 48 27 июня, 2023 Опубликовано 27 июня, 2023 · Жалоба 19 минут назад, sasamy сказал: не знаю можно ли верить - 600 МГц Здорово, если так, для софт-периферии вполне хватило бы... 21 минуту назад, sasamy сказал: я только собрал но не запускал Если получится, выложите сюда пожалуйста, интересно оценить... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GenaSPB 11 27 июня, 2023 Опубликовано 27 июня, 2023 (изменено) · Жалоба 3 hours ago, mantech said: А нигде не видать, какая у него тактовая частота и примерное быстродействие в MIPSах? В даташите на T113-s3 и на Cortex-A7 ядра нет данных о тактовой частоте. Изменено 27 июня, 2023 пользователем GenaSPB Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sasamy 1 28 июня, 2023 Опубликовано 28 июня, 2023 · Жалоба On 6/27/2023 at 10:47 PM, mantech said: Если получится, выложите сюда пожалуйста, интересно оценить. Quote U-Boot 2023.04-rc4 (Jun 28 2023 - 13:29:12 +0300) Allwinner Technology CPU: Allwinner R528 (SUN8I) Model: sk-t113 DRAM: 128 MiB Core: 32 devices, 14 uclasses, devicetree: separate MMC: mmc@4020000: 0, mmc@4022000: 1 Loading Environment from FAT... Unable to read "uboot.env" from mmc0:1... In: serial@2500c00 Out: serial@2500c00 Err: serial@2500c00 Net: No ethernet found. Hit any key to stop autoboot: 0 => fatload mmc 0 0x41000000 dsp.elf 129036 bytes read in 30 ms (4.1 MiB/s) => bootr 0x41000000 0 0 find dsp section: .ResetVector.text ,addr = 0x400000 Loading phdr 0 from 0x400000 to 0x00400000 (284 bytes) Loading phdr 1 from 0x401000 to 0x00401000 (364 bytes) Loading phdr 2 from 0x401178 to 0x00401178 (16 bytes) Loading phdr 3 from 0x401198 to 0x00401198 (16 bytes) Loading phdr 4 from 0x4011b8 to 0x004011b8 (16 bytes) Loading phdr 5 from 0x4011d8 to 0x004011d8 (16 bytes) Loading phdr 6 from 0x4011f8 to 0x004011f8 (16 bytes) Loading phdr 7 from 0x401218 to 0x00401218 (16 bytes) Loading phdr 8 from 0x401238 to 0x00401238 (16 bytes) Loading phdr 9 from 0x37900000 to 0x47900000 (58204 bytes) DSP0 start ok, imgv TlaskeStnargttSchhed ul3e2r 4, booting from 0x400000 => Dhrystone Benchmark, Version 2.1 (Language: C) Program compiled without 'register' attribute Execution starts, 10000000 runs through Dhrystone Execution ends Final values of the variables used in the benchmark: Int_Glob: 5 should be: 5 Bool_Glob: 1 should be: 1 Ch_1_Glob: A should be: A Ch_2_Glob: B should be: B Arr_1_Glob[8]: 7 should be: 7 Arr_2_Glob[8][7]: 10000010 should be: Number_Of_Runs + 10 Ptr_Glob-> Ptr_Comp: 933177248 should be: (implementation-dependent) Discr: 0 should be: 0 Enum_Comp: 2 should be: 2 Int_Comp: 17 should be: 17 Str_Comp: DHRYSTONE PROGRAM, SOME STRING should be: DHRYSTONE PROGRAM, SOME STRING Next_Ptr_Glob-> Ptr_Comp: 933177248 should be: (implementation-dependent), same as above Discr: 0 should be: 0 Enum_Comp: 1 should be: 1 Int_Comp: 18 should be: 18 Str_Comp: DHRYSTONE PROGRAM, SOME STRING should be: DHRYSTONE PROGRAM, SOME STRING Int_1_Loc: 5 should be: 5 Int_2_Loc: 13 should be: 13 Int_3_Loc: 7 should be: 7 Enum_Loc: 1 should be: 1 Str_1_Loc: DHRYSTONE PROGRAM, 1'ST STRING should be: DHRYSTONE PROGRAM, 1'ST STRING Str_2_Loc: DHRYSTONE PROGRAM, 2'ND STRING should be: DHRYSTONE PROGRAM, 2'ND STRING Microseconds for one run through Dhrystone: 0.8 Dhrystones per Second: 1241310.8 DMIPS: 706.49 Rolled Double Precision Linpack Benchmark - PC Version in 'C/C++' Compiler xtensa hifi4 dsp xtensa-elf-gcc 10.2 Optimisation -O2 norm resid resid machep x[0]-1 x[n-1]-1 1.7 7.41628980e-14 2.22044605e-16 -1.49880108e-14 -1.89848137e-14 Times are reported for matrices of order 100 1 pass times for array with leading dimension of 201 dgefa dgesl total Mflops unit ratio 0.07600 0.00200 0.07800 8.80 0.2272 1.3929 Calculating matgen overhead 100 times 0.43 seconds 200 times 0.85 seconds 400 times 1.70 seconds 800 times 3.41 seconds 1600 times 6.81 seconds Overhead for 1 matgen 0.00426 seconds Calculating matgen/dgefa passes for 5 seconds 100 times 8.05 seconds Passes used 62 Times for array with leading dimension of 201 dgefa dgesl total Mflops unit ratio 0.07626 0.00231 0.07856 8.74 0.2288 1.4029 0.07624 0.00231 0.07855 8.74 0.2288 1.4026 0.07626 0.00231 0.07856 8.74 0.2288 1.4029 0.07626 0.00231 0.07856 8.74 0.2288 1.4029 0.07626 0.00231 0.07856 8.74 0.2288 1.4029 Average 8.74 Calculating matgen2 overhead Overhead for 1 matgen 0.00426 seconds Times for array with leading dimension of 200 dgefa dgesl total Mflops unit ratio 0.07623 0.00231 0.07853 8.74 0.2287 1.4024 0.07621 0.00231 0.07852 8.75 0.2287 1.4021 0.07623 0.00231 0.07853 8.74 0.2287 1.4024 0.07623 0.00231 0.07853 8.74 0.2287 1.4024 0.07623 0.00231 0.07853 8.74 0.2287 1.4024 Average 8.74 Rolled Double Precision 8.74 Mflops 2K performance run parameters for coremark. CoreMark Size : 666 Total ticks : 16427 Total time (secs): 16.427000 Iterations/Sec : 1400.133926 Iterations : 23000 Compiler version : GCC10.3.0 Compiler flags : -O2 Memory location : STACK seedcrc : 0xe9f5 [0]crclist : 0xe714 [0]crcmatrix : 0x1fd7 [0]crcstate : 0x8e3a [0]crcfinal : 0xd340 Correct operation validated. See README.md for run and reporting rules. CoreMark 1.0 : 1400.133926 / GCC10.3.0 -O2 / STACK task led run on task task led run on task task led run on task пришлось повозиться с загрузчиками u-boot и dsp, в загрузчике dsp есть ошибка - он зачем-то закоментировал очистку кеша для загруженных секций, видимо в тинном убуте кеши отключены, в майнстримном надо очищать https://github.com/YuzukiHD/FreeRTOS-HIFI4-DSP/blob/master/host/uboot-driver/dsp/sun8iw20/dsp.c#L103 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 48 28 июня, 2023 Опубликовано 28 июня, 2023 (изменено) · Жалоба 1 час назад, sasamy сказал: CPU: Allwinner R528 (SUN8I) Model: sk-t113 Это просто убут чудит, или чип не Т113? 1 час назад, sasamy сказал: Compiler xtensa hifi4 dsp xtensa-elf-gcc 10.2 Т.е, для этого дсп есть gcc компилятор? Думал, только фирменный от каденса. Вот бы его под винду собранным найти... 1 час назад, sasamy сказал: DMIPS: 706.49 Отлично. Спасибо, есть к чему стремится))) 1 час назад, sasamy сказал: он зачем-то закоментировал очистку кеша для загруженных секций Да типичная ошибка для бутлоадеров, забыть про очистку кеша (откл мму)... 1 час назад, sasamy сказал: Dhrystone Benchmark, Version 2.1 (Language: C) А эта прога вам в исходниках для этого dsp не попадалась? Изменено 28 июня, 2023 пользователем mantech Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sasamy 1 28 июня, 2023 Опубликовано 28 июня, 2023 · Жалоба On 6/28/2023 at 2:55 PM, mantech said: Это просто убут чудит, или чип не Т113? процессор t113-s3, r528 просто название платформы в убуте. Все исходники есть тут https://github.com/YuzukiHD/FreeRTOS-HIFI4-DSP оказалось что gcc для венды проще на линуксе собрать, я собрал виндовый кросскомпилятор но не проверял xtensa-hifi4-elf.zip Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dimka76 59 28 июня, 2023 Опубликовано 28 июня, 2023 · Жалоба On 6/27/2023 at 10:27 PM, sasamy said: запускал, вроде должно хватить под ваши требования но на глаз определить невозможно - надо проверять. Вот практически голое ядро, из сервисов только ssh сервер и консоль Спасибо. 93 МБайта свободно, я правильно понял ? А что за образ вы использовали ? Свой какой-то или готовый ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 48 28 июня, 2023 Опубликовано 28 июня, 2023 · Жалоба 2 часа назад, sasamy сказал: я собрал виндовый кросскомпилятор но не проверял Попробовал, не запускается, может у вас получилась 64разрядная версия, у меня 32х... 2 часа назад, sasamy сказал: Все исходники есть тут https://github.com/YuzukiHD/FreeRTOS-HIFI4-DSP Да, увидел, спасибо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться