v01d opened a new pull request #2735:
URL: https://github.com/apache/incubator-nuttx/pull/2735


   ## Summary
   
   This PR adds support for using Nordic SoftDevice controller (not plain 
SoftDevice), which includes only BLE controller-level code and is much less 
intrusive than plain SoftDevice (it works as a library linkable to main binary 
and offers HCI interface). It requires registering certain interrupts for 
specific peripherals, some of which need to be of high priority. For this 
reason I'm using BASEPRI and IRQ priority support with RAM vectors. 
   
   I tried to follow integration notes detailed here:
   - SDC: 
https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrfxlib/softdevice_controller/doc/softdevice_controller.html
   - MPSL: 
https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrfxlib/mpsl/doc/mpsl.html
   
   I think I'm considering all restrictions, except the fact that for RNG I 
need normal priority interrupt but I'm supposed to not add "extra processing" 
so I'm not sure if NuttX IRQ handling could be problematic there. Also, I used 
a semaphore for protecting calls into SDC, but maybe I also need to disable 
interrupts (not sure).
   
   **STATUS**: Currently this builds and initializes but I'm not getting any 
HCI response so there's something missing. I understand there should be some of 
these interrupts firing but I'm not receiving a call to any handler. I'm not 
sure if I'm doing something wrong or maybe nRF52 needs special code to support 
high priority interrupts. Anyone can have a look at the code and see if there's 
something obvious missing?
   
   I will take care of other styling or architectural improvements once it 
works.
   
   ## Impact
   
   Add feature
   
   ## Testing
   
   Partial. I included a test configuration for NRF52832-MDK board ("sdc"), 
which can be used to easily create a similar configuration for other boards. 
I'm supposedly also supporting 52840 with these changes, so that is also a 
possibility.


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Reply via email to