Embedded Device Driver Considerations

I want to develop some HALs (Hardware Abstraction Layers) for use in PIC32 and some ARMs.

Basically, I want to make some code that is usually available on the OS, for example, pin sharing, communication libraries, device I / O, etc.

Could you advise me some good books / websites?

I'll start with what I found a few weeks ago: http://www.kalinskyassociates.com/OnLineLearning.html

thanks

+6
source share
2 answers

Have you tried to look at some implementations?

  • eCos has a HAL that has documentation to accept this.
  • eLua also has a HAL that has grown around it to support the platforms on which it runs (ARM, AVR32, etc.)., check the architecture information and the "Platform Interface" and "Common Modules" menus. If you cross out Lua, eLua is essentially a HAL.

There are other examples, but I would recommend looking at examples of examples of cross-platform and cross-platform hardware APIs. In addition, if / when you go and start building interfaces, be sure to study the individual implementations of the platform peripherals before sticking the API. You will find that some interaction models are usually supported on many platforms, while others are very platform specific. If your API assumes that the functionality will always be available, it will be difficult to port to platforms that either do not have or do not support the necessary functionality at all. Sometimes you can get around this in the software with simple solutions, otherwise you may find that it is either impossible or it is terribly difficult to make the behavior consistent across platforms.

+6
source

You can also try looking at the OSEK interface documents. The standard copes with abstraction of access to the most commonly used peripheral devices. However, keep in mind that this is only a specification, and you will have to develop all implementation details.

+1
source

Source: https://habr.com/ru/post/886064/


All Articles