Näytä suppeat kuvailutiedot

Design and Implementation of Real-Time Operating System

Dounaev, Pavel (2021)

dc.contributor.authorDounaev, Pavel
dc.date.accessioned2021-05-26T11:39:49Z
dc.date.available2021-05-26T11:39:49Z
dc.date.issued2021-
dc.identifier.urihttp://www.theseus.fi/handle/10024/499560
dc.description.abstractOpinnäytetyön tavoitteena oli dokumentoida reaaliaikaisen käyttöjärjestelmän suunnitte­lu ja toteutus ARM CortexM3­prosessorille. Käyttöjärjestelmä suunniteltiin ja toteutettiin asetettujen vaatimuksien mukaan. Toteutetun käyttöjärjestelmän oli mahduttava mikro-ohjaimen rajalliseen Flash­ muistitilaan, mutta samalla sisältävän riittävästi ominaisuuksia, jotta käyttöjärjestelmä voitaisiin luokitella reaaliaikaiseksi moniajokäyttöjärjestelmäksi. Käyttöjärjestelmän kehittämiseen sisältyi CortexM3-prosessorin käyttöjärjestelmä tuen tutkiminen, jota käytettiin käyttöjärjestelmän ominaisuuksien toteuttamiseen. Käyttöjärjestelmän kehittäminen oli toteutettu CortexM3­prosessoriin pohjautuvalla NXPLPC1549­kehityskortilla. Käyttöjärjestelmän pienen ko­on saavuttamiseksi käyttöjärjes­telmä suunniteltiin lisäkerrokseksi mikro­ohjaimen ohjelmistopinoon. Käyttöjärjestelmän moniajo saavutettiin toteuttamalla mekanismi, joka jakaa sovelluksen useaan pieneen yksikköön, taskiin, joita käyttöjärjestelmä hallitsee ja ajoittaa suoritusta ajoitusalgoritmin mukaan. Ajoitusalgoritmiksi suunniteltiin prioriteettipohjainen roundrobin­algoritmi, joka mahdollisti tärkeimmän taskin suorituksen sovelluksen suorituksen aikana. Noudattamalla muita annettuja vaatimuksia, synkronointi ja taskien välisiä viestintäominaisuuksia toteutettiin semafori­, mutex­ ja postilaatikko primitiiveillä. Kehitetystä käyttöjärjestelmästä tuli yksinkertainen, mutta pieni ja käytännöllinen. Käyttöjärjestelmistä, käyttöjärjestelmien teoriasta ja toteutuksista kiinnostunut henkilö voi käyt­tää kehitettyä käyttöjärjestelmää käytännöllisenä esimerkkinä yksinkertaisesta käyttöjärjestelmästä syvempää analysointia ja oppimista varten. Kehitettyä käyttöjärjestelmää voidaan jatkokehittää toteuttamalla puuttuvat vaatimukset ja myös laajentaa lisäominaisuuksilla käyttöjärjestelmän turvallisuuteen ja skaalautuvuuteen. Käyttöjärjestelmän lähde koodi on saatavilla Git­ohjelmavarastosta: https://github.com/dounpav/pavOSfi
dc.description.abstractThe objective of this project was to document the design and implementation of a Real-Time Operating System (RTOS) for the ARM Cortex­M3 processor. A set of requirements was set for the RTOS. The RTOS needed to be small enough to fit a microcontroller’s Flash memory but also provide enough features so the RTOS could be considered as a multitasking RTOS. The development of the RTOS also included exploring Cortex-M3 processor’s Operating System (OS) support that was utilized to implement the OS features. To develop the RTOS for the Cortex-M3 processor, a Cortex-M3 based NXP LPC1549 microcontroller board was chosen. To keep the size of the RTOS small, it was designed to be an additional layer in the microncontroller’s software stack. The multitasking was achieved by allowing the application to be split into multiple units known as tasks, which the RTOS manages and schedules for the execution. The implemented RTOS was designed to use priority based round-robin scheduling as its scheduling algorithm for the scheduling tasks, which allowed the system to execute the most important tasks at any given time. To further follow the set requirements, synchronization and inter­task communication features were implemented with semaphore, mutex and mailbox primitives to be used by these tasks. A simple but yet small and practical RTOS was achieved. It can be used and analyzed by anyone interested in OSs or anyone who needs a reference about implementing one for the Cortex-­M3 processor. The developed RTOS can further be developed to complete missing requirements and also add additional features that would increase its security and its scalability.en
dc.language.isoeng-
dc.rightsfi=All rights reserved. This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.|sv=All rights reserved. This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.|en=All rights reserved. This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.|-
dc.titleDesign and Implementation of Real-Time Operating System-
dc.type.ontasotfi=AMK-opinnäytetyö|sv=YH-examensarbete|en=Bachelor's thesis|-
dc.identifier.urnURN:NBN:fi:amk-2021052611359-
dc.subject.specializationÄlykkäät järjestelmät ja ohjelmistot-
dc.subject.degreeprogramfi=Tieto- ja viestintätekniikka|sv=Informations- och kommunikationsteknik|en=Information and Communications Technology|-
dc.subject.ysoprocessors-
dc.subject.ysosoftware development-
dc.subject.ysomicrocontrollers-
dc.subject.ysoprogramming-
dc.subject.ysosoftware design-
dc.subject.disciplineTieto- ja viestintätekniikan tutkinto-ohjelma-
annif.suggestions.linkshttp://www.yso.fi/onto/yso/p10874|http://www.yso.fi/onto/yso/p2407|http://www.yso.fi/onto/yso/p21530|http://www.yso.fi/onto/yso/p14524|http://www.yso.fi/onto/yso/p25316|http://www.yso.fi/onto/yso/p4887|http://www.yso.fi/onto/yso/p27066|http://www.yso.fi/onto/yso/p5461|http://www.yso.fi/onto/yso/p22076|http://www.yso.fi/onto/yso/p18792en


Tiedostot

Thumbnail

Viite kuuluu kokoelmiin:

Näytä suppeat kuvailutiedot