GOWIN FPGA Fejlesztőtábla RISCV programozás

Copyright © 2022 Guangdong Gowin Semiconductor Corporation. Minden jog fenntartva.
a Guangdong Gowin Semiconductor Corporation védjegye, és be van jegyezve Kínában, az Egyesült Államok Szabadalmi és Védjegyhivatalában és más országokban. Minden egyéb védjegyként vagy szolgáltatási védjegyként azonosított szó és logó a megfelelő tulajdonosok tulajdonát képezi. A GOWINSEMI előzetes írásos engedélye nélkül ennek a dokumentumnak egyetlen része sem reprodukálható vagy továbbítható semmilyen formában vagy jelöléssel, elektronikusan, mechanikusan, fénymásolással, felvétellel vagy más módon.
Jogi nyilatkozat
A GOWINSEMI nem vállal felelősséget és nem vállal garanciát (sem kifejezett, sem hallgatólagos), és nem vállal felelősséget az Ön hardverében, szoftverében, adataiban vagy tulajdonában az anyagok vagy a szellemi tulajdon használatából eredő károkért, kivéve a GOWINSEMI Általános Szerződési Feltételeiben leírtakat. az eladó. Ebben a dokumentumban minden információt előzetesnek kell tekinteni. A GOWINSEMI előzetes értesítés nélkül bármikor módosíthatja ezt a dokumentumot. Bárki, aki erre a dokumentációra támaszkodik, lépjen kapcsolatba a GOWINSEMI-vel az aktuális dokumentációért és hibákért.
Revíziótörténet
| Dátum | Változat | Leírás |
| 04/29/2019 | 1.0E | Az eredeti verzió megjelent. |
|
11/11/2022 |
1.1E |
|
Bevezetés
AE250 Bevezetés
Az AE250 egy 32 bites RISC-V MCU rendszer; felépítését az 1-1. ábra mutatja.

1-1 ábra AE250 szerkezeti diagram
A Gowin FPGA fejlesztői kártyán alapuló RISC-V AE250 MCU fejlesztő és hibakereső rendszer az 1-2. ábrán látható.

1-2. ábra Fejlesztési és hibakeresési rendszerszerkezeti diagram
A fejlesztői kártyán lévő FPGA chip AE250 MCU-ként van konfigurálva a Gowin Programmer segítségével PC-n, a Debug Cable csatlakoztatása után az AndeSight RDS v311 szoftverrel végezheti el a beágyazott programfejlesztést és hibakeresést.
Előkészületek
Mielőtt a Gowin FPGA-t és az AE250-et fejlesztésre és hibakeresésre használná, a következő eszközöket kell előkészíteni:
- Gowin GW2A sorozatú FPGA fejlesztőkártya.
- Gowin szoftver telepítőcsomag az FPGA chip konfigurálásához és letöltéséhez.
- AndeSight RDS v311 telepítőcsomag a beágyazott program fejlesztéséhez és hibakereséséhez.
- A Debug Cable a beágyazott program letöltésére és hibakeresésére szolgál, és az alapértelmezett az AICE-MINI+; a felhasználóknak maguknak kell megvásárolniuk.
Jegyzet!
- Ha információkat kell kiadnia az UART-on keresztül, akkor UART-USB kábelre van szükség.
- Más perifériákra van szükség.
Fejlesztési és hibakeresési lépések
A GW250A-2C fejlesztői kártyán alapuló RISC-V AE55 MCU fejlesztésének és hibakeresésének alapvető lépései a következők:
- Szoftverek telepítése: A Gowin szoftver az AE250 RTL tervezésének konfigurálására és generálására, valamint a Bitstream generálására szolgál file a tervezésről; Az AndeSight RDS v311 szoftver a beágyazott programok fejlesztésére és hibakeresésére szolgál; más szoftverek és meghajtók is szükségesek a hibakereséshez.
- Konfigurálja a fejlesztőkártya tápellátását és letöltési kábelét. A Bitstream file Az AE250_chip fájl letöltése a fejlesztői kártya FPGA chipjére a Gowin Programmer segítségével, és az AE250 fut a fejlesztői kártyán.
- Nyissa meg az RDS szoftvert új beágyazott projekt létrehozásához vagy egy meglévő projekt megnyitásához kódoláshoz, fordításhoz és egyéb műveletekhez. Csatlakoztassa az AE250 hibakereséshez használt hibakereső kábelt, töltse le a projekt fordítási eredményét az AE250 utasítás memóriájába (ILM), és kezdje el a hibakeresést a chipen.
- A hibakeresés során UART-USB kábellel csatlakoztathatja az AE250 UART interfészét a PC-hez, az RDS beépített soros csatlakozóját pedig a bemeneti és kimeneti műveletek működtetéséhez használhatja. A GPIO segítségével LED-jelzőkhöz, billentyűkhöz vagy külső érintkezőkhöz csatlakozhat bemeneti/kimeneti műveletekhez; I2C, SPI, Ethernet és egyéb perifériák is kiválaszthatók a használatra.
- Az AE250 SPI-n keresztül tud csatlakozni egy Flash-hez, letöltheti a beágyazott program összeállítási eredményét Flash-re a Gowin Programmer segítségével; amikor a chip be van kapcsolva, az AE250 automatikusan beolvassa az SPI Flash beágyazott programot, és elindul. Újra felhasználhatja az FPGA bitfolyamot mentő Flasht; egyesek elmenthetik az FPGA bitfolyamot, mások pedig a beágyazott programok fordítási eredményeit. Ez egy praktikus és gazdaságos módszer.
Lásd a 2. Kábelcsatlakozási utasítások hibakeresési fejezetet
3 Használja az RDS-re vonatkozó utasításokat, és a 4. fejezetben a Referenciatervezés című részt a részletes lépésekért.
Hibakeresési kábelcsatlakozási útmutató
Az RDS + AE250 alapértelmezés szerint AICE-MINI+ hibakereső kábelt használ; a külső a 2-1. ábrán bal oldalon, a csapok pedig a 2-1. ábrán jobb oldalon láthatók. Ez egy 12 tűs interfész. Megjegyzendő, hogy az ábrán az 1. tű üres. A kábel megfelelő csatlakoztatása és az RDS kinyitása után az ábrán sárga dobozzal jelölt piros LED-lámpa kialszik.
2-1. ábra AICE-MINI+ hibakereső kábel és tűi

