Hello,
I am trying to port a Bluetooth example for use with Azure RTOS, but I am having trouble understanding the architecture of the project.
I'm developing on the MIMXRT1170-EVKB SDK and currently looking at the peripheral_ht SDK Example for use with the WIFI_IW416_BOARD_MURATA_1XK_M2 module.
What is the difference between the Ethermind driver and Edgefast?
It looks like most of the core is already abstracted using various OS abstraction layers. Can an OSA layers be used to port the entire project over to AzureRTOS?
Hi, @Kbrannan
Please refer to:
SDK_2_15_000_MIMXRT1170-EVKB\middleware\edgefast_bluetooth\source
This subfolder includes EdgeFast Bluetooth Protocol Abstraction Layer host stack source code based on the Ethermind Bluetooth host stack APIs.
EdgeFast Bluetooth PAL (Protocol Abstraction Layer) uses the ethermind stack as lower layer.
Please refer to:
SDK_2_15_000_MIMXRT1170-EVKB\docs\wireless\bluetooth\edgefast_bluetooth\
There is three files related to Edgefast, and to remind you there is some hardware rework for MIMXRT1170-EVKB and Murata 1XK M.2 Adapter, you can refer to: Hardware Rework Guide for EdgeFast BT PAL.pdf.
About AzureRTOS, please refer to Getting Started with MCUXpresso SDK for Azure RTOS.pdf located in the SDK_2_15_000_MIMXRT1170-EVKB\docs\AzureRTOS\.
Best regards,
Christine.
Hi, I just tried to import the edge fast middleware into the ThreadX example, but I cannot select it from the SDK manager, only the wifi example is supported.
Hi, @Lizardkomodo
Thanks for your reply.
Can you please help to check your SDK version?
Because I am using SDK_2_15_000_MIMXRT1170-EVKB, I can import the edge fast bluetooth middleware into the ThreadX example.
Please see below:
And I also checked SDK_2_14_0_MIMXRT1170-EVK, there is even no edgefast_bluetooth folder under middleware.
So, please help to check your SDK version, and update it the the latest one to have a try.
Best regards,
Christine.
Thank you I am able to see it now with the updated 1.15 MDK. I loaded a new ThreadX Demo Example and imported the Edgefast Bluetooth middleware into it, it seems like it is missing some dependencies upon building. I am also noticing some calls to zephyr. Does the middleware run on Zephyr RTOS? If so then I do not think this will be suitable for my application, which runs on AzureRTOS.
.
Hi, @Lizardkomodo
Thanks for your reply.
I tried on my side locally, but it seems different errors with your side.
Can you please let me know your detailed steps? Like which SDK you are using and, which files did you import to your example?
And are you also using same example(ThreadX_demo) with Kbrannan?
Please let me know your details, so that I can reproduce on my side, and support you better.
Best regards,
Christine.
Yes I am using the same example. Here is what I did.
First I open my IDE.
Then after picking my default workspace I Import an SDK example from the main menu.
I select my board
Then click next to import the threadx example.
After I click on "Finish" the project is in my workspace and I can open it. Now i click on SDK manager to import the middleware.
From here I select the Edgefast Bluetooth Middleware.
A prompt asks me this. to which I click "Yes"
After it has finished loading, then i click to Build the Project.
After the project finishes building I receive multiple errors.
Hi, @Lizardkomodo
Thanks for the detailed steps.
I think we are using different SDK version. You are using SDK V2.15.100 and I am using SDK V2.15.000.
So to reproduce your issue, I will upgrade the SDK version, then share the updates with you.
Best regards,
Christine.
Hi, @Lizardkomodo
I reproduced partially your errors.
To solve the problem, I think you need to import the head files from SDK into your workspace.
You can search the file which not found when build, and search the name in your SDK directory, after found the file location, then copy it into your workspace related location.
I am trying on my local side, too.
Best regards,
Christine.
Hi, I am not sure what you mean by the SDK directory, could you please show me how you managed to fix the errors?
Hi, @Lizardkomodo
Actually I haven't resolved all of the errors on my side.
But there are two ways you can try:
1. According to the errors, copy the needed files from SDK directory to where it requests. I believe you have downloaded our SDK from our website and also imported it to MCUXpresso IDE. You can find where is your SDK, unzip it, and find the needed files by searching the name of related files. But as our experience, directly import the whole edgefast bluetooth middleware to another separate demo example will encounter a lot of errors. And to resolve these compile errors might take a lot of your time.
2. Do not directly import the whole middleware, but only import what you need and add requested files.
This way might be a better way for whom isn't very familiar with the whole code structure.
Why don't you use our default Demo example and do some customized based on it?
Actually it has been out our support, to import some middleware to some demo examples. It is customization part of customers.
Best regards,
Christine.