Перейти к содержанию
    

23 minutes ago, sasamy said:

есть наверно

А не надо ли генерить описания регистров и для HIFI4 процессора - наподобии того что в cmsis header делается? 

t113s3.zip

Изменено пользователем GenaSPB

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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, тогда сходится 🙂

Изменено пользователем sasamy

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 6/27/2023 at 8:40 PM, sasamy said:

только непонятно как внешние прерывания от периферии отображаются на таблице прерываний ядра hifi4, в доках на imx rt600 есть описание программируемого коммутатора, у t113 в мануале не нашёл ничего, если этот конфиг не левый то в ОС используется только внутреннее прерывание для msgbox с номером 3

Что такое HIFI4 DSP ?
Можно простыми словами ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ещё один процессор. У него своя память статическая, имеет доступ к периферии... своя система команд. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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 МБайт.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 час назад, sasamy сказал:

только непонятно как внешние прерывания от периферии отображаются на таблице прерываний ядра hifi4

Ну эт да, тоже не понял...

23 минуты назад, GenaSPB сказал:

Ещё один процессор.

А нигде не видать, какая у него тактовая частота и примерное быстродействие в MIPSах?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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 прикрутить

Изменено пользователем sasamy

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

19 минут назад, sasamy сказал:

не знаю можно ли верить - 600 МГц

Здорово, если так, для софт-периферии вполне хватило бы...

21 минуту назад, sasamy сказал:

я только собрал но не запускал

Если получится, выложите сюда пожалуйста, интересно оценить...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

3 hours ago, mantech said:

А нигде не видать, какая у него тактовая частота и примерное быстродействие в MIPSах?

В даташите на T113-s3 и на Cortex-A7 ядра нет данных о тактовой частоте.

Изменено пользователем GenaSPB

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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 не попадалась?

Изменено пользователем mantech

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 6/27/2023 at 10:27 PM, sasamy said:

запускал, вроде должно хватить под ваши требования но на глаз определить невозможно - надо проверять. Вот практически голое ядро, из сервисов только ssh сервер и консоль

Спасибо.

93 МБайта свободно, я правильно понял ?

А что за образ вы использовали ? Свой какой-то или готовый ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 часа назад, sasamy сказал:

я собрал виндовый кросскомпилятор но не проверял

Попробовал, не запускается, может у вас получилась 64разрядная версия, у меня 32х...

2 часа назад, sasamy сказал:

Все исходники есть тут

https://github.com/YuzukiHD/FreeRTOS-HIFI4-DSP

Да, увидел, спасибо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...