Az AICE-MINI+ hibakereső kábel tűdefiníciója a 2-1. táblázatban látható. Meg kell jegyezni, hogy az 1. érintkezőt úgy definiáljuk, mint nincs kapcsolat (NC), ami megfelel az üresnek. A VREF-nek egy 3.3 V-os tápcsatlakozót kell csatlakoztatnia, a GND-nek pedig csak a 3-as vagy az 5-ös érintkezőt.
2-1. táblázat: AICE-MINI+ hibakereső kábel tű meghatározása
| Pin szám | AICE-MINI+ hibakereső kábel tű |
| 1 | NC |
| 2 | TSRST_N |
| 3 | GND |
| 4 | TTMS |
| 5 | GND |
| 6 | TCK |
| 7 | VREF |
| 8 | NC |
| 9 | NC |
| 10 | TTRST_N |
| 11 | TTDO |
| 12 | TTDI |
Használati útmutató az RDS-hez
RDS telepítés
Csomagolja ki a telepítőcsomagot, és írja be a Windows/Disk1 parancsot; A telepítéshez kattintson duplán a setup.exe fájlra. A telepítés során nincs szükség speciális beállításokra. A telepítés során egy párbeszédpanel jelenik meg, amely megkérdezi, hogy telepíteni kell-e az illesztőprogramot. Kérjük, válassza az Igen lehetőséget. A telepítés lépéseit lásd
AndeSight_RDS_v3.2_Installation_Guide_UM207_V1.0.pdf, amely a telepítőcsomagban található.
- A telepítési útvonal és a munkaterület elérési útjának beállításakor ne használjon kínai karaktereket vagy szóközt, különben futásidejű hibaüzenetet kap.
- Az RDS jelenlegi verziója alapértelmezés szerint támogatja az AICE-MINI+ kábelt.
- Előfordulhat, hogy a GOWIN Programmer nem tud csatlakozni a fejlesztői kártyához az RDS telepítése után, ami a Gowin Programmer illesztőprogram újratelepítésével javítható.
- A sorozatszámhoz és a tanúsítványhoz files, kérjük, forduljon a Gowin Semiconductor Corp.-hoz.
Hozzon létre egy új projektet
Kattintson File > Új > Projekt > Andes C projekt > Tovább az RDS interfészen, hogy belépjen a New C Project konfigurációs felületére, amint az a 3-1. ábrán látható.
3-1. ábra Új projekt létrehozása

