1
votes

Initially I built the Zephyr bluetooth application for native linux and run it in conjunction with Bluez on a BLE controller.I understand that in this, Linux OS and Bluez are used along with Zephyr host stack.

Now, I have flashed bluetooth application from Zephyr stack (samples/bluetooth/beacon)to NXP board successfully. Here there is no bluez used. For this case, I have a few basic understanding questions: 1. Is the OS functionality also embedded in the bin file that is created after application is compiled. I mean I understand bluetooth stack is Zephyr, but which OS is used on board ? 2. Also, is there any functionality similar to hcitool in Bluez in Zephyr bluetooth stack? 3. Is there any functionality like btmon or hcidump?

1

1 Answers

1
votes

To answer your questions:-

  1. Zephyr is an OS itself - it is a Real-Time Operating System (RTOS) that runs on top of many different types of hardware, just like how Linux is an operating system that runs on top of many different hardware. Zephyr is mainly written in C and under the hood talks directly to the specific processor using its registers and the vendor's stack. You can find a list of all supported boards here.
  2. Not identical to hcitool, but there is an hci layer example that allows you to send raw hci commands. You can find more details on this here and here. At the end of the day, you may not need to use hci because it is a low layer and you can probably achieve the same functionality through higher leve API. All Zephyr's Bluetooth examples can be found here.
  3. Again, nothing like btmon on Linux how you can see the raw HCI packets for each command, but Zephyr does support different Bluetooth logging options depending on the hardware used. More information on this can be found here.

I hope this helps.