Hi Dialog,
I've read a old post :
, somebody has upgraded the DA1468x SDK to FreeRTOS 10 from FreeRTOS 8.
If it's true, as we know, the ROM can't be upgraded, does it means the DA1468x BLE stack exists in ROM is a bare program without FreeRTOS?
Some examples in current DA1468x or DA1469X SDKs can't work in some special case, fox example: many advertisers send adverting packets very fast, the scaning procedure will be crashed or hanged.
After debug deeply, we know the bottleneck is the FreeRTOS.
We want to port SDK to a simple SDK without FreeRTOS for high performance, need assume the ROM need no FreeRTOS at first.
比ks, Peter
Keywords:
Device:
Hi Peter Luo,
The ROM includes the BLE stack and the ROM booter. Please see the datashets. There is a bare metal example for the DA1469x. Why don’t you use DA1469x ? The SDK1 is supported as provided with the FreeRTOS. There is not any bare metal example for the DA1468x.
Please also check the below documents:
//www.wsdof.com/sites/default/files/um-b-044-da1468x_software_platform_reference_6v0.pdf
//www.wsdof.com/sites/default/files/um-b-056-da1468x_software_developers_guide_6v0.pdf
比ks, PM_Dialog
Hi Dialog,
The DA1469x is too complicated for our application, and most importantly, a very key DA1468x's feature was removed in DA1469x.
We worry about BLE stack may use some function of FreeRTOS. If it's true, we should overcome more difficulties.
We've already done some inital tests, and get some good progress, still hope to get a clear answer from you.
比ks, Peter
Hi Peter Luo,
As mentioned before, the BLE Stack exists in the ROM Code. If you check the SDK architecture, you will see that the BLE adapter is above the BLE Stack, which implements the interface to the BLE stack. The layer above the BLE adapter, is the BLE Manager which implements the BLE framework. Please see section 7 The BLE Framework um-b-044 document. According to the BLE framework implementation, it’s not possible to have BLE functionality in bare-metal system (without the FreeRTOS). Additionally, please keep in mind the usage of the adapter is recommended in a multithreading environment in a multi-tasking environment, as they will take care of resources between different tasks etc. Adapters also handle power management operations related to the controlled resource, hiding power management details from the application, such as blocking system sleep when the controlled HW resource is busy, or restoring HW configuration upon system wake up. Finally, the bare-metal is only for very simply application - only access to peripherals and not any BLE activity. For example a blinky example. In that case, to access the peripherals you should use the low-level drivers and not the adapters concept.
比ks, PM_Dialog
Hi Dialog,
比ks for your so nice answer!
The documents is very useful too, we've found a solution.
比k you again!
Peter