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.

CC3220SF-LAUNCHXL: PinMux doesn't exports LSPI if no external SPI is configured

Part Number: CC3220SF-LAUNCHXL
Other Parts Discussed in Thread: CC3220SF

I'm working on a project that uses Wifi and has no SPI bus. From my understanding, I should only need the LSPI bus to access the NWP.

When configuring my project with PinMux Tool, and exporting it, my project build outputs the following errors:

source/ti/drivers/SPI.c:118: undefined reference to `SPI_count'
source/ti/drivers/SPI.c:118: undefined reference to `SPI_config'

It turns out that the exported CC3220SF_LAUNCHXL.c file is missing the LSPI definition.

I also noticed that if I add a "dummy" SPI bus to the PinMux project, this dummy bus is then defined along with the LSPI in C3220SF_LAUNCHXL.c.

My workaround for the moment was to generate the C3220SF_LAUNCHXL.* files with an additional SPI bus, and then edit manually to remove it, preserving only the required LSPI definition.

Apparently it worked.

I have some questions:

1 - Shouldn't LSPI always be defined, even if there's no SPI bus assigned in PinMux Tool project?

2 - Am I doing something wrong? How should I proceed to solve this issue without my workaround?

  • Hi Robim Pacheco,

    There are three SPI modules GSPI, FSPI, and LSPI, but only GSPI is available to be used within your application. For more information on these modules, check out Naveen's answer on the following forum post: e2e.ti.com/.../376323.

    1. CC32xx needs proper SPI configuration/declarations for LSPI and FSPI for external serial flash

    2. I am not too familiar with the PinMux tool, it covers a lot of parts so there may be some device specific features that are left out. The CC32xx SPI will be needed for the reasons mentioned above

    Hope this helps,
    Kevin