Popis: |
U ovom radu je prikazana je arhitektura sloja za apstrakciju mikrokontrolera koja omogućava neovisnost o sklopovlju. Postojeći sustavi za apstrakciju nemaju toliku fleksibilnost kada je riječ o korištenom sklopovlju. Najčešći je slučaj da se pod „slojem za apstrakciju mikrokontrolera“ smatra generiranje dijela programske podrške koji pomaže pri bržoj konfiguraciji, no i dalje služi za razvoj programske podrške za određeni mikrokontroler. Slojem BM_HAL za apstrakciju mikrokontrolera omogućava se također izvršavanje aplikacije i u virtualnom okruženju. Prilikom razvoja u aplikacijskom sloju, programer ima mogućnost izbora na kojem sustavu će se izvršavati izvršna datoteka. Pomoću jedne pretprocesorske naredbe odabire se o kojem je sustavu riječ. Trenutno je omogućen rad sa STM32F103C8 mikrokontrolerom te radom u virtualnom okruženju Windows operacijskog sustava. Razvojni inženjer pomoću zajedničkog API-a, naziva BM_HAL, ima mogućnost pisati programski kod bez razmišljanja o fizičkom sloju te kada želi testirati aplikaciju, dovoljno je samo definirati ciljnu platformu. Nakon prevođenja, aplikacija se bez ikakvih dodatnih izmjena može izvršavati na prethodno definiranom željenom sustavu. Osim programske podrške i upravljačkih programa, fizički su napravljena dva sustava sa STM32F103C8 mikrokontrolerima, potrebna za demonstraciju rada apstrakcijskog sloja. Sustavi su spojeni preko uvrnute parice preko koje se odvija komunikacija CAN protokolom. Za potrebe demonstracije rada BM_HAL sloja za apstrakciju, razvijena je i jedna aplikacija sa grafičkim sučeljem putem koje je omogućeno postavljanje virtualnih ulaza i izlaza. This paper presents the architecture of a microcontroller abstraction layer that allows hardware independence. Existing abstraction systems do not have as much flexibility when it comes to the hardware used. The most common case is that the "microcontroller abstraction layer" is considered to generate a piece of software that helps in faster configuration, but still serves to develop software for a particular microcontroller. The BM_HAL layer, developed for microcontroller abstraction, also allows application execution in a virtual environment. When developing in the application layer, the programmer has the ability to choose on which system the executable file will be executed. One preprocessor command selects which system it is. It is currently possible to work with the STM32F103C8 microcontroller and work in the virtual environment of the Windows operating system. A development engineer using a common API, called BM_HAL, has the ability to write program code without thinking about the physical layer, and when he wants to test an application, all he has to do is define the target platform. After compiling, the application can be run on a predefined desired system without any additional changes. In addition to software and drivers, two boards with STM32F103C8 microcontroller, required to demonstrate the operation of the abstraction layer, were made. The boards are connected via a twisted pair through which communication via CAN protocol takes place. For the purpose of demonstrating the operation of the BM_HAL abstraction layer, an application with graphical user interface has been developed, which enables the setting of virtual inputs and outputs. |