intel - logoFPGA SDK pentru OpenCL
Ghidul utilizatorului

UG-OCL009
2017.05.08
Ultima actualizare pentru Intel® Quartus® Prime Design Suite: 17.0

RENPHO RF FM059HS WiFi Smart Foot Massager - pictograma 5Abonați-vă
Smartphone SAMSUNG SM A136UZKZAIO Galaxy A13 5G - pictograma 12Trimiteți feedback

Intel® FPGA SDK pentru OpenCL™ Intel® Cyclone®V SoC Development Kit Referință Ghid de portare a platformei

V SoC Development Kit Reference Platform Porting Guide descrie designul hardware și software al Intel Cyclone V SoC Development Kit Reference Platform (c5soc) pentru utilizare cu Intel Software Development Kit (SDK) pentru OpenCL Intel ® FPGA SDK pentru OpenCL ™ Intel Cyclone ® . Înainte de a începe, Intel recomandă insistent să vă familiarizați cu conținutul următoarelor documente:

  1. Intel FPGA SDK pentru OpenCLIntel Cyclone V SoC Ghid de pornire
  2. Ghidul utilizatorului Intel FPGA SDK pentru OpenCL Custom Platform Toolkit
  3. Cyclone V Device Handbook, Volumul 3: Hard Processor System Manual de referință tehnică În plus, consultați pagina Cyclone V SoC Development Kit și SoC Embedded Design Suite din Altera website pentru mai multe informații. 1 2

Atenţie: Intel presupune că aveți o înțelegere aprofundată a Ghidului utilizatorului Intel FPGA SDK pentru OpenCL Custom Platform Toolkit. Ghidul de portare a platformei de referință pentru Kitul de dezvoltare SoC Cyclone V nu descrie utilizarea setului de instrumente pentru platformă personalizată SDK pentru a implementa o platformă personalizată pentru Kitul de dezvoltare SoC Cyclone V. Descrie doar diferențele dintre suportul SDK de pe kitul de dezvoltare SoC Cyclone V și un SDK generic Intel FPGA pentru platforma personalizată OpenCL.

Linkuri conexe

  • Intel FPGA SDK pentru OpenCL Cyclone V SoC Ghid introductiv
  • Ghidul utilizatorului Intel FPGA SDK pentru OpenCL Custom Platform Toolkit
  • Cyclone V Device Handbook, Volumul 3: Hard Processor System Manual de referință tehnică
  • Cyclone V SoC Development Kit și pagina SoC Embedded Design Suite de pe Altera website-ul
  1. OpenCL și sigla OpenCL sunt mărci comerciale Apple Inc. utilizate cu permisiunea Khronos Group™.
  2. SDK-ul Intel FPGA pentru OpenCL se bazează pe o specificație Khronos publicată și a trecut procesul de testare a conformității Khronos. Starea actuală de conformitate poate fi găsită la www.khronos.org/conformance.

Intel Corporation. Toate drepturile rezervate. Cuvintele și siglele Intel, sigla Intel, Altera, Arria, Cyclone, Enpirion, MAX, Nios, Quartus și Stratix sunt mărci comerciale ale Intel Corporation sau ale filialelor sale din SUA și/sau din alte țări. Intel garantează performanța produselor sale FPGA și semiconductoare conform specificațiilor actuale, în conformitate cu garanția standard Intel, dar își rezervă dreptul de a face modificări oricăror produse și servicii în orice moment, fără notificare. Intel nu își asumă nicio responsabilitate sau răspundere care decurge din aplicarea sau utilizarea oricăror informații, produse sau servicii descrise aici, cu excepția cazului în care Intel a convenit în mod expres în scris. Clienții Intel sunt sfătuiți să obțină cea mai recentă versiune a specificațiilor dispozitivului înainte de a se baza pe orice informații publicate și înainte de a plasa comenzi pentru produse sau servicii.
*Alte nume și mărci pot fi revendicate ca fiind proprietatea altora.

1.1.1 Cyclone V SoC Development Kit Reference Platform Board Variante
Intel FPGA SDK pentru OpenCL Cyclone V SoC Development Kit Reference Platform include două variante de placă.

  • placa c5soc
    Această placă implicită oferă acces la două bănci de memorie DDR. DDR-ul HPS este accesibil atât de FPGA, cât și de procesor. FPGA DDR este accesibil numai de către FPGA.
  • c5soc_sharedonly bord
    Această variantă de placă conține doar conectivitate HPS DDR. FPGA DDR nu este accesibil. Această variantă de placă este mai eficientă în zonă, deoarece este necesar mai puțin hardware pentru a suporta o singură bancă de memorie DDR. Placa c5soc_sharedonly este, de asemenea, o platformă bună de prototipare pentru o placă de producție finală cu o singură bancă de memorie DDR.
    Pentru a viza această variantă de placă atunci când vă compilați kernelul OpenCL, includeți opțiunea -board c5soc_sharedonly în comanda aoc.
    Pentru mai multe informații despre –board opțiunea comenzii aoc, consultați Ghidul de programare Intel FPGA SDK pentru OpenCL.

Linkuri conexe
Compilarea unui nucleu pentru o placă FPGA specifică (–board )
1.1.2 Conținutul platformei de referință Cyclone V SoC Development Kit
Platforma de referință pentru kit de dezvoltare SoC Cyclone V constă în următoarele files și directoare:

File sau Director Descriere
board_env.xml Limbajul de marcare extensibil (XML) file care descrie c5soc la Intel FPGA SDK pentru OpenCL.
linux_sd_card_image.tgz Imagine comprimată a cardului flash SD file care conține tot ce are nevoie un utilizator SDK pentru a utiliza kitul de dezvoltare SoC Cyclone V cu SDK.
braț32 Director care conține următoarele:

1.1.3 Caracteristici relevante ale setului de dezvoltare SoC Cyclone V

Următoarea listă evidențiază componentele și caracteristicile Kitului de dezvoltare SoC Cyclone V care sunt relevante pentru Intel FPGA SDK pentru OpenCL:

  • CPU ARM Cortex-A9 dual-core care rulează Linux pe 32 de biți.
  • Bus Advanced eXtensible Interface (AXI) între HPS și țesătura de bază FPGA.
  • Două controlere de memorie DDR întărite, fiecare conectându-se la un SDRAM DDR1 de 3 gigabyte (GB).
    — Un controler DDR este accesibil numai nucleului FPGA (adică FPGA DDR).
    — Celălalt controler DDR este accesibil atât pentru HPS, cât și pentru FPGA (adică HPS DDR). Acest controler partajat permite partajarea liberă a memoriei între CPU și nucleul FPGA.
  • CPU poate reconfigura structura de bază FPGA.

