GithubHelp home page GithubHelp logo

matheussmachado / ambiente-para-desenvolvimento-de-hal Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 33 KB

Repositório para estudo de implementação de uma camada de abstração de hardware em sistemas embarcados.

C 97.30% Makefile 2.70%

ambiente-para-desenvolvimento-de-hal's Introduction

AMBIENTE PARA DESENVOLVIMENTO DE HARDWARE ABSTRACTION LAYER

Sobre

Este projeto consiste no estudo de técnicas de desenvolvimento de um projeto de software embarcado, cujo objetivo é tornar a lógica da aplicação embarcada separada e independente de um microcontrolador em específico. Portanto, o proprósito deste repositório é servir de recursos para idealização e experimentação de práticas para implementação de uma camada de abstração de hardware no contexto de sistemas embarcados.

Desta forma, uma vez abstraída a utilização dos recursos de hardware necessário no código da aplicação, a ideia é que uma camada de abstração de hardware (HAL) seja implementada sob demanda, para atender aos serviços de hardware que o código da aplicação requisita. Com isso, a concretização deste sistema é que a aplicação dependa de uma interface e a camada de abstração de hardware implemente esse interface, escondendo as complexidades e especificídades de qualquer microcontrolador da lógica que rege o projeto da solução embarcada.

image

Sendo assim, a aplicação interage apenas com a interface, desconhecendo em qual o microcontrolador que está sendo executada. Portanto, a implementação da HAL, nesse contexto, é uma adaptação dos drivers de um microcontrolador específico para a realidade que a aplicação necessita. Deste modo, essa separação torna a solução apta para rodar em outros hardwares, trocando apenas o adaptador que implementa a HAL para o microcontrolador em questão. Neste sentido, a intenção é que a solução não tenha que se adaptar ao hardware, mas sim que um adaptador realize essa conexão entre o software da aplicação e o firmware do microcontrolador.

O projeto de estudo inicialmente utiliza o microcontrolador ATmega328p, com o auxílio de ferramentas de simulação. Deste modo, é possível obter um feedback que irá viabilizar a implementação das práticas em um projeto físico e com outros microcontroladores.

ambiente-para-desenvolvimento-de-hal's People

Contributors

matheussmachado avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.