Az új C projekthez a következő paramétereket kell konfigurálni:
- Projekt neve
- Hely: Az alapértelmezett hely az aktuális munkaterület.
- A Connection Configuration beállítása ICE, ami azt jelzi, hogy a fejlesztői kártya ICE hibakereső kábellel csatlakozik. Ha az emulátort tesztplatformként használja, válassza ki az SID-t.
- Chip Pro számárafile, válassza ki az ADP-AE250-N25-GOWIN-t, amely a Gowin FPGA szerint van optimalizálva.
- A projekttípus egy üres projektet és egy Hello World ANSI C projektet tartalmaz.
- A Toolchains esetében az nds32le-elf-mculib-v5m az alapértelmezett.
Új projekt létrehozása után kattintson a jobb gombbal a projekt nevére a Projektböngészőben, a legördülő menüből válassza a Build Project menüpontot, vagy kattintson a „ ” gombra az eszköztáron a projekt összeállításához és összekapcsolásához; válassza a Projekt tisztítása lehetőséget a legördülő menüből, hogy a projekt tiszta legyen.
Projekt importálása és exportálása
Kattintson a jobb gombbal a Project Explorer területére az „Importálás” vagy „Exportálás” kiválasztásához, ahogy a 3-2. ábra mutatja.

3-2. ábra Projekt importálása/exportálása
Kattintson az „Importálás > Általános > Meglévő projekt munkaterületre” elemre a projekt importálásához, és a felület a 3-3. ábrán látható. A „Select root directory” (gyökérkönyvtár kiválasztása) kiválasztásakor importálja a projektet a mappába; amikor az „Archív fájl kiválasztása” lehetőséget választja, importálja a projektet zip-ben.

3-3. ábra Projekt importálása
Válassza az „Exportálás… > Archívum” lehetőséget File” az exportprojekt felület megnyitásához, ahogy a 3-4. ábra mutatja. Az exportálandó projekt, a tömörítési formátum, a mentési útvonal stb. kiválasztása után befejezheti az exportálást.
3-4. ábra Projekt exportálása
Töltse le a programokat a Flash-re
Az AE250 támogatja a Flash-ről indulást, majd SPI interfészen keresztül beolvassa a beágyazott programot a Flash-ről és eltárolja az ILM-ben, majd a beágyazott program lefut. Az ajánlott módszer az SPI Flash újrafelhasználása, amely menti az FPGA bitfolyamot; használja a Flash első felét az FPGA bitfolyam mentésére, a maradékot pedig a bináris mentésére files beágyazott programok.
- Nyissa meg az IP maggenerátort a Gowin Software alkalmazásban, és hívja meg az AE250 RTL paramétereit. Kattintson duplán az SMU-ra az SMU felület megnyitásához, és állítsa be a „System Reset Vector Default” értéket 0x80400000 értékre, a 3-5. ábrán látható módon. Állítsa be az SPI Flash 0~0x400000 területét összesen 4M bájttal a Bitstream mentési címeként; 0x400000-től kezdődően a bináris mentési címeként használatos files beágyazott programok.
3-5. ábra: Rendszer visszaállítása vektor alapértéke

- Kattintson duplán az SPI1 elemre az SPI1 interfész megnyitásához, jelölje be az „SPI1 Support” pontot, és állítsa az „SPI1 Memory Map Space Base Address” elemet 0x80400000 értékre, a 3. ábra szerint 6.
3-6. ábra SPI1 konfiguráció

- Az RTL tervezés fizikai korlátai között az SPI1 interfészt az SPI Flash-hez, az SPI1 interfészt pedig fizikailag korlátozni kell az alábbi táblázat szerint. Különböző FPGA chipek esetén az MSPI interfész elhelyezkedése is eltérő, és a megszorításnak az adott helyzetnek kell lennie.
3-1. táblázat: SPI1 interfész fizikai korlátaiAE250 SPI1 interfész FPGA MSPI interfész CSN MCSN CLK MCLK MISO MSO MOSI MSI - Használja újra az MSPI interfészt normál IO-ként. A Gowin Software „Feldolgozás” ablakában kattintson a jobb gombbal a „Place & Route” elemre, majd a felugró menüben válassza a „Konfiguráció” lehetőséget; válassza a „Kettős célú PIN” fület, és jelölje be a „Használja az MSPI-t normál IO-ként”, majd kattintson az „OK” gombra az elhelyezés és az útválasztás befejezéséhez.
3-7. ábra Állítsa be az MSPI interfészt Normál IO-ra