1.1.3.1 Platforma de referință pentru Kitul de dezvoltare SoC Cyclone V Obiectivele și deciziile de proiectare Intel bazează implementarea Platformei de referință pentru Kitul de dezvoltare SoC Cyclone V pe mai multe obiective și decizii de proiectare. Intel vă recomandă să luați în considerare aceste obiective și decizii atunci când portați această platformă de referință pe placa SoC FPGA.
Mai jos sunt obiectivele de proiectare c5soc:

  1. Furnizați cea mai mare lățime de bandă posibilă între nucleele de pe FPGA și sistemele de memorie DDR.
  2. Asigurați-vă că calculele pe FPGA (adică nucleele OpenCL) nu interferează cu alte sarcini CPU care ar putea include întreținerea perifericelor.
  3. Lăsați cât mai multe resurse FPGA posibil pentru calculele kernelului în locul componentelor de interfață.

Mai jos sunt deciziile de proiectare la nivel înalt care sunt consecințele directe ale obiectivelor de proiectare ale Intel:

  1. Platforma de referință folosește numai controlere de memorie hard DDR cu cea mai largă configurație posibilă (256 de biți).
  2. FPGA comunică direct cu controlerul de memorie HPS DDR, fără a implica magistrala AXI și comutatorul L3 din interiorul HPS. Comunicarea directă oferă cea mai bună lățime de bandă posibilă pentru DDR și împiedică calculele FPGA să interfereze cu comunicațiile dintre CPU și periferia acestuia.
  3. Accesul direct la memorie scatter-gather (SG-DMA) nu face parte din logica interfeței FPGA. În loc să transferați cantități mari de date între sistemele de memorie DDR, stocați datele în DDR HPS partajat. Accesul direct la memoria CPU de către FPGA este mai eficient decât DMA. Salvează resurse hardware (adică zona FPGA) și simplifică driverul kernel-ului Linux.
    Avertizare: Transferul de memorie între sistemul HPS DDR partajat și sistemul DDR care este accesibil doar FPGA este foarte lent. Dacă alegi
    transferați memoria în acest mod, utilizați-o numai pentru cantități foarte mici de date.
  4. Gazda și dispozitivul efectuează transfer de date non-DMA între ele prin intermediul podului HPS-to-FPGA (H2F), folosind doar un singur port pe 32 de biți. Motivul este că, fără DMA, nucleul Linux poate emite doar o singură solicitare de citire sau scriere pe 32 de biți, deci nu este necesar să existe o conexiune mai largă.
  5. Gazda trimite semnale de control către dispozitiv printr-o punte ușoară H2F (LH2F).
    Deoarece semnalele de control de la gazdă la dispozitiv sunt semnale cu lățime de bandă redusă, o punte LH2F este ideală pentru această sarcină.

1.2 Portarea platformei de referință pe placa dumneavoastră SoC FPGA
Pentru a porta platforma de referință pentru kit-ul de dezvoltare SoC Cyclone V la placa dvs. FPGA SoC, efectuați următoarele sarcini:

  1. Selectați o singură memorie DDR sau cele două versiuni de memorie DDR a platformei de referință c5soc ca punct de plecare al designului dvs.
  2. Actualizați locațiile PIN în ALTERAOCLSDKROOT/board/c5soc/ /top.qsf file, unde ALTERAOCLSDKROOT este calea către locația SDK-ului Intel FPGA pentru instalarea OpenCL și este numele de director al variantei de placă. Directorul c5soc_sharedonly este pentru varianta de placă cu un sistem de memorie DDR. Directorul c5soc este pentru varianta de placă cu două sisteme de memorie DDR.
  3.  Actualizați setările DDR pentru blocurile SDRAM HPS și/sau FPGA din ALTERAOCLSDKROOT/board/c5soc/ /system.qsys file.
    4. Toate modelele de plăci preferate Intel FPGA SDK pentru OpenCL trebuie să obțină închidere de timp garantată. Ca atare, amplasarea designului trebuie să fie curată în timp. Pentru a porta partiția plăcii c5soc (acl_iface_partition.qxp) la placa FPGA SoC, efectuați următoarele sarcini:
    Pentru instrucțiuni detaliate despre modificarea și păstrarea partiției plăcii, consultați Quartus
    Capitolul Prime Compilation Incremental for Hierarchical and Team-Based Design din Manualul Quartus Prime Standard Edition.
    A. Eliminați acl_iface_partition.qxp din directorul ALTERAOCLSDKROOT/board/c5soc/c5soc.
    b. Activați regiunea acl_iface_region LogicLock™ schimbând comanda Tcl set_global_assignment -name LL_ENABLED OFF -section_id acl_iface_region la set_global_assignment -name LL_ENABLED ON -section_id acl_iface_region
    c. Compilați un nucleu OpenCL pentru placa dvs.
    d. Dacă este necesar, ajustați dimensiunea și locația regiunii LogicLock.
    e. Când sunteți mulțumit că plasarea designului dvs. este curată în timp, exportați acea partiție ca partiție exportată acl_iface_partition.qxp Quartus Prime File.
    După cum este descris în secțiunea Stabilirea fluxului de timp garantat din Ghidul utilizatorului AIntel FPGA SDK pentru OpenCL Custom Platform Toolkit, prin importul acestui .qxp  file în designul de nivel superior, îndepliniți cerința de a oferi un design de placă cu un flux de închidere de sincronizare garantat.
    Pentru factorii care ar putea afecta calitatea rezultatelor (QoR) ale partiției exportate, consultați secțiunea Considerații generale privind calitatea rezultatelor pentru partiția de placă exportată din Ghidul utilizatorului Intel FPGA SDK pentru OpenCL Custom Platform Toolkit.
    f. Dezactivați regiunea LogicLock acl_iface_region prin revenirea la comanda din Pasul 2 la set_global_assignment -name LL_ENABLED OFF section_id acl_iface_region.
  4. Dacă placa dvs. SoC FPGA utilizează diferiți pini și periferii ale blocului HPS, regenerați preîncărcătorul și sursa arborelui dispozitivului (DTS) file. Dacă modificați setările controlerului de memorie HPS DDR, regenerați preîncărcătorul.
  5. Creați imaginea cardului flash SD.
  6. Creați-vă platforma personalizată, care include imaginea cardului flash SD.
  7. Luați în considerare crearea unei versiuni de mediu de rulare a platformei dvs. personalizate pentru a fi utilizată cu Intel FPGA Runtime Environment (RTE) pentru OpenCL. Versiunea RTE a platformei dumneavoastră personalizate nu include directoare hardware și imaginea cardului flash SD. Această platformă personalizată se încarcă în sistemul SoC FPGA pentru a permite rularea aplicațiilor gazdă. În schimb, versiunea SDK a platformei personalizate este necesară pentru ca SDK să compile kernel-urile OpenCL.
    Sfat: Puteți utiliza versiunea SDK a platformei dvs. personalizate pentru RTE. A salva
    spațiu, eliminați imaginea cardului flash SD din versiunea RTE a platformei dvs. personalizate.
  8. Testați-vă platforma personalizată.
    Consultați secțiunea Testarea designului hardware din Ghidul utilizatorului Intel FPGA SDK pentru OpenCL Custom Platform Toolkit pentru mai multe informații.

