Linux enriched design in second generation WARP
Niemelä, Jaakko (2013-04-29)
Niemelä, Jaakko
J. Niemelä
29.04.2013
© 2013 Jaakko Niemelä. Tämä Kohde on tekijänoikeuden ja/tai lähioikeuksien suojaama. Voit käyttää Kohdetta käyttöösi sovellettavan tekijänoikeutta ja lähioikeuksia koskevan lainsäädännön sallimilla tavoilla. Muunlaista käyttöä varten tarvitset oikeudenhaltijoiden luvan.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:oulu-201305131222
https://urn.fi/URN:NBN:fi:oulu-201305131222
Tiivistelmä
In this thesis, it is shown how the Linux system was ported to the second generation wireless open access research platform (WARPv2) board. The purpose of the port was to extend the features of the WARPv2 board by producing a versatile standalone system that allows to run custom software on it. The Linux enriched design in WARPv2 also offers a controllable communication system by implementing all layers of the network architecture. Linux was chosen for the operating system for this work, because it is open source, which means it is easy to modify for different purposes. Moreover, Linux is well documented and it has wide software support.
The Linux system was combined with the radio communication system provided by Rice University, USA. The field-programmable gate array (FPGA) hardware design was created for this combination and needed software of the system was defined and implemented. The developed system consisted of the Linux side and the MAC side. These sides implemented all layers of the network architecture. Both sides employed a dedicated processor core of the FPGA. Interprocessor communication between Linux and MAC sides was implemented to allow Linux to control the whole system. Two Linux kernel drivers were written to use interprocessor communication hardware. The setup process of the developed system was mitigated by writing several scripts.
The developed system was tested, verified and analyzed to confirm that the implementation is valid and consistent. Several test cases were created for this purpose. Test cases were divided into two parts: hardware tests and performance tests. Hardware tests verified that the FPGA hardware design of the system was workable and fulfilled the requirements. Performance tests confirmed that the performance of the system was sufficient. Tässä työssä sovitettiin Linux-järjestelmä langattomalle kehitysalustalle (WARPv2). Sovitus tehtiin, jotta kehitysalustasta saataisiin monipuolinen ja itsenäinen. Lisäksi sovitus mahdollisti omien ohjelmien ajon alustalla sekä verkkoarkkitehtuurin kaikkien kerrosten hallittavuuden. Linux valittiin tämän työn käyttöjärjestelmäksi, sillä sen lähdekoodi on avoimesti saatavilla ja täten helposti muokattavissa eri tarkoituksiin sopivaksi. Linux on myös hyvin dokumentoitu ja sille on saatavilla runsaasti sovelluksia.
Linux-järjestelmä yhdistettiin yhdysvaltalaisen Ricen yliopiston kehittämään langattomaan tiedonsiirtototeutukseen. Kehitysalustan FPGA-piirille suunniteltiin tälle yhdistelmälle sopiva laitteistototeutus ja tarvittavat ohjelmistot määriteltiin ja liitettiin mukaan järjestelmään. Kehitetty järjestelmä koostui Linuxosasta ja MAC-osasta. Nämä osat toteuttivat verkkoarkkitehtuurin kaikki kerrokset. Molemmille osille oli osoitettu oma suoritin FPGA-piiriltä. Linux- ja MAC-osan välille toteutettiin tiedonvälitysmekanismi, jotta Linux kykenisi hallitsemaan koko järjestelmää. Lisäksi Linuxille kirjoitettiin kaksi laitteistoajuria Linux- ja MAC-osien välisen tiedonvälityksen mahdollistamiseksi. Järjestelmän käyttöönoton helpottamiseksi kirjoitettiin useita komentosarjoja.
Kehitetty järjestelmä testattiin, todennettiin ja analysoitiin järjestelmän toimivuuden varmistamiseksi. Testausta varten kehitettiin useita testitapauksia. Testaus koostui kahdesta osasta: laitteistotestauksesta ja suorituskykytestauksesta. Laitteistotestauksessa todennettiin laitteiston vaatimusten mukainen toiminta, kun taas suorituskykytestaussa varmistettiin suorituskykyvaatimusten täyttyminen.
The Linux system was combined with the radio communication system provided by Rice University, USA. The field-programmable gate array (FPGA) hardware design was created for this combination and needed software of the system was defined and implemented. The developed system consisted of the Linux side and the MAC side. These sides implemented all layers of the network architecture. Both sides employed a dedicated processor core of the FPGA. Interprocessor communication between Linux and MAC sides was implemented to allow Linux to control the whole system. Two Linux kernel drivers were written to use interprocessor communication hardware. The setup process of the developed system was mitigated by writing several scripts.
The developed system was tested, verified and analyzed to confirm that the implementation is valid and consistent. Several test cases were created for this purpose. Test cases were divided into two parts: hardware tests and performance tests. Hardware tests verified that the FPGA hardware design of the system was workable and fulfilled the requirements. Performance tests confirmed that the performance of the system was sufficient.
Linux-järjestelmä yhdistettiin yhdysvaltalaisen Ricen yliopiston kehittämään langattomaan tiedonsiirtototeutukseen. Kehitysalustan FPGA-piirille suunniteltiin tälle yhdistelmälle sopiva laitteistototeutus ja tarvittavat ohjelmistot määriteltiin ja liitettiin mukaan järjestelmään. Kehitetty järjestelmä koostui Linuxosasta ja MAC-osasta. Nämä osat toteuttivat verkkoarkkitehtuurin kaikki kerrokset. Molemmille osille oli osoitettu oma suoritin FPGA-piiriltä. Linux- ja MAC-osan välille toteutettiin tiedonvälitysmekanismi, jotta Linux kykenisi hallitsemaan koko järjestelmää. Lisäksi Linuxille kirjoitettiin kaksi laitteistoajuria Linux- ja MAC-osien välisen tiedonvälityksen mahdollistamiseksi. Järjestelmän käyttöönoton helpottamiseksi kirjoitettiin useita komentosarjoja.
Kehitetty järjestelmä testattiin, todennettiin ja analysoitiin järjestelmän toimivuuden varmistamiseksi. Testausta varten kehitettiin useita testitapauksia. Testaus koostui kahdesta osasta: laitteistotestauksesta ja suorituskykytestauksesta. Laitteistotestauksessa todennettiin laitteiston vaatimusten mukainen toiminta, kun taas suorituskykytestaussa varmistettiin suorituskykyvaatimusten täyttyminen.
Kokoelmat
- Avoin saatavuus [30036]