- Módosítsa a beágyazott program paramétereinek beállításait. Először módosítsa a bootloader paramétereit a linker szkriptben. Mivel a linker szkriptet az AE250 beágyazott programban az SAG automatikusan generálja file, módosítani kell a SAG-ban file. Nyissa meg az ae250.sag-ot, keresse meg a BOOTLOADER-t, és módosítsa a System Reset Vector Default értékre az RTL-ben, a 3-8. ábra szerint. Ezután módosítsa a config.h-t. Nyissa meg az src/bsp/config/config.h fájlt, és keresse meg a makródefiníciót
„BUILD_MODE”, és módosítsa „BUILD_BURN”-ra.
3-8. ábra ae250.sag bootloader Paraméterek beállítása

Jegyzet!
-
- A paraméternek összhangban kell lennie az RTL paraméter System Reset Vector Default értékével.
- Módosítsa a fordítási beállításokat; kattintson a jobb gombbal a beágyazott projekt nevére, válassza a Build Settings menüpontot; válassza az „Objcopy > General” fület, és törölje a „Letiltás” jelölését. (Ne generáljon automatikusan kimenetet file.)
Fordítsa újra a beágyazott programot a bináris létrehozásához files a beágyazott projektből, és töltse le a files SPI Flash 0x400000 címre a Gowin Programmer külső Flash C Bin mód használatával.
Szintetizálja és helyezze el és irányítsa újra a módosított RTL-tervet, majd töltse le SPI Flash 0x000000 címre a Gowin Programmer külső Flash mód használatával.
Hibakeresés a chipen
A fordítás után a beágyazott projekt fordítási eredményei letölthetők a fejlesztői táblára a chipen történő hibakereséshez.
Config.h módosítása; nyissa meg az src/bsp/config/config.h fájlt, és keresse meg a BUILD_MODE makródefiníciót; módosítsa a BUILD_LOAD értékre, és fordítsa újra a beágyazott programot.
Kattintson a jobb gombbal a projekt nevére a Project Explorerben, és a legördülő menüből válassza a „Hibakeresés másként > MCU program” lehetőséget. Első alkalommal egy párbeszédpanel jelenik meg a „Debug Configuration” beállításához, ahogy a 3-9. ábra mutatja.

3-9. ábra Hibakeresési konfigurációk
Az „Indítás” lapon jelölje be a „Reset and Hold” opciót a program leállításához az első utasítás végrehajtása előtt. A beágyazott projekt fordítási eredményeinek letöltéséhez az ILM-be a chipen belüli hibakeresés előtt adja meg a betöltés értéket a paramétermezőben.
A „Futtatási beállítások” részben jelölje be a „Set breakpoint at” pontot. Írjon be egy címkét, például a fő címkét a beviteli mezőbe. Beállíthat egy töréspontot a fő funkció elején. Jelölje be a „Resume”-t, és a chipen belüli hibakeresés belépése után azonnal megkezdi a folyamatos működést.
Az on-chip debug megadásakor automatikusan a hibakeresésre megy view és egy terület jelenik meg a 3-10. ábrán látható módon. Ez a terület a chipen belüli hibakeresés műveleti területe. Néhány hibakeresési gyorsbillentyű a piros mezőben látható. Balról jobbra a DEBUG újraindítását, a futás folytatását, felfüggesztését, befejezését, leválasztását, egy folyamathoz való kapcsolódást, belépést, átlépést, lépésvisszalépést és utasításléptetési módot jelentenek; ebben a módban minden alkalommal, amikor lefuttat egy risc – v összeállítási utasítást, egyébként minden alkalommal, amikor lefuttat egy C utasítást.
Jegyzet!
A szürke ikonok azt jelentik, hogy jelenleg nem érhetők el.
Kattintson duplán a bal oldalra a kódszöveg sorszámán a töréspontok gyors beállításához vagy a töréspontok törléséhez, majd kattintson a jobb gombbal a kódszövegre a „futtatás a sorra” lehetőség kiválasztásához a felugró menüből.
3-10. ábra A hibakereső gombok bemutatása
A 3-11. ábra egy összeállítási utasítások ablaka, amely az ILM-ben valós időben futó összeállítási utasítások tartalmát jeleníti meg.

