izpis_h1_title_alt

Oddaljeno posodabljanje FPGA mikrokode v napravah z operacijskim sistemom linux
ID URBANČIČ, MARK (Avtor), ID Meža, Marko (Mentor) Več o mentorju... Povezava se odpre v novem oknu

.pdfPDF - Predstavitvena datoteka, prenos (6,84 MB)
MD5: 031539A05D1F48F6AA969758CDD3AF8C

Izvleček
Uporaba FPGA (angl. Field-Programmable Gate Array) je v industriji zelo obsežna, saj njegovo delovanje omogoča zmanjševanje stroškov razvoja specifične strojne opreme. FPGA omogoča posamezno implementacijo sistemske logike in s tem eliminira potrebo po razvoju strojne logike. Celoten proces razvoja je tako hitrejši, cenejši in ima možnost nadgradnje ter spremembe funkcionalnosti. Cilj diplomske naloge se nahaja točno v tej zadnje navedeni prednosti FPGA; nadgradnji mikrokode (angl. Firmware). Omogočilo se bo nadgradnjo mikrokode, brez da se ploščo vpokliče nazaj v podjetje in preko JTAG priključka nadgradi. Izdelava bo omogočila, da se mikrokoda prenese na ploščo, kjer bo aplikacija v Linux operacijskem sistemu opravila nadgradnjo. Za namen diplomske naloge je na voljo več različnih produktov podjetja Kontron, ki vsebujejo FPGA od proizvajalca Lattice Semiconductor. Te so SPI, SPJ, SPK, ter IDS. Imena predstavljajo namen plošče ter njeno generacijo. Na teh ploščah se bo razvil postopek nadgradnje FPGA mikrokode, kjer je potrebno implementirati wishbone protokol, logiko za zapisovanje podatkov in način zaznavanja plošče, ter izbiro pravilne mikrokode za nalaganje. V prihodnosti bo dodana podpora za več produktov podjetja in je tako potrebno kodo napisati na univerzalen način, ki omogoča čim večjo fleksibilnost. Samo zaključno delo se lahko razdeli na tri dele: 1. komunikacija s FPGA, 2. skripta za zagon aplikacije, 3. aplikacija, ki opravi nalaganje nove mikrokode. Poleg glavne funkcionalnosti, nalaganja nove mikrokode, so bile dodane tudi druge funkcije, ki so postale možne z vzpostavitvijo komunikacije CPU – FPGA. Te so: • izpis vsebine FPGA, • verzija trenutne mikrokode FPGA. Rešitev nima možnosti predčasne programske simulacije in je zato vse testiranje izvedeno na strojni opremi, kar nekoliko oteži razvoj kode, saj nedelujoč poizkus rezultira v nedelujoči plošči. Končni rezultat pa je uspešno opravljena nadgradnja FPGA mikrokode iz Linux operacijskega sistema.

Jezik:Slovenski jezik
Ključne besede:FPGA, mikrokoda, Linux, plošča, aplikacija, skripta
Vrsta gradiva:Diplomsko delo/naloga
Organizacija:FE - Fakulteta za elektrotehniko
Leto izida:2023
PID:20.500.12556/RUL-149881 Povezava se odpre v novem oknu
COBISS.SI-ID:165650691 Povezava se odpre v novem oknu
Datum objave v RUL:11.09.2023
Število ogledov:164
Število prenosov:26
Metapodatki:XML RDF-CHPDL DC-XML DC-RDF
:
Kopiraj citat
Objavi na:Bookmark and Share

Sekundarni jezik

Jezik:Angleški jezik
Naslov:Remote FPGA microcode upgrade in Linux-based devices
Izvleček:
The usage of FPGAs (Field-Programmable Gate Array) in common practice in industrial applications as they allow for a reduction in development costs. FPGA enables implementation of system logic and removes the need for custom hardware solutions. This makes development cheaper and makes improving or adding features easier. The goal for the undergraduate thesis is the implementation of a way to enable changes in the FPGA firmware without the need for a recall. The work will allow the firmware to be changed within the Linux operating system which is an improvement form the current way which is to connect the board via a JTAG connector and flash the FPGA that way. This enables a way to remotely upgrade the firmware. For the development of the software the company Kontron has many boards with FPGAs from Lattice Semiconductor. The ones used were SPI, SPJ, SPK and IDS. The names represent the boards use case and its iteration. These boards were used for the development of the software needed for flashing new firmware on the FPGA. To make upgrading the firmware possible it is necessary to implement the wishbone protocol, make an application to write new firmware on to the chip and also a script to detect which board is being used so the correct data gets parsed. Since there are multiple boards the software needs to be as universal as possible to allow for easy porting to other boards in the future. The whole project can be divided into three problems: 1. comunication with the FPGA, 2. a script to start the application, 3. the application which loads the new firmware. Apart from the main feature, loading new firmware, there were also added other features that were enabled by the new software. These are: • reading FPGA contetns, • current version of the FPGA firmware. With the development process there is no way of testing if the software works as intended beforehand. All testing must therefore be done on a live board and a fault in the code usually results in a nonworking board which needs new FPGA software to start working again. The final result is a successful upgrade of the FPGA firmware from inside the Linux operating system.

Ključne besede:FPGA, firmware, Linux, board, application, script

Podobna dela

Podobna dela v RUL:
Podobna dela v drugih slovenskih zbirkah:

Nazaj