1The SimpleLink SDKs provide peripheral driver and WiFi libraries 2and hardware register access header files for the Texas Instruments 3SimpleLink SoCs. 4 5For an explanation of the SimpleLink family SDK directory structure, see: 6http://dev.ti.com/tirex/content/simplelink_cc32xx_sdk_2_40_01_01/docs/simplelink_mcu_sdk/Users_Guide.html#directory-structure 7 81. CC13x2/26x2 SDK 9 10The current version supported in Zephyr is the SimpleLink CC13x2 and CC26x2 SDK 114.40.04.04, downloaded from: 12 13 http://www.ti.com/tool/simplelink-cc13x2-26x2-sdk 14 15The driver library source is copied from the SDK, as follows: 16 17 EXT_DIR=$HOME/hal_ti/simplelink/source/ti 18 pushd simplelink_cc13x2_26x2_sdk_4_40_04_04/source/ti 19 find devices/cc13x2_cc26x2/{driverlib,inc,rf_patches} -depth -name '*.[c|h]' -print0 | cpio --null -pvdm $EXT_DIR 20 find devices/cc13x2_cc26x2/startup_files -depth -name ccfg.c -print0 | cpio --null -pvd $EXT_DIR 21 cp -r drivers/power/* $EXT_DIR/drivers/power/. 22 mkdir $EXT_DIR/drivers/temperature 23 cp -r drivers/temperature/* $EXT_DIR/drivers/temperature/. 24 cp drivers/Temperature.* $EXT_DIR/drivers/. 25 mkdir $EXT_DIR/drivers/rf 26 cp drivers/rf/RF.h $EXT_DIR/drivers/rf/. 27 cp drivers/rf/RFCC26X2.h $EXT_DIR/drivers/rf/. 28 cp drivers/rf/RFCC26X2_multiMode.c $EXT_DIR/drivers/rf/. 29 find $EXT_DIR/devices/cc13x2_cc26x2 -name '*.[c|h]' -exec dos2unix {} \; 30 find $EXT_DIR/drivers/power -name '*.[c|h]' -exec dos2unix {} \; 31 find $EXT_DIR/drivers/rf -name '*.[c|h]' -exec dos2unix {} \; 32 find $EXT_DIR/drivers/temperature -name '*.[c|h]' -exec dos2unix {} \; 33 popd 34 35Afterwards, search through the `git diff` for the 'Zephyr' word in comments and 36reapply specific patches. 37 38The source file devices/cc13x2_cc26x2/startup_files/ccfg.c has been 39modified to use the appropriate sections when linking. 40 41TI provides the driver library functions burned into ROM at the factory, 42or updated via a service pack patch, thus saving application code space. 43 44After setting CONFIG_HAS_CC13X2_CC26X2_SDK=y in Kconfig, most of the 45peripheral driver library functions will be accessible from ROM. 46 472. CC32xx SDK 48 49The current version supported in Zephyr is the SimpleLink CC32xx SDK 504.10.00.07, downloaded from: 51 52 http://www.ti.com/tool/download/simplelink-cc32xx-sdk 53 54Source files from select subdirectories are copied from the 55source/ti/ subdirectory of the SDK installation, as follows: 56 57 EXT_DIR=$HOME/hal_ti/simplelink/source/ti 58 find devices -not -path '*/\.*' -name '*.[c|h]' | \ 59 cpio -pdm $EXT_DIR 60 find drivers -name '*.[c|h]' | \ 61 cpio -pdm $EXT_DIR 62 find net -maxdepth 1 -name '*.[c|h]' | cpio -pdm $EXT_DIR 63 cd $EXT_DIR 64 find . -name '*.[c|h]' -exec chmod 664 {} \; 65 find $EXT_DIR/devices/cc32xx -name '*.[c|h]' -exec dos2unix {} \; 66 find $EXT_DIR/drivers -name '*.[c|h]' -exec dos2unix {} \; 67 68When updating to a new SDK, a comparison of the files in the 'devices' 69and 'drivers' directories as copied above should be performed to pick up 70any new changes. Header files in source/ti/drivers/dpl should also be 71compared, both to pick up new changes and to ensure any modifications 72that were previously made are kept in place after the update if 73appropriate. 74 75In addition, some files in the source/ti/drivers/net/wifi/porting 76directory may need to be updated: notably user.h, cc_pal.c and cc_pal.h. 77Files in kernel/zephyr/dpl copied verbatim from kernel/nortos/dpl in the 78SDK, such as QueueP.h, QueueP_nortos.c and SwiP_nortos.c, should be 79compared to see if new changes have been introduced. 80 81Note: TI provides the driver library functions burned into ROM at the factory, 82or updated via a service pack patch, thus saving application code space. 83 84Calling driverlib APIs prefixed by "MAP_" will vector to those functions 85already existing in ROM. 86 87After setting CONFIG_HAS_CC3220SDK=y in Kconfig, most of the 88peripheral driver library functions will be accessible from ROM, 89except for some functions in the following modules, which are 90compiled in the Kbuild file: 91- driverlib/pin.c 92- driverlib/utils.c 93- driverlib/prcm.c 94 95Setting CONFIG_SIMPLELINK_HOST_DRIVER=y builds the SimpleLink Host 96Driver, which communicates over dedicated SPI to the 97network coprocessor. 98 992. MSP432 SDK 100 101The current version supported in Zephyr is MSP432 SDK V1.50.00.12, downloaded 102from: 103 104 http://www.ti.com/tool/simplelink-msp432-sdk 105 106Files in source/ti/devices/msp432p4xx/driverlib/ and inc/ are copied from 107a Linux SDK installation (without modification). 108 109TI provides the driver library functions burned into ROM at the factory, 110or updated via a service pack patch, thus saving application code space. 111 112Calling driverlib APIs prefixed by "MAP_" will vector to those functions 113already existing in ROM. 114 115After setting CONFIG_HAS_MSP432P4XXSDK=y in Kconfig, most of the 116peripheral driver library functions will be accessible from ROM. 117