AdaCore / Ada_Drivers_Library

Ada source code and complete sample GNAT projects for selected bare-board platforms supported by GNAT.
BSD 3-Clause "New" or "Revised" License
240 stars 141 forks source link

How to add support for new devices? #275

Closed gamnes closed 5 years ago

gamnes commented 5 years ago

Is there a step by step guide on how to add support for another architecture/board - say for example the Nordic Semiconductor nRF52832-DK?

How does a user of this library make his own project for his custom board that uses one of the supported architectures?

Fabien-Chouteau commented 5 years ago

Hi @gamnes,

Is there a step by step guide on how to add support for another architecture/board - say for example the Nordic Semiconductor nRF52832-DK?

We do not have such guide for the moment, but here are two documents that can help you understanding the library:

For the nRF52, correct me if I'm wrong but I think that all the variants share the same core and peripherals, only the size of RAM and flash are different. If that's the case, here is the directories that you will have to create and what you should put inside:

We will also ask that you provide an example for a board that uses the nRF52. I think the dev kit is the best option here. That board support will go into boards/nRF52_devkit directory. It doesn't have to cover all the features of the board, a blinky example is good enough.

The last modification will be to add information about the device and the board in the project_wizard and config scripts.

That is quite a lot of info, but remember that it can be done step by step and that we are here to help. So don't hesitate to ask questions or show us your progress.

How does a user of this library make his own project for his custom board that uses one of the supported architectures?

There are two ways:

Best regards,