Other Parts Discussed in Thread: CC3100,
Hi,
My goal is to port the Simplelink host driver to a STM32 environment running without an OS, in a single threaded mode. I had a previous experience on the CC3100, which went well. However, I'm struggling here with the new SDK.
Based on my knowledge and the several documentation (SWRU455E - Part 16 / SimpleLink_Gen1_to_Gen2_SDK_Migration_Guide.html), I have managed so far:
+ to integrate and build successfully the host driver in my environment
+ obtain a working SPI communication between my processor and the CC3120
+ launch a sl_Start process and receive the started event
For that, I omitted all the Semaphore_ related functions (Semaphore_create_handle, SemaphoreP_delete, ...) which always return success; indeed I thought there were irrelevant for my non-OS implementation.
But after a quick test, I noticed that the Semaphore_ functions are called as soon as the sl_Start function is called !
Contrary to all I have seen in the documentation (see SWRU455E - Part 16.7 "This step is not required if the host application is based on a non-OS environment."), the sl_SyncObj and sl_LockObj are mandatory for the host driver to run properly, even in non-OS, non-multithreaded environment. Which I think is a little bit of a nonsense.
Is there any way to get support on this matter? Or am I missing something in the SDK configuration?
PS: I already went through the SemaphoreP_nortos.c / MutexP_nortos.c files included in the simplelink_msp432p4_sdk to see semaphore/mutex examples, but they are too much hardware dependent to be ported easily. It is a lot more work than I expected reading the docs.
Thanks in advance,
Alain.