Pull to refresh
4K+
6
31
Rating
Send message

Да, если с настройками в цинке все просто - поставил галочку на HPC, указал ширину, потом на PL дизайне поднял два бита AxCACHE как надо и выставил AxPROT, то с CCI немного более мудрёно:


нужно записать в регистр цинка LPD_SLCR https://docs.amd.com/r/en-US/ug1087-zynq-ultrascale-registers/lpd_smmu-LPD_SLCR-Register соответствующий AxCACHE бит. Но беда в том что сделать это можно лишь когда APU в ресете. С линуксом xilinx предлагает провернуть это через Register Initialization Table https://docs.amd.com/r/2021.1-English/ug1283-bootgen-user-guide/Zynq-UltraScale-MPSoC-Register-Initialization-Table
Через petalinux tools это выглядит как создание "regs.init" файла со следующим содержимым

.set. 0xFF41A040 = 0x3;

И потом упаковка его в образ для запуска

petalinux-package --boot --u-boot --bif-attribute init --bif-attribute-value regs.init

Где-то я слышал, что с каких-то недавних версий CCI включен по умолчанию, не могу найти этому подтверждение, знаю лишь что на 2021.2 мне пришлось его включать самому.

Мораль здесь простая - нужно проверять обязательно.

Information

Rating
307-th
Works in
Registered
Activity