This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Hello E2E Experts,
Good day.
I am porting simplelink host driver to STM32 baremetal.
After running sl_start(0,0,0) is stuck, even after receiving the interrupt from the CC3135 module.
Because it is baremetal, I don't have a way to run sl_task()
The code is waiting infinitely on semaphore in sl_start.
Regards,
CSC
Hi,
there is a reference with STM (SWRA704). Have you looked into it?
basically, it is best to probe the SPI lines and interrupt line with a logic to see what we get from the chip when it is switched on.
Shlomi
Hello Shlomi,
Good day.
Hi,
So you are not using any OS?
The implementation above is for non-OS case. Just to elaborate, in non-OS, SimpleLink host driver architecture mandate calling 'sl_task' in the application's main loop. The purpose of this call, is to handle asynchronous events and get flow control information sent from the NWP.
The callback is eventually called from the sl_Task() and looks for a spawned entry that is a result of an unsolicited event (like init complete, wlan connected, IP address acquired and so on).
Regards,
Shlomi
Hello Shlomi,
Good day.
Hi,
yes, since there is no rtos you must call sl_Task().
See code snippet from one of the examples.
status = sl_Start(0,0,0); ASSERT_ON_ERROR(status); /* waiting for fast connect proccess to compleate */ sl_Task(NULL); while (!IS_IP_ACQUIRED(PowerMeasure_CB.slStatus)) { sl_Task(NULL); ; }
The SPI data bits used with CC32xx is 32bits and with an external MCU (STM, MSP) is for some reason 8bits, not sure why it was set to 8.
What do you mean by generating the firmware? it is called a servicepack and it needs to be loaded to the device. It is signed by TI and provided as part of the SDK.
Shlomi
Hello Shlomi,
Good day.
Hi,
I don't know of any guidelines for external tool. Since it is CC31xx device, it only requires servicepack and system/configuration files that are flashed via Uniflash. I usually use the external standalone tool to prepare and program the image (and not the CCS or sysconfig). The 8/16/32 bits are set in the platform code (cc_pal.c/h). Or am I missing anything?
Shlomi