Linkuri conexe

  • Testarea designului hardware
  • Compilare incrementală Quartus Prime pentru proiectare ierarhică și bazată pe echipă
  • Stabilirea fluxului de sincronizare garantat
  • Considerații generale privind calitatea rezultatelor pentru partiția de placă exportată

1.2.1 Actualizarea unei platforme de referință portate
În versiunea actuală a platformei de referință Cyclone V SoC Development Kit, blocul HPS se află în interiorul partiției care definește toată logica non-kernel. Cu toate acestea, nu puteți exporta HPS ca parte a .qxp file. Pentru a actualiza o platformă personalizată existentă pe care ați modificat-o dintr-o versiune anterioară a c5soc, implementați fluxul de conservare QXP, actualizați imaginea cardului flash SD pentru a obține cel mai recent mediu de rulare și actualizați board_spec.xml file pentru a permite automigrarea.
SDK-ul Altera® pentru OpenCL versiunea 14.1 și versiunile ulterioare verifică board_spec.xml file pentru informații de bord și implementează actualizări automate. Pentru că modificați
proiectați prin implementarea fluxului de conservare QXP, trebuie să actualizați board_spec.xml file la formatul său în versiunea curentă. Actualizarea file permite SDK-ului să facă distincția între platformele personalizate neconservate și platformele personalizate actuale bazate pe QXP. Pentru mai multe informații, consultați Automigrarea platformei personalizate pentru compatibilitate directă în Ghidul utilizatorului Intel FPGA SDK pentru OpenCL Custom Platform Toolkit.

  1. Pentru a implementa fluxul de conservare QXP într-un design hardware FPGA SoC Cyclone V care este portat dintr-o versiune anterioară a c5soc, parcurgeți următorii pași pentru a crea o subpartiție pentru a exclude HPS din .qxp file:
    A. Înainte de a crea o partiție în jurul logicii non-kernel, creați o partiție în jurul HPS în setările .qsf Quartus Prime File.
    De examppe:
    # Partiționați manual instanța care modelează set_instance_assignment I/O dedicată HPS -name PARTITION_HIERARCHY borde_18261 -la „system:the_system|system_acl_iface:acl_iface|system_acl_iface_hps_0:hps_0|system_acl_iface_hps____ system_acl_iface_hps_0_hps_io_border:border” -section_id „system_acl_iface_hps_0_hps_io_border:border”
    # Setați partiția să fie de tip HPS_PARTITION pentru a fi procesată corect de restul Quartus
    set_global_assignment -name PARTITION_TYPE HPS_PARTITION -section_id „system_acl_iface_hps_0_hps_io_border:border”
    quartus_cdb top -c top
    –incremental_compilation_export=acl_iface_partition.qxp
    –incremental_compilation_export_partition_name=acl_iface_partition
    –incremental_compilation_export_post_synth=on
    –incremental_compilation_export_post_fit=on
    –incremental_compilation_export_routing=on
    –incremental_compilation_export_flatten=off
    După ce excludeți HPS din partiție, puteți importa fișierul .qxp file și compilați-vă designul.
  2. Actualizați imaginea cardului flash SD cu versiunea curentă a Intel FPGA RTE pentru OpenCL efectuând următoarele sarcini:
    A. Montați file tabel de alocare (fat32) și extins file sistem (ext3) partiții în imaginea existentă ca dispozitive de loop-back. Pentru instrucțiuni detaliate, consultați Pasul 2 din Crearea unei imagini de card SD Flash.
    b. În directorul /home/root/opencl_arm32_rte, eliminați fișierul files din versiunea anterioară a RTE.
    c. Descărcați și despachetați versiunea curentă a RTE în directorul /home/root/opencl_arm32_rte.
    d. În /driver/version.h file a Platformei dvs. personalizate, actualizați atribuirea ACL_DRIVER_VERSION la . (de example, 16.1.x, unde 16.1 este versiunea SDK și x este versiunea driverului pe care ați setat-o).
    e. Reconstruiți driverul.
    f. Ștergeți folderele hardware ale platformei dvs. personalizate. Copiați platforma personalizată, împreună cu driverul actualizat, în directorul /home/root/opencl_arm_rte/board.
    g. Copiați Altera.icd file din directorul /home/root/opencl_arm32_rte și adăugați-l în directorul /etc/OpenCL/vendors.
    h. Demontați și testați noua imagine. Pentru instrucțiuni detaliate, consultați pașii de la 8 la 11 din Crearea unei imagini de card SD Flash.

Linkuri conexe

  • Crearea unei imagini de card SD Flash la pagina 14
    De asemenea, aveți opțiunea de a crea o nouă imagine de card SD flash.
  • Migrare automată a platformei personalizate pentru compatibilitate directă

