Memory Map – Firmware FBxx

Technosoft drives/motors works with 2 separate address spaces: one for TML programs and the other for data.  Each space accommodates a total of 64K 16-bit word.

The first 16K of the TML program space (0 to 3FFFh) is reserved and can’t be used. The next 16K, from 4000h to 7FFFh are mapped to a serial SPI-connected EEPROM with the maximum size 32K bytes (seen as 16K 16-bit words). The exact amount of EEPROM memory is specific for each drive/motor. This space is used to store TML programs, cam tables, the setup data and the product ID.

The recommended way to use the EEPROM memory space is:

TML programs from the beginning of the EEPROM, starting with first address 4000h
Cam tables, after the TML program, until the beginning of the setup data
Setup data and product ID. Other data until the end of the EEPROM

Remarks:

The space needed for the setup data and the product ID is automatically computed by EasyMotion Studio
The overall dimension of a TML program includes apart from the main section, the TML interrupt vectors table, the interrupt service routines (ISRs) for the TML interrupts and the TML functions

For most of the Technosoft drives/motors, the next 4K of the TML program space, from 9000h to 9FFFh, represents the drive/motor internal RAM memory. The memory space may be used to temporary store TML programs.

The data memory space is used to store the PVT buffer, the cam tables during runtime (after being copied from the EEPROM memory) and for data acquisitions. The TML data are stored in a reserved area, while the others are using the same internal RAM memory used for TML programs.

Remark: As the same RAM memory is used both for TML programs and for data, it is the user responsibility to decide how to split these spaces in order to avoid their overlap.

The recommended way to use the RAM memory (both for TML programs and data) is:

TML programs from the beginning of the SRAM memory
Data acquisitions, after the TML programs
Cam tables, after data acquisitions, until the end of the RAM

You should start by checking if or how much space you need to reserve for cam tables, and use the rest of the SRAM for data acquisitions. As concerns the TML programs, it is highly preferable to store them in the EEPROM.

Remark: In configurations with feedback devices like the SSI or EnDat encoders, the TML programs must execute from SRAM memory. This is because these feedback devices are using the same SPI interface to read the feedback position like the EEPROM, which is disabled after the execution of ENDINIT command. Therefore, at power-on, the TML program needs to be copied from the EEPROM into the RAM where it is executed

MemoryMap_MC3

 

Basic Concepts next topics:

AUTORUN mode

 

See also:

Basic Concepts

TML Description