« Close

Datasheets and User Guides

Software & Driver

 

4.4 RAM [T-Series Datasheet]

Overview

Maximum system RAM: 64 KB

When enough RAM is allocated, the next attempt to allocate RAM will fail with the error SYSTEM_MEMORY_BEREFT (errorcode: 2400).

If SYSTEM_MEMORY_BEREFT is occurring, your application must either use smaller amounts of RAM or free previously allocated RAM. Some common things to try:

  • To free allocated stream RAM, stop stream. To use less stream RAM, use a smaller STREAM_BUFFER_SIZE_BYTES and/or smaller STREAM_OUT#(0:3)_BUFFER_ALLOCATE_NUM_BYTES
  • To free other allocated RAM:
    • Write 0 LUA_RUN
    • Write 0 USER_RAM_FIFO#(0:3)_ALLOCATE_NUM_BYTES
    • Write 0 AIN#(0:149)_EF_INDEX

RAM-Allocating Registers

The below registers allocate system RAM (and may return SYSTEM_MEMORY_BEREFT):

Stream
Name Start Address Type Access
STREAM_ENABLE 4990 UINT32 R/W    
STREAM_OUT#(0:2)_ENABLE 4090 UINT32 R/W    

STREAM_BUFFER_SIZE_BYTES does not allocate RAM, but it does set the amount of RAM allocated by STREAM_ENABLE. LJM_eStreamStart writes to STREAM_ENABLE.

Similarly, STREAM_OUT#(0:3)_BUFFER_ALLOCATE_NUM_BYTES does not allocate RAM, but sets the amount of RAM allocated by STREAM_OUT#(0:3)_ENABLE.

Lua
Name Start Address Type Access
LUA_RUN 6000 UINT32 R/W    
LUA_SOURCE_SIZE 6012 UINT32 R/W    
LUA_DEBUG_ENABLE 6020 UINT32 R/W    

Lua scripts dynamically allocate RAM.

User
Name Start Address Type Access
USER_RAM_FIFO#(0:2)_ALLOCATE_NUM_BYTES 47900 UINT32 R/W    

AIN Extended Features
Name Start Address Type Access
AIN#(0:148)_EF_INDEX 9000 UINT32 R/W    
AIN#(0:148)_EF_READ_A 7000 FLOAT32 R    

File I/O
Name Start Address Type Access
FILE_IO_PATH_WRITE_LEN_BYTES 60640 UINT32 W    

SPI
Name Start Address Type Access
SPI_GO 5007 UINT16 W    

Serial
Name Start Address Type Access
ASYNCH_NUM_BYTES_TX 5440 UINT16 R/W    
ASYNCH_ENABLE 5400 UINT16 R/W