1.3 Suport software pentru memorie partajată
Memoria fizică partajată între FPGA și CPU este memoria preferată pentru nucleele OpenCL care rulează pe FPGA-uri SoC. Deoarece FPGA accesează memoria fizică partajată, spre deosebire de memoria virtuală partajată, nu are acces la tabelele de pagini ale CPU care mapează adresele virtuale ale utilizatorilor cu adresele paginilor fizice.
În ceea ce privește hardware-ul, nucleele OpenCL accesează memoria fizică partajată prin conexiune directă la controlerul de memorie HPS DDR. În ceea ce privește software-ul, suportul pentru memoria fizică partajată implică următoarele considerații:

  1. Implementări software tipice pentru alocarea memoriei pe CPU (de example, funcția malloc()) nu poate aloca o regiune de memorie pe care FPGA o poate folosi.
    Memoria pe care o alocă funcția malloc() este învecinată în spațiul de adrese de memorie virtuală, dar este puțin probabil ca orice pagini fizice subiacente să fie învecinate fizic. Ca atare, gazda trebuie să fie capabilă să aloce regiuni de memorie contigue fizic. Cu toate acestea, această capacitate nu există în aplicațiile pentru spațiul utilizatorului pe Linux. Prin urmare, driverul kernel-ului Linux trebuie să efectueze alocarea.
  2. Driverul de kernel OpenCL SoC FPGA Linux include funcția mmap() pentru a aloca memorie fizică partajată și a o mapa în spațiul utilizatorului. Funcția mmap() folosește apelul standard al nucleului Linux dma_alloc_coherent() pentru a solicita regiuni de memorie contigue fizic pentru partajarea cu un dispozitiv.
  3. În kernel-ul Linux implicit, dma_alloc_coherent() nu alocă memorie fizică adiacentă cu o dimensiune mai mare de 0.5 megaocteți (MB). Pentru a permite dma_alloc_coherent() să aloce cantități mari de memorie fizică contiguă, activați caracteristica de alocare de memorie contiguă (CMA) a nucleului Linux și apoi recompilați nucleul Linux.
    Pentru Cyclone V SoC Development Kit Reference Platform, CMA gestionează 512 MB din 1 GB de memorie fizică. Puteți crește sau micșora această valoare, în funcție de cantitatea de memorie partajată pe care o necesită aplicația. Apelul dma_alloc_coherent() s-ar putea să nu poată aloca cei 512 MB completi de memorie fizic contiguă; cu toate acestea, poate obține în mod obișnuit aproximativ 450 MB de memorie.
  4. CPU poate stoca memoria cache pe care apelul dma_alloc_coherent() o alocă. În special, operațiunile de scriere din aplicația gazdă nu sunt vizibile pentru nucleele OpenCL. Funcția mmap() din driverul de kernel OpenCL SoC FPGA Linux conține, de asemenea, apeluri la funcția pgprot_noncached() sau remap_pf_range() pentru a dezactiva în mod explicit memorarea în cache pentru această regiune a memoriei.
  5. După ce funcția dma_alloc_coherent() alocă memoria fizică contigue, funcția mmap() returnează adresa virtuală la începutul intervalului, care este intervalul de adrese a memoriei pe care o alocați. Aplicația gazdă necesită această adresă virtuală pentru a accesa memoria. Pe de altă parte, nucleele OpenCL necesită adrese fizice. Driverul de kernel Linux ține evidența mapării adreselor virtuale-fizice. Puteți mapa adresele fizice pe care mmap() le returnează la adresele fizice reale, adăugând o interogare la driver.
    Apelul aocl_mmd_shared_mem_alloc() MMD pentru interfața de programare a aplicației (API) încorporează următoarele interogări:
    A. Funcția mmap() care alocă memorie și returnează adresa virtuală.
    b. Interogarea suplimentară care mapează adresa virtuală returnată la adresa fizică.
    Apelul API MMD aocl_mmd_shared_mem_alloc() returnează apoi două adrese
    — adresa efectivă returnată este adresa virtuală, iar adresa fizică merge la device_ptr_out.
    Nota: Driverul poate mapa numai adresele virtuale pe care funcția mmap() le returnează adreselor fizice. Dacă solicitați adresa fizică a oricărui alt pointer virtual, driverul returnează o valoare NULL.

Avertizare: SDK-ul Intel FPGA pentru bibliotecile de rulare OpenCL presupune că memoria partajată este prima memorie listată în board_spec.xml file. Cu alte cuvinte, adresa fizică pe care o obține driverul de kernel Linux devine adresa Avalon® pe care kernel-ul OpenCL o transmite SDRAM-ului HPS.
În ceea ce privește biblioteca de rulare, utilizați apelul clCreateBuffer() pentru a aloca memoria partajată ca buffer de dispozitiv în următorul mod:

  • Pentru varianta de două plăci DDR cu memorie partajată și nepartajată, clCreateBuffer() alocă memorie partajată dacă specificați indicatorul CL_MEM_USE_HOST_PTR. Utilizarea altor semnalizatoare face ca clCreateBuffer() să aloce tampon în memoria nepartajată.
  • Pentru varianta de placă cu o singură placă DDR cu doar memorie partajată, clCreateBuffer() alocă memorie partajată, indiferent de indicatorul pe care îl specificați.
    În prezent, suportul Linux pe 32 de biți pe CPU ARM guvernează amploarea suportului pentru memorie partajată în bibliotecile de rulare SDK. Cu alte cuvinte, bibliotecile runtime compilate în alte medii (de example, x86_64 Linux sau Windows pe 64 de biți) nu acceptă memoria partajată.
    C5soc nu a implementat memoria eterogenă pentru a distinge între memoria partajată și cea nepartajată din următoarele motive:
    1. Istoric—Suportul pentru memorie eterogenă nu era disponibil când a fost creat inițial suportul pentru memorie partajată.
    2. Interfață uniformă — Deoarece OpenCL este un standard deschis, Intel menține consistența între furnizorii eterogene de platforme de calcul. Prin urmare, aceeași interfață ca și arhitecturile altor furnizori de plăci este utilizată pentru a aloca și utiliza memoria partajată.

1.4 Reconfigurare FPGA
Pentru FPGA-urile SoC, procesorul poate reconfigura structura centrală FPGA fără a întrerupe funcționarea procesorului. Blocul hardware FPGA Manager care se află pe HPS și FPGA de bază realizează reconfigurarea. Nucleul Linux include un driver care permite accesul ușor la Managerul FPGA.

  • La view starea nucleului FPGA, invocați comanda cat /sys/class/fpga/fpga0/ status.
    Utilitarul de program Intel FPGA SDK pentru OpenCL disponibil cu platforma de referință Cyclone V SoC Development Kit folosește această interfață pentru a programa FPGA. Când reprogramați un nucleu FPGA cu un CPU care rulează, utilitarul programului efectuează toate următoarele sarcini:
    1. Înainte de reprogramare, dezactivați toate punțile de comunicare dintre FPGA și HPS, atât punțile H2F cât și punțile LH2F.
    Reactivați aceste punți după finalizarea reprogramarii.
    Atenție: Sistemul OpenCL nu utilizează puntea FPGA la HPS (F2H). Consultați secțiunea Interfețe HPS-FPGA din Manualul dispozitivului Cyclone V, Volumul 3: Manual de referință tehnică a sistemului de procesor dur pentru mai multe informații.
    2. Asigurați-vă că legătura dintre FPGA și controlerul HPS DDR este dezactivată în timpul reprogramării.
    3. Asigurați-vă că întreruperile FPGA de pe FPGA sunt dezactivate în timpul reprogramării.
    De asemenea, notificați șoferul să respingă orice întreruperi de la FPGA în timpul reprogramării.

