How can I read and/or write registers belonging to the Network core from the application core. I would like to do it without modifying the hci_rpmsg that is built by default. Is there a hci api to do this?
How can I read and/or write registers belonging to the Network core from the application core. I would like to do it without modifying the hci_rpmsg that is built by default. Is there a hci api to do this?
Hi,
I am not able to find anything that seems to work the way you want, I believe you will have to modify the hci_rpmsg sample.
Here are some links with relevant info:
https://infocenter.nordicsemi.com/topic/ps_nrf5340/chapters/soc_overview/doc/soc_overview.html?cp=3_0_0_2_0#blockdiagram
Data transfer between APP core and Net core. - Nordic Q&A - Nordic DevZone - Nordic DevZone (nordicsemi.com)
nRF53/nrfx: How to do Inter Processor Communication? - Nordic Q&A - Nordic DevZone - Nordic DevZone (nordicsemi.com)
Access network core registers from app core - Nordic Q&A - Nordic DevZone - Nordic DevZone (nordicsemi.com)
Regards,
Jonathan
Ok, I want to avoid modifying the hci_rpmsg image, I only need to access (read and write) 2 registers:
From FREQUENCY (0x41008508) we need and write FREQUENCY field
and from TXPOWER (0x4100850C) we would like to read and write the TXPOWER field
Is there a way to read/write these parameters using an already existing API?
Hi,
What is the goal, if you could explain what you are trying to to then maybe I could provide some better info. Is the goal to do PHY updates ?
There is a TXPOWER HCI command
https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/zephyr/samples/bluetooth/hci_pwr_ctrl/README.html
Regards,
Jonathan
Hi,
What is the goal, if you could explain what you are trying to to then maybe I could provide some better info. Is the goal to do PHY updates ?
There is a TXPOWER HCI command
https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/zephyr/samples/bluetooth/hci_pwr_ctrl/README.html
Regards,
Jonathan
The device is a medical device, it seems the certification process requires to change these parameters to evaluate the impact on the body. I think in normal operation we won't allow to modify the frequency parameter. so it should be for certification purposes only. Is there a way to change this value with an API like the TXPOWER?
We do have the radio test example, I recommend that you use that.
Radio test — nRF Connect SDK 1.7.0 documentation (nordicsemi.com)
sdk-nrf/samples/peripheral/radio_test at v1.7.0 · nrfconnect/sdk-nrf (github.com)
Regards,
Jonathan
But that replace the entire hci_rpmsg child image, in fact that sample doesn't even use the application core. What we need is to use the current hci_rpmsg image in the network core and add the capabiliy to modify the registers from the Application core.
Where's the hci_rpmsg source code?
How can we create a project that compiles a custom child image?
nvelozsavino said:Where's the hci_rpmsg source code?
zephyr/samples/bluetooth/hci_rpmsg is the location.
nvelozsavino said:How can we create a project that compiles a custom child image?
First, open a command prompt in the build folder of the network sample and enter the following command to erase the flash memory of the network core and program the network sample:
nrfjprog -f NRF53 --coprocessor CP_NETWORK --program zephyr/zephyr.hex --chiperase
Then navigate to the build folder of the application sample and enter the following command to erase the flash memory of the application core and program the application sample:
nrfjprog -f NRF53 --program zephyr/zephyr.hex --chiperase
Finally, reset the development kit:
nrfjprog --pinreset
You can build app core and net core separately and flash with nrfjprog.
Regards,
Jonathan