Tiny Driver Support

From Texas Instruments Wiki
Jump to: navigation, search


CC3000’s new driver has flexible memory compile options.

This feature comes in handy when we want to use a limited RAM size MCU.

Using The Tiny Driver Compilation option will create a tiny version of our host driver with lower data, stack and code consumption.
By enabling this feature, host driver’s RAM consumption can be reduced to minimum of 251 bytes.

The Tiny host driver version will limit the host driver API to the most essential ones.

  • Code size depends on actual APIs used.
  • RAM size depends on the largest packet sent and received.
  • CC3000 can now be used with ultra low cost MCUs, consuming 251 byte of RAM and 2K to 6K byte of code size, depending on the API usage.


This feature is disabled by default.

In order to enable the tiny driver support, add at cc3000_common.h:

#define CC3000_TINY_DRIVER


1. API that are available with Tiny driver version:

WLAN Code Size (Bytes) NETAPP  Code Size (Bytes) BSD SOCKET Code Size  (Bytes) NVMEM  Code Size (Bytes)


     342 netapp_config_mac_adrress      226 socket      126 nvmem_read      132
wlan_start      286 netapp_dhcp      180 closesocket                        76 nvmem_write      206


      50      accept      146 nvmem_set_mac_address      216

(*) wlan_connect

     354     bind      134 nvmem_get_mac_address      140


      40     listen       62 nvmem_write_patch      306
wlan_ioctl_del_profile       54     connect       62     
wlan_set_event_mask      112     select      330     
wlan_ioctl_set_connection_policy      100     getsockopt      126     
wlan_first_time_config_start       32     recv


wlan_first_time_config_stop       28     recvfrom      212     
wlan_first_time_config_set_prefix       80     send       58     
SimpleLink_Init_Start       46     sendto       44     
netapp_config_mac_adrress      226                    

(*) Please Note that wlan_connect() is available but limited to non security connection.

2.  Limited RX and TX transmit data payload:

  • Max RX payload – 8 bytes (+1 magic number )
  • Max TX payload – 8 bytes (+1 magic number )