Consultați codul sursă al utilitarului programului pentru detalii despre implementarea efectivă.

Avertizare: Nu modificați configurația controlerului HPS DDR când procesorul rulează.
Acest lucru poate cauza o eroare fatală de sistem, deoarece este posibil să modificați configurația controlerului DDR atunci când există tranzacții de memorie restante de la CPU. Aceasta înseamnă că atunci când CPU rulează, este posibil să nu reprogramați nucleul FPGA cu o imagine care utilizează HPS DDR într-o configurație diferită.
Rețineți că sistemul OpenCL și designul de referință Golden Hardware disponibil cu Intel SoC FPGA Embedded Design Suite (EDS), setează HPS DDR într-un singur mod de 256 de biți.
Părțile sistemului CPU, cum ar fi predictorul de ramuri sau prefetcherul tabelului de pagini, pot emite comenzi DDR chiar și atunci când pare că nu rulează nimic pe CPU.
Prin urmare, timpul de pornire este singurul moment sigur pentru a seta configurația controlerului HPS DDR.
Acest lucru implică, de asemenea, că U-boot trebuie să aibă un binar brut file (.rbf) imagine de încărcat în memorie. În caz contrar, este posibil să activați DDR-ul HPS cu porturi neutilizate pe FPGA și apoi să modificați configurațiile portului ulterior. Din acest motiv, driverul de kernel OpenCL Linux nu mai include logica necesară pentru a seta configurația controlerului HPS DDR.
Pachetul dual în linie (DIP) SW3 de pe kitul de dezvoltare Cylone V SoC controlează forma așteptată a imaginii .rbf (adică dacă file este comprimat și/sau criptat). C5soc și Golden Hardware Reference Design, disponibile cu SoC EDS, includ imagini .rbf comprimate, dar necriptate. Setările comutatorului DIP SW3 descrise în Intel FPGA SDK pentru OpenCL Cyclone V SoC Introducere Ghid se potrivesc cu această configurație de imagine .rbf.

Linkuri conexe

  • Interfețe HPS-FPGA
  • Configurarea comutatoarelor SW3

1.4.1 Detalii despre arhitectura sistemului FPGA
Suportul pentru Cyclone V SoC Development Kit Reference Platform se bazează pe Stratix® V Reference Platform (s5_ref), disponibil cu Intel FPGA SDK pentru OpenCL.
Organizarea generală a sistemului c5soc Qsys și driverul nucleului sunt foarte asemănătoare cu cele din s5_ref.
Următoarele componente de bază FPGA sunt aceleași atât în ​​c5soc, cât și în s5_ref:

  • Bloc VERSION_ID
  • Mecanism de odihnă
  • Divizor banc de memorie
  • Cache interfață Snoop
  • Ceasul nucleului
  • Blocuri de acces la registru de control (CRA).

1.5 Construirea unei imagini SD Flash Card
Deoarece Cyclone V SoC FPGA este un sistem complet pe un cip, sunteți responsabil pentru furnizarea definiției complete a sistemului. Intel vă recomandă să-l livrați sub forma unei imagini de card SD flash. Utilizatorul Intel FPGA SDK pentru OpenCL poate scrie pur și simplu imaginea pe cardul flash micro SD, iar placa SoC FPGA este gata de utilizare.
Modificarea unei imagini de card SD Flash existent la pagina 13
Intel vă recomandă să modificați pur și simplu imaginea disponibilă cu platforma de referință pentru kit de dezvoltare SoC Cyclone V. De asemenea, aveți opțiunea de a crea o nouă imagine de card SD flash.
Crearea unei imagini de card SD Flash la pagina 14
De asemenea, aveți opțiunea de a crea o nouă imagine de card SD flash.

1.5.1 Modificarea unei imagini de card SD Flash existent
Intel vă recomandă să modificați pur și simplu imaginea disponibilă cu SoC Cyclone V
Platformă de referință pentru kit de dezvoltare. De asemenea, aveți opțiunea de a crea o nouă imagine de card SD flash.
Imaginea c5soc linux_sd_card_image.tgz file este disponibil în directorul ALTERAOCLSDKROOT/board/c5soc, unde ALTERAOCLSDKROOT indică calea SDK-ului Intel FPGA pentru directorul de instalare al OpenCL.

Atenţie: Pentru a modifica imaginea cardului flash SD, trebuie să aveți privilegii root sau sudo.

  1. Pentru a decomprima $ALTERAOCLSDKROOT/board/c5soc/linux_sd_card_image.tgz file, rulați comanda tar xvfzlinux_sd_card_image.tgz.
  2. Compilați hello_world OpenCL exampproiectarea fișierului folosind suportul pentru platforma personalizată. Redenumiți .rbf file pe care Intel FPGA SDK pentru OpenCL Offline Compiler îl generează ca opencl.rbf și plasați-l pe partiția fat32 din imaginea cardului SD flash.
    Puteți descărca ex. hello_worldampdesignul de la OpenCL Design Examppagina les de pe Altera website-ul.
  3. Așezați .rbf file în partiția fat32 a imaginii cardului flash.
    Atenţie: Partiția fat32 trebuie să conțină atât zImage file iar .rbf file. Fără un .rbf file, va apărea o eroare fatală când introduceți driverul.
  4. După ce creați imaginea cardului SD, scrieți-o pe un card micro SD invocând următoarea comandă: sudo dd if=/path/to/sdcard/image.bin of=/dev/sdcard
  5. Pentru a testa imaginea cardului SD flash, efectuați următoarele sarcini:
    A. Introduceți cardul micro SD flash în placa SoC FPGA.
    b. Porniți placa.
    c. Invocați comanda utilitarului aocl diagnose.

1.5.2 Crearea unei imagini SD Flash Card
De asemenea, aveți opțiunea de a crea o nouă imagine de card SD flash. Instrucțiuni generice despre construirea unei noi imagini de card SD și reconstruirea unei imagini existente de card SD sunt disponibile pe pagina GSRD v14.0.2 – Card SD a RocketBoards.org website-ul.
Pașii de mai jos descriu procedura de creare a imaginii linux_sd_card_image.tgz din imaginea cardului flash SD Golden System Reference Design (GSRD):
Nota:
Pentru a crea imaginea din imaginea c5soc, efectuați toate sarcinile aplicabile descrise în această procedură.

  1. Descărcați și despachetați imaginea cardului flash SD GSRD versiunea 14.0 de pe Rocketboards.org.
  2. Montați file tabel de alocare (fat32) și extins file partițiile de sistem (ext3) din această imagine ca dispozitive loop-back. Pentru a monta o partiție, parcurgeți următorii pași:
    A. Determinați începutul octet al partiției din imagine, invocând /sbin/fdisk -lu image_file comanda.
    De example, numărul de partiție 1 de tip W95 FAT are un offset de bloc de 2121728. Cu 512 octeți pe bloc, offsetul de octeți este de 512 octeți x 2121728 = 1086324736 octeți.
    b. Identificați un dispozitiv cu buclă liberă (de example, /dev/loop0) tastând comanda losetup -f.
    c. Presupunând că /dev/loop0 este dispozitivul de buclă liberă, atribuiți imaginea cardului flash dispozitivului de blocare a buclei invocând imaginea losetup /dev/loop0_file -0 1086324736 comanda.
    d. Montați dispozitivul buclă invocând comanda mount /dev/loop0 /media/disk1.
    În cadrul imaginii file, /media/disk1 este acum o partiție fat32 montată.
    e. Repetați pașii de la a la d pentru partiția ext3.
  3. Descărcați versiunea Cyclone V SoC FPGA a pachetului Intel FPGA Runtime Environment pentru OpenCL din Centrul de descărcare de pe Altera website-ul.
    A. Faceți clic pe butonul Descărcare de lângă ediția software Quartus Prime.
    b. Specificați versiunea de lansare, sistemul de operare și metoda de descărcare.
    c. Faceți clic pe fila Software suplimentar și selectați pentru a descărca Intel FPGA
    Mediu de rulare pentru OpenCL Linux Cyclone V SoC TGZ.
    d. După ce descărcați aocl-rte- .arm32.tgz file, despachetează-l
    un director pe care îl dețineți.
  4. Puneți aocl-rte- despachetat directorul .arm32 în directorul /home/root/opencl_arm32_rte de pe partiția ext3 a imaginii file.
  5. Ștergeți folderele hardware ale platformei dvs. personalizate și apoi plasați platforma personalizată în subdirectorul de placă al /home/root/opencl_arm32_rte.
  6. Creați fișierul init_opencl.sh file în directorul /home/root cu următorul conținut: export ALTERAOCLSDKROOT=/home/root/opencl_arm32_rte export AOCL_BOARD_PACKAGE_ROOT=$ALTERAOCLSDKROOT/board/ export PATH=$ALTERAOCLSDKROOT/bin:$PATH export LD_LIBRARY_PATH=$ALTERAOCLSDKROOT/host/arm32/lib:$LD_LIBRARY_PATH insmod $AOCL_BOARD_PACKAGE_ROOT/driver/aclsoc_drv.ko
    Utilizatorul SDK rulează comanda sursă ./init_opencl.sh pentru a încărca variabilele de mediu și driverul de kernel OpenCL Linux.
  7. Dacă trebuie să actualizați preîncărcarea, DTS files, sau kernel-ul Linux, aveți nevoie de compilatorul arm-linux-gnueabihf-gcc de la SoC EDS. Urmați instrucțiunile prezentate în Ghidul utilizatorului Intel SoC FPGA Embedded Design Suite pentru a achiziționa software-ul, a le recompila și a actualiza files pe partiția fat32 montată.
    Atenţie: Cel mai probabil, trebuie să actualizați preîncărcarea dacă Platforma dvs. personalizată are utilizări diferite ale PIN-ului decât cele din c5soc.
    Amintiți-vă: dacă recompilați nucleul Linux, recompilați driverul nucleului Linux cu aceeași sursă de kernel Linux files. Dacă există o nepotrivire între driverul kernel-ului Linux și kernel-ul Linux, driverul nu se va încărca. De asemenea, trebuie să activați CMA.
    Consultați Recopilarea kernelului Linux pentru mai multe informații.
  8. Compilați hello_world OpenCL exampproiectarea fișierului folosind suportul pentru platforma personalizată. Redenumiți .rbf file pe care Intel FPGA SDK pentru OpenCL Offline Compiler îl generează ca opencl.rbf și plasați-l pe partiția fat32 din imaginea cardului SD flash.
    Puteți descărca ex. hello_worldampdesignul de la OpenCL Design Examppagina les de pe Altera website-ul.
    9. După ce ați depozitat toate cele necesare files pe imaginea cardului flash, invocați următoarele comenzi:
    A. sincronizare
    b. demontează /media/disk1
    c. demonta Unde este numele directorului pe care îl utilizați pentru a monta partiția ext3 în 3 de la pagina 3 (de example, /media/disk2).
    d. losetup -d /dev/loop0
    e. losetup -d /dev/loop1
  9. Comprimați imaginea cardului flash SD invocând următoarea comandă: tar cvfz .tgz linux_sd_card_image
  10. Livrați .tgz file în directorul rădăcină al platformei dvs. personalizate.
  11. Pentru a testa imaginea cardului SD flash, efectuați următoarele sarcini:
    A. Scrieți imaginea necomprimată rezultată pe un card flash micro SD.
    b. Introduceți cardul micro SD flash în placa SoC FPGA.
    c. Porniți placa.
    d. Invocați comanda utilitarului aocl diagnose.

Linkuri conexe

  • Ghidul utilizatorului Intel SoC FPGA Embedded Design Suite
  • OpenCL Design Examppagina les de pe Altera website-ul
  • Recompilarea kernelului Linux la pagina 16
    Pentru a activa CMA, trebuie mai întâi să recompilați nucleul Linux.
  • Interogarea numelui dispozitivului plăcii dumneavoastră FPGA (diagnosticare)

1.6 Compilarea nucleului Linux pentru Cyclone V SoC FPGA
Înainte de a rula aplicații OpenCL pe placa FPGA Cyclone V SoC, trebuie să compilați sursa kernel-ului Linux și să compilați și să instalați driverul kernel-ului OpenCL Linux.

  1. Recompilarea kernelului Linux la pagina 16
    Pentru a activa CMA, trebuie mai întâi să recompilați nucleul Linux.
  2. Compilarea și instalarea driverului de kernel OpenCL Linux la pagina 17 Compilați driverul de kernel OpenCL Linux cu sursa kernel-ului compilat.

