Suppose one wishes to write a driver, that is external to the Zephyr "Bootloader" code.
How does one do that?
One solution is to build every possible driver into the Zephyr build, however I don't think they would all fit and if
they did probably would not leave very many resources left for an application. And it would probably not work,
as for example on A portenta H7, you might use any of the current carrier boards/shields and they probably cause conflicts between all such devices.
With the GIGA we currently have most all of the GPIO pins exported. But for example if one looks to maybe port something from MBED, like maybe the ArduCam library. They are addressed using pin names like:
#define DCMI_RESET_PIN (PA_1)
But this at least can currently be addressed by using pin 66...
But currently on the Portenta H7: it wants to use PE_3 which is not included in the current pin table,
which only includes the GPIO pins on the exterior of the H7, and not any of them on the high density
connectors on the bottom of the board (unless of course if they are one of the one on the exterior of the board).
Personally I believe the pin names such as used in the MBED version should be defined and/or those for example
that are defined as part of Micropython, such as shown in the page:
https://docs.arduino.cc/tutorials/portenta-h7/openmv-cheat-sheet/
Should be defined.
For now I will setup and hack up my own implementation. I currently have done that a few times with
Zephyr direct test apps, although to make it easier I modified the device tree overlay. But I am hoping
that we don't have to do that in the future...
Suppose one wishes to write a driver, that is external to the Zephyr "Bootloader" code.
How does one do that?
One solution is to build every possible driver into the Zephyr build, however I don't think they would all fit and if
they did probably would not leave very many resources left for an application. And it would probably not work,
as for example on A portenta H7, you might use any of the current carrier boards/shields and they probably cause conflicts between all such devices.
With the GIGA we currently have most all of the GPIO pins exported. But for example if one looks to maybe port something from MBED, like maybe the ArduCam library. They are addressed using pin names like:
#define DCMI_RESET_PIN (PA_1)But this at least can currently be addressed by using pin 66...
But currently on the Portenta H7: it wants to use PE_3 which is not included in the current pin table,
which only includes the GPIO pins on the exterior of the H7, and not any of them on the high density
connectors on the bottom of the board (unless of course if they are one of the one on the exterior of the board).
Personally I believe the pin names such as used in the MBED version should be defined and/or those for example
that are defined as part of Micropython, such as shown in the page:
https://docs.arduino.cc/tutorials/portenta-h7/openmv-cheat-sheet/
Should be defined.
For now I will setup and hack up my own implementation. I currently have done that a few times with
Zephyr direct test apps, although to make it easier I modified the device tree overlay. But I am hoping
that we don't have to do that in the future...