3-11. ábra Összeszerelési útmutató kód ablak
RDS beépített soros terminál használata
A 3-12. ábra az RDS interfészbe épített UART terminált mutatja. Ha használnia kell, kattintson az „Ablak > Megjelenítés” elemre View > Terminál” a felső menüben a „Terminál” ablak megnyitásához, majd kattintson a „terminál megnyitása” lehetőségre új soros terminál létrehozásához. A portszám beállítása után (ami lehet viewed a hardverkezelőben), az adatátviteli sebességet és egyéb paramétereket, kattintson az „OK” gombra a használat megkezdéséhez.

3-12. ábra RDS beépített soros terminál
A részleteket lásd a dokumentumban
AndeSight_RDS_v3.1_User_Manual_UM170_V1.0.pdf, amely a telepítési könyvtár doc elérési útjában található.
Referencia tervezés
Projekt kód
A kulcs files az AE250 beágyazott projektsablonban a következők:
- src/bsp/ae250/ae250.h: Ez file tartalmazza a rendszeróra-definíciót, a perifériaregiszter-definíciót, a perifériaregiszter-címleképezés-definíciót és a megszakítások forrásszám-definícióját. Az óra definíciójának összhangban kell lennie az AE250 paraméterkonfigurációjával.
- src/bsp/ae250/ae250.c: A reset_handler függvény a beágyazott program elindításához szükséges bejegyzés. A bejegyzésben az UART inicializálást a fő funkció végrehajtása előtt hajtják végre. A szükséges UART portot kiválasztja, és a szükséges adatátviteli sebességet az AE250 paraméterkonfigurációja szerint konfigurálja.
- src/bsp/ae250/interrupt.c: Ez file az AE250 megszakításkezelő funkcióinak meghatározása
- src/bsp/config/config.h: Ez file tartalmazza a makródefiníciót, amely a fordítási módszert vezérli. #define BUILD_MODE definiálható BUILD_LOAD vagy BUILD_BURN. A BUILD_LOAD azt jelenti, hogy a program közvetlenül az ILM-be van betöltve, és általában hibakereséskor használatos. A BUILD_BURN azt jelenti, hogy a program letöltődik az SPI Flash-re, és a program bekapcsolás után először beolvasásra kerül az SPI Flash-ről az ILM-re, majd fut, ami a verziószámú programra vonatkozik.
- Start.S: Az indító file assembly nyelven írva.
- src/bsp/loader.c: rendszerbetöltő file, amely az SPI Flash-ről indul.
- ae250.sag: A Sag a szétszórt és gyűjtő formátumú szkript. Linker szkript létrehozására szolgál. Meg kell jegyezni, hogy az ae250.sag memóriatérkép paramétereinek összhangban kell lenniük az AE250 paramétereivel.
- src/bsp/driver: Ez a könyvtár két mappát tartalmaz, az ae250 az AE250 illesztőprogram kódja, benne az illesztőprogram-funkciók hívási felülete.
- src/bsp/lib: Kettőt tartalmaz files. A printf.c-ben a C szabványkönyvtár alfüggvényének formája újra van definiálva, hogy a printf információkat az UART-on keresztül adja ki. A read.c-ben van egy egyszerű funkció a bemeneti információk UART-on keresztüli olvasására.
Referencia tervezés
A telepítés után több alapvető referenciaterv megtalálható a telepítési könyvtár demó mappájában vagy a referenciaterv zip-ben a webwebhely; a referencia terv betölthető az RDS-be próba, hibakeresés és újrafejlesztés céljából importálás útján. A referenciatervek a következők:
- ae250_demo: Az AE250 UART be-/kimenetét és GPIO kimenetét mutatja be.
- ae250_plic: Bemutatja a megszakításvezérlő válaszát a megszakításokra, és bemutatja a gépi időzítőt és a pit időzítőt.
- ae250_freertos: Azt mutatja, hogy az AE250 portok beágyazva
valós idejű operációs rendszer FreeRTOS többszálú futó program. - ae250_ucosiii: Azt mutatja, hogy az AE250 portok beágyazott valós idejű operációs rendszer uC/OS-III többszálú futó programját tartalmazzák.
Dokumentumok / Források
![]() |
GOWIN FPGA Fejlesztőtábla RISCV programozás [pdf] Felhasználói útmutató FPGA fejlesztő tábla RISCV programozás, kártya RISCV programozás, FPGA fejlesztés RISCV programozás, RISCV programozás, kártya RISCV |





