I think the nRF connect SDK uses RTOS since it is based on Zephyr. Is the Bluetooth SDK using bare metal? What about the Bluetooth Mesh SDK?
Thank you for your time.
I think the nRF connect SDK uses RTOS since it is based on Zephyr. Is the Bluetooth SDK using bare metal? What about the Bluetooth Mesh SDK?
Thank you for your time.
Hi,
You're correct that the nRF Connect SDK uses Zephyr as RTOS. Neither the nRF5 SDK nor the nRF5 SDK for Mesh uses an OS. However, the SDK provides ports for some RTOS, and there's a couple of examples for FreeRTOS.
Please be aware that we have reduced staff due to holiday season, so response time might be slower than normal.
Best regards,
Marte
Hi,
You're correct that the nRF Connect SDK uses Zephyr as RTOS. Neither the nRF5 SDK nor the nRF5 SDK for Mesh uses an OS. However, the SDK provides ports for some RTOS, and there's a couple of examples for FreeRTOS.
Please be aware that we have reduced staff due to holiday season, so response time might be slower than normal.
Best regards,
Marte
Thanks for the response! I have one more question. I've been looking a bit deeper into arm processor bare metal programming, and there is a startup.c file which I used for stack initialization and calling main. Would you call this the bootloader? Or you would never use the term bootloader in this scenario?
No, startup code is only the system initialization code that is required by the firmware. The bootloader is a special firmware to serve to load and start the user firmware. The term bootloader is misused in the sdk. u-boot for example is a real bootloader. It loads the firmware from a selected medium and execute it. A PC Bios is a bootloader. The MBR (Master Boot Record) code in the first sector of the disk is a bootloader. The nordic bootloader on the other hand serves only the purpose of firmware update. It is called a DFU (Device Firmware Update) not a real bootloader.