This Forum warrants a thread specifically for those wishing to use WiFi SoCs and/or WICED SDK/APIs on Linux. So, here it is.
I have been wondering if a Linux port of the WICED SDK exists? Have an email into Broadcom about this and will update this post after I hear from them.
Read an interesting post in this forum (http://community.broadcom.com/message/1447#1447) that WICED SDK was created to deal with "non-Linux" based uCs and O/Ss, pointing out that a opensource Broadcom WiFi Linux Driver already exists (brcmfmac and brcmsmac). This got me thinking.
I was about to try and port the WICED SDK to Raspbian Linux (custom linux distribution for Raspberry Pi EVB which is based on the BCM2835).
Here are some thoughts on what may be to gained from a WICED Linux port versus a standard Linux WiFi SoC driver on a Linux platform:
1) O/S independence for your application code (by using the WWD (WICED WiFi Driver) layer). Then, later on, it would be easier to migrate from Linux to an RTOS of your choosing (FreeRTOS and ThreadX are available by default).
2) Looking at "..Wiced-SDK-2.4.0WICED-SDKDocWICED-SDK-Software-Stack.pdf":
a) Is OTA ("Over The Air" upgrade) suppored with the standard open source Broadcom Linux driver (which the open source community turned into a "brcmfmac" driver for SDIO and USB interfaces)?
b) Do the following WICED APIs (not sure yet if they work through WWD calls) have equivalent Linux APIs/calls?:
Note: I know Linux does have APIs and drivers for all of the following. But, you may have to do extra work to use APIs different than those defined in the WICED SDK?
1. MCU powersave
2. Wi-Fi Powersave (I have heard that the Linux driver has issues with low power stuff, maybe it has been fixed already?)
The WLAN chip requires an external 32kHz sleep clock input during powersave. Platforms that do not support Wi-Fi powersave (per the table above)
are not capable of driving the WLAN sleep clock. An external 32kHz clock is required for these platforms.
3. I2C API
4. ADC/PWM API
Does anyone know if a WICED SDK porting guide exists? If not, I may try and create one and post it.