STM32H7 based board custom BSP

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 !

I would make the BSP support the clock driver, ensure that “ticker.exe” works on the BSP. This should be enough to get you able to use API facilities that already exist for these purposes using a task to encapsulate your 1-wire driver.