1.6.1 Recompilarea kernel-ului Linux
Pentru a activa CMA, trebuie mai întâi să recompilați nucleul Linux.

  1. Faceți clic pe linkul GSRD v14.0 – Compiling Linux de pe pagina Resurse din RocketBoards.org website-ul pentru a accesa instrucțiuni despre descărcarea și reconstruirea codului sursă a kernelului Linux.
    Pentru utilizare cu™ Intel FPGA SDK pentru OpenCL, specificați socfpga-3.13-rel14.0 ca .
  2. Notă: procesul de construire creează arch/arm/configs/socfpga_defconfig file. Acest file specifică setările pentru configurația implicită socfpga.
    Adăugați următoarele linii în partea de jos a arch/arm/configs/socfpga_defconfig file.
    CONFIG_MEMORY_ISOLATION=y
    CONFIG_CMA=y
    CONFIG_DMA_CMA=a
    CONFIG_CMA_DEBUG=a
    CONFIG_CMA_SIZE_MBYTES=512
    CONFIG_CMA_SIZE_SEL_MBYTES=a
    CONFIG_CMA_ALIGNMENT=8
    CONFIG_CMA_AREAS=7
    Valoarea de configurare CONFIG_CMA_SIZE_MBYTES stabilește limita superioară a numărului total de memorie fizic contigue disponibilă. Puteți crește această valoare dacă aveți nevoie de mai multă memorie.
  3. Atenţie: Cantitatea totală de memorie fizică disponibilă pentru procesorul ARM de pe placa SoC FPGA este de 1 GB. Intel nu recomandă să setați managerul CMA aproape de 1 GB.
  4. Rulați comanda make mrproper pentru a curăța configurația curentă.
  5. Rulați comanda make ARCH=arm socfpga_deconfig.
    ARCH=arm indică faptul că doriți să configurați arhitectura ARM.
    socfpga_defconfig indică faptul că doriți să utilizați configurația implicită socfpga.
  6. Rulați comanda export CROSS_COMPILE=arm-linux-gnueabihf-.
    Această comandă setează variabila de mediu CROSS_COMPILE pentru a specifica prefixul lanțului de instrumente dorit.
  7. Rulați comanda make ARCH=arm zImage. Imaginea rezultată este disponibilă în arch/arm/boot/zImage file.
  8. Plasați zImage file în partiția fat32 a imaginii cardului flash. Pentru instrucțiuni detaliate, consultați manualul de utilizare GSRD specific pentru Cyclone V SoC FPGA de pe Rocketboards.org.
  9. Notă: Pentru a introduce corect driverul de kernel OpenCL Linux, încărcați mai întâi un SDKgenerated.rbf file pe FPGA.
    Pentru a crea .rbf file, compilați un design SDK de exampcu Cyclone V SoC Development Kit Reference Platform ca platformă personalizată vizată.
    9. Așezați .rbf file în partiția fat32 a imaginii cardului flash.
    Atenție: Partiția fat32 trebuie să conțină atât zImage file iar .rbf file. Fără un .rbf file, va apărea o eroare fatală când introduceți driverul.
  10. Introduceți cardul micro SD programat, care conține imaginea cardului SD pe care ați modificat-o sau creat-o mai devreme, în kitul de dezvoltare SoC Cyclone V și apoi porniți placa SoC FPGA.
  11. Verificați versiunea nucleului Linux instalat rulând comanda uname -r.
  12. Pentru a verifica dacă activați CMA cu succes în nucleu, cu placa SoC FPGA pornită, executați comanda grep init_cma /proc/kallsyms.
    CMA este activat dacă ieșirea nu este goală.
  13. Pentru a utiliza nucleul Linux recompilat cu SDK-ul, compilați și instalați driverul kernel-ului Linux.

Linkuri conexe

  • Manuale de utilizare Golden System Reference Design (GSRD).
  • Crearea unei imagini de card SD Flash la pagina 13
    Deoarece Cyclone V SoC FPGA este un sistem complet pe un cip, sunteți responsabil pentru furnizarea definiției complete a sistemului.

1.6.2 Compilarea și instalarea driverului OpenCL Linux Kernel
Compilați driverul de kernel OpenCL Linux cu sursa kernel-ului compilată.

Sursa driverului este disponibilă în versiunea Cyclone V SoC FPGA a Intel FPGA Runtime Environment pentru OpenCL. În plus, asigurați-vă că ați încărcat un Intel FPGA SDK pentru .rbf generat de OpenCL file în FPGA pentru a preveni instalarea incorectă a modulului de kernel Linux.

  1. Descărcați versiunea Cyclone V SoC FPGA a pachetului Intel FPGA Runtime Environment pentru OpenCL din Centrul de descărcare de pe Altera website-ul.
    A. Faceți clic pe butonul Descărcare de lângă ediția software Quartus Prime.
    b. Specificați versiunea de lansare, sistemul de operare și metoda de descărcare.
    c. Faceți clic pe fila Software suplimentar și selectați pentru a descărca Intel FPGA
    Mediu de rulare pentru OpenCL Linux Cyclone V SoC TGZ.
    d. După ce descărcați aocl-rte- .arm32.tgz file, despachetează-l
    un director pe care îl dețineți.
    Sursa driverului este în aocl-rte- directorul .arm32/board/c5soc/ driver.
  2. Pentru a recompila driverul de kernel OpenCL Linux, setați valoarea KDIR în Marca driveruluifile în directorul care conține sursa kernel-ului Linux files.
  3. Rulați comanda export CROSS_COMPILE=arm-linux-gnueabihf- pentru a indica prefixul lanțului dvs. de instrumente.
  4. Rulați comanda make clean.
  5. Rulați comanda make pentru a crea aclsoc_drv.ko file.
  6. Transferați directorul opencl_arm32_rte pe placa FPGA SoC Cyclone V.
    Rularea scp -r root@adresa-tau: comanda plasează mediul de rulare în directorul/home/root.
  7. Rulați scriptul init_opencl.sh pe care l-ați creat când ați creat imaginea cardului SD.
  8.  Invocați comanda utilitarului aocl diagnose. Utilitarul de diagnosticare va returna un rezultat de trecere după ce rulați cu succes init_opencl.sh.

