The TI E2E™ design support forums will undergo maintenance from Sept. 28 to Oct. 2. If you need design support during this time, contact your TI representative or open a new support request with our customer support center.

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.

CC115L: driver code size

Part Number: CC115L
Other Parts Discussed in Thread: MSP430FR2000

Dear all,

We are evaluating on CC113, CC115, MSP430FR2000, now we found the driver code size of CC115L is too large, only involved void cc115LRunTX(void) will take 0.8KB FRAM, can we optimized the code to 0.5KB and put into MSP430FR2000?

Thanks a lot.

 

  • As far as I see you are not writing what the code you want to run should do. What is the wanted functionality? 

  • The function is very simple, just send 1 byte data when CC115L get the order, and the code we use is as below:

    void cc115LRunTX(void)

    {

      // Initialize packet buffer of size PKTLEN + 1

      uint8 txBuffer[PKTLEN+1] = {0};

     

      // Write radio registers

      registerConfig();

     

     // create a random packet with PKTLEN + 2 byte packet counter + n x random bytes

      createPacket(txBuffer);

     

      // write packet to tx fifo

      cc11xLSpiWriteTxFifo(txBuffer,sizeof(txBuffer));

     

     // strobe TX to send packet

      trxSpiCmdStrobe(CC115L_STX);

         }

    Any suggestion on this?

    Thanks.

  • I probably have to get some MSP430 specialists on this but I'm not sure if it's possible to answer the question without doing the optimization effort which require a large opportunity.

    But have you checked how much code space that is free for the function you posted above? I assume that you have to run some setup of the MCU, including setting up the SPI before you call this function. 

    Some questions/ comments:

    - It looks like you want to send a random packet. I would assume you can save code space if you send a fixed packet since then you save a function call (and the space for the function)

    - I would assume that you have to re-write the functions. The SPI functions in the example code is written with more focus on readability than size. Assembly should be considered. 

    - How many registers do you have to write to the CC115L? Fewest possible registers will save space and if you can do it with burst mode I believe you can compact it even more.