Hey ! I have a quick question about how to properly write a BSP.
I am trying to work with RTEMS on a custom board based on STM32H7; I managed to write a minimal BSP in order to have the console working. (I just copied arm/stm32h7/boards/stm/nucleo-h743zi/ into arm/stm32h7/boards/custom/<my board>/, added a file uart4-cfg.c to reconfigure the uart4 pins, and added my board config and options into spec/build files. Now, the console is working great, so far so good.
Now I am trying to improve my BSP; since I want to handle temperature sensor, I would like to adapt a baremetal 1-Wire driver I developed for this board. That driver is using STM32H7 generic timers (TIMx, in my case I was using TIM4) to be able to wake up after microseconds timings by interrupt to be able to respect 1-Wire timings without polling.
For the moment I thought a bit about the architecture and decided that this driver should remain on top of RTEMS (userspace) which is the cleaner way because then I can just implement a timer driver in my BSP that will have functions init/deinit/fire_after/reset.
My problem is that I don’t really understand how I am supposed to expose new features I implement in my BSP to the userspace. As far as I know I should try to do it using rtems_module_index and then define the timer as a peripheral; but I don’t really understand what are the steps I need to follow to achieve that.
Thanks a lot in advance !