1.7 probleme cunoscute
În prezent, există anumite limitări privind utilizarea SDK-ului Intel FPGA pentru OpenCL cu platforma de referință Cyclone V SoC Development Kit.

  1. Nu puteți suprascrie numele furnizorului și al panoului raportate de șirurile CL_DEVICE_VENDOR și CL_DEVICE_NAME ale apelului clGetDeviceInfo().
  2. Dacă gazda alocă memorie constantă în sistemul DDR partajat (adică HPS DDR) și modifică memoria constantă după executarea nucleului, datele din memorie ar putea deveni învechite. Această problemă apare deoarece nucleul FPGA nu poate fi observat tranzacțiile DDR de la CPU la HPS.
    Pentru a împiedica execuțiile ulterioare ale nucleului să acceseze date învechite, implementați una dintre următoarele soluții:
    • Nu modificați memoria constantă după inițializare.
    • Dacă aveți nevoie de mai multe seturi de date __constante, creați mai multe memorii tampon constante.
    • Dacă este disponibilă, alocați memorie constantă în FPGA DDR de pe placa de accelerație.
  3. Utilitarul SDK de pe ARM acceptă numai comenzile programului și diagnosticarea utilitarului.
    Comenzile utilitare flash, instalare și dezinstalare nu sunt aplicabile setului de dezvoltare SoC Cyclone V din următoarele motive:
    A. Utilitarul de instalare trebuie să compileze driverul de kernel Linux aclsoc_drv și să îl activeze pe SoC FPGA. Mașina de dezvoltare trebuie să realizeze compilarea; cu toate acestea, conține deja surse de kernel Linux pentru SoC FPGA. Sursele nucleului Linux pentru mașina de dezvoltare sunt diferite de cele pentru SoC FPGA. Locația surselor kernel-ului Linux pentru SoC FPGA este probabil necunoscută utilizatorului SDK. În mod similar, utilitarul de dezinstalare nu este disponibil și pentru kitul de dezvoltare SoC Cyclone V.
    De asemenea, livrarea aclsoc_drv la placa SoC este o provocare, deoarece distribuția implicită a kitului de dezvoltare SoC Cyclone V nu conține nucleul Linux include files sau compilatorul GNU Compiler Collection (GCC).
    b. Utilitarul flash necesită plasarea unui .rbf file a unui design OpenCL pe partiția FAT32 a cardului flash micro SD. În prezent, această partiție nu este montată când utilizatorul SDK pornește placa. Prin urmare, cel mai bun mod de a actualiza partiția este să utilizați un cititor de carduri flash și mașina de dezvoltare.
  4. Când comutați între executabilul Intel FPGA SDK pentru OpenCL Offline Compiler files (.aocx) care corespund diferitelor variante de placă (adică c5soc și c5soc_sharedonly), trebuie să utilizați utilitarul de program al SDK-ului pentru a încărca .aocx file pentru noua variantă de placă pentru prima dată. Dacă pur și simplu rulați aplicația gazdă folosind o nouă variantă de placă, dar FPGA conține imaginea dintr-o altă variantă de placă, poate apărea o eroare fatală.
  5. .qxp file nu include alocarea partițiilor de interfață deoarece software-ul Quartus Prime îndeplinește în mod constant cerințele de sincronizare ale acestei partiții.
  6. Când porniți placa, adresa sa de control al accesului media (MAC) este setată la un număr aleatoriu. Dacă politica dvs. LAN nu permite acest comportament, setați adresa MAC realizând următoarele sarcini:
    A. În timpul pornirii U-Boot, apăsați orice tastă pentru a accesa promptul de comandă U-Boot.
    b. Tastați setenv ethaddr 00:07:ed:00:00:03 la linia de comandă.
    Puteți alege orice adresă MAC.
    c. Tastați comanda saveenv.
    d. Reporniți placa.

1.8 Istoricul revizuirilor documentelor
Tabelul 1.
Istoricul revizuirilor documentului SDK-ului Intel FPGA pentru OpenCL Cyclone V SoC
Ghid de portare a platformei de referință pentru kit de dezvoltare

Data Versiune Schimbări
mai-17 2017.05.08 •Presă de întreținere.
octombrie 2016 2016.10.31 • Rebranding Altera SDK pentru OpenCL la Intel FPGA SDK pentru OpenCL.
• Rebranding Altera Offline Compiler la Intel FPGA SDK pentru OpenCL Offline Compiler.
mai-16 2016.05.02 •Instrucțiuni modificate privind construirea și modificarea unei imagini de card SD flash.
•Instrucțiuni modificate privind recompilarea nucleului Linux și a driverului OpenCL Linux.
noiembrie-15 2015.11.02 • Lansare de întreținere și instanțe schimbate de Quartus II în Quartus Prime.
mai-15 15.0.0 •În FPGA Reconfiguration, a fost eliminată instrucțiunea de reprogramare a nucleului FPGA
cu . imaginea rbf prin invocarea pisicii filenume>. rbf
> Comanda /dev/ fpga0 deoarece această metodă nu este recomandată.
Decembrie-14 14.1.0 •S-a redenumit documentul ca Altera Cyclone V SoC Development Kit Reference Platform Porting Guide.
•A actualizat utilitarul de reprogramare la programul aoclfilenume> comanda utilitarului .aocx.
•Actualizat utilitarul de diagnosticare la diagnosticarea aocl și diagnosticarea aocl comanda utilitarului.
•S-a actualizat procedura din secțiunea Portarea platformei de referință la placa SoC pentru a include instrucțiuni despre portarea și modificarea partiției plăcii c5soc pentru a crea o partiție de curățare a timpului pentru fluxul de închidere a timpului garantat.
•A fost introdus subiectul Actualizarea unei platforme de referință portate pentru a sublinia procedurile pentru următoarele sarcini:
1. Excluzând blocul de sistem hard procesor (HPS) din partiția plăcii
2.Actualizarea imaginii cardului flash SD
•A fost actualizată secțiunea Crearea unei imagini card SD Flash. Se recomandă utilizarea versiunii 14.0 a imaginii Golden System Reference Design (GSRD) ca punct de plecare în loc de imaginea disponibilă cu SoC Embedded Design Suite (EDS).
•A fost actualizată secțiunea Recompilare kernel-ul Linux și driver-ul OpenCL Linux Kernel:
1.S-au adăugat instrucțiuni pentru a seta variabila CROSS COMPILE.
2.S-a schimbat comanda pe care o executați pentru a verifica dacă CMA este activat cu succes.
iulie-14 14.0.0 • Lansare inițială.

Documente/Resurse

Intel FPGA SDK pentru OpenCL [pdfGhid de utilizare
FPGA SDK pentru OpenCL, FPGA SDK, SDK pentru OpenCL, SDK

Referințe

Lasă un comentariu

Adresa ta de e-mail nu va fi publicată. Câmpurile obligatorii sunt marcate *