Example Summary

This example is intended to show how an application can use the S2R RAM (Samples to RAM RAM) for extra scratch memory, and highlight some of the limitations of using S2R RAM.

Peripherals & Pin Assignments

When this project is built, the SysConfig tool will generate the TI-Driver configurations into the ti_drivers_config.c and ti_drivers_config.h files. Information on pins and resources used is present in both generated files. Additionally, the System Configuration file (*.syscfg) present in the project may be opened with SysConfig’s graphical user interface to determine pins and resources used.

BoosterPacks, Board Resources & Jumper Settings

For board specific jumper settings, resources and BoosterPack modifications, refer to the Board.html file.

If you’re using an IDE such as Code Composer Studio (CCS) or IAR, please refer to Board.html in your project directory for resources used and board-specific jumper settings.

The Board.html can also be found in your SDK installation:

<SDK_INSTALL_DIR>/source/ti/boards/<BOARD>

Example Usage

The connection will have the following settings:

    Baud-rate:     115200
    Data bits:          8
    Stop bits:          1
    Parity:          None
    Flow Control:    None

Run the example.

The following is the expected example output.

Starting the s2rram example
Writing 0xAA to all bytes in S2R RAM buffer.
Verifying S2R RAM buffer after sleeping...
Verification was successful.
Writing 0x55 to all bytes in S2R RAM buffer.
This is a dummy operation that puts the device into Idle but not STANDBY.
It could be any operation that is known not to put the device in STANDBY.
For example a SPI transaction, crypto operation, etc.
Verifying S2R RAM buffer after performing dummy operation...
Verification was successful.

Application Design Details

The S2R RAM is intended for the S2R LRFD module, which for example is used for Channel Sounding. If however the S2R module is not used, the application can use the S2R RAM as additional scratch memory. There are some important limitations described in the list below:

The TI provided linker files has memory regions defined for the S2R RAM, and the .s2rram section is placed in this memory region. To place a symbol in S2R RAM the application must place that symbol in the .s2rram section using compiler attributes. As mentioned above, no initialized data can be placed in S2R RAM, so only uninitialized data may be placed in the .s2rram section. Additionally data placed in .s2rram will not be auto zero-initialized.

The above mentioned limitations and requirements are handled in the example application. The key aspects are described in the list below.

FreeRTOS: