CPU core function in BLE componet

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Anonymous
Not applicable

Hello,

There is a "CPU core" function in BLE component of PSoC6. We can select one of three from pull down menu.

The menu below:

   - Single core (Complete Component on CM0+)

   - Single core (Complete Component on CM4)

   - Dual core (Controller on CM0+, Host and Profiles on CM4)

I cannot understand the role of this function. Certainly, there is described about the function in BLE datasheet but if I chose "Dual core (Controller on CM0+, Host and Profiles on CM4), I can assign interrupts of peripheral to CM0+. Also, if I choose "Single core (Complete Component on CM0+)", I can assign interrupt of peripheral to CM4.

By the way, if I chose "Single core (Complete Component on CM0+)" or Dual core (Controller on CM0+, Host and Profiles on CM4), and assign BLE interrupt to CM4, Creator show Error. Therefore, I understood I cannot assign BLE interrupt to other CPU which we chose by pull down menu.

But I cannot understand the description below in Datasheet.

- for Dual core (Controller on CM0+, Host and Profiles on CM4) option – BLE_blless_interrupt on CM0+, other peripheral interrupts on CM4

I can assign other peripheral interrupt such as an external interrupt and TCPWM interrupt to CM0+.

please let me know more details.

Best regards,

0 Likes
1 Solution
Anonymous
Not applicable

Hello,

The function assigns which core will be running the BLE Component (Either controller and host/profiles in one core, or controller in CM0+ and host/profiles in CM4).

The core running the controller must be assigned the BLESS Interrupt. That means in dual core mode, CM0+ must have the interrupt mapped. If the core running the controller doesn't have the BLESS Interrupt, an error should show up telling you to configure it. Please only assign it to the core running the controller.

You can still assign other interrupts (for example PWM) to the core of your choosing. What the datasheet is trying to say is that the core running the Host/Profiles (in dual core mode the CM4) is going to receive/send the BLE data. So if you have other components that need this information, they should be assigned to the CM4 core. (For example: running on dual core mode, you receive a command from the UART component to send something via Bluetooth. It would be easier for the UART component to run on the CM4 core so that the data could be immediately sent).

This is only a recommendation, you can run everything off the CM0+ and share data to the CM4 with IPC or other methods. Also vice-versa.

Regards,

View solution in original post

0 Likes
1 Reply
Anonymous
Not applicable

Hello,

The function assigns which core will be running the BLE Component (Either controller and host/profiles in one core, or controller in CM0+ and host/profiles in CM4).

The core running the controller must be assigned the BLESS Interrupt. That means in dual core mode, CM0+ must have the interrupt mapped. If the core running the controller doesn't have the BLESS Interrupt, an error should show up telling you to configure it. Please only assign it to the core running the controller.

You can still assign other interrupts (for example PWM) to the core of your choosing. What the datasheet is trying to say is that the core running the Host/Profiles (in dual core mode the CM4) is going to receive/send the BLE data. So if you have other components that need this information, they should be assigned to the CM4 core. (For example: running on dual core mode, you receive a command from the UART component to send something via Bluetooth. It would be easier for the UART component to run on the CM4 core so that the data could be immediately sent).

This is only a recommendation, you can run everything off the CM0+ and share data to the CM4 with IPC or other methods. Also vice-versa.

Regards,

0 Likes