vector.com|Contact
Search tips

apple banana
Find rows that contain at least one of the two words.

+apple +juice
Find rows that contain both words.

+apple macintosh
Find rows that contain the word 'apple', but rank rows higher if they also contain 'macintosh'.

+apple -macintosh
Find rows that contain the word 'apple' but not 'macintosh'.

+apple ~macintosh
Find rows that contain the word 'apple', but if the row also contains the word 'macintosh', rate it lower than if row does not. This is "softer" than a search for '+apple -macintosh', for which the presence of 'macintosh' causes the row not to be returned at all.

+apple +(>turnover >strudel)
Find rows that contain the words 'apple' and 'turnover', or 'apple' and 'strudel' (in any order), but rank 'apple turnover' higher than 'apple strudel'.

apple*
Find rows that contain words such as 'apple', 'apples', 'applesauce', or 'applet'.

"some words"
Find rows that contain the exact phrase 'some words' (for example, rows that contain 'some words of wisdom' but not "some noise words").

By continuing to use this site you agree to the use of cookies. For more information and to find out how to change this click here. Accept Cookies
Please enable cookies in your browser for this website.
Search:
Advanced search

CANape Device Configuration: Memory Segment Listing

Last updated: 2020-05-13
Question:

When selecting an XCP device in CANape device configuration, the tree element Memory Segment is shown. How can the entry of a segment be interpreted within the grid?

Answer:

Basically, the grid shows all memory segments that can be read from the A2L file. It is possible to filter the elements by selecting Calibration data, Calibration data and code or All segments. For calibration purposes only those memory segments are relevant that are listed if Calibration data is selected. The memory segment definition is not regarded for flashing procedures.

Background:

Here is a wrap up concerning the usage of a memory segment in the A2L for defining the relationship between flash and ram parameters.

First of all: the description of the memory segment is available in the A2L specification. Here an excerpt of ASAP2 1.71 specification:

Now let us have a look at the usage of an example A2L file which is contained within the XCP example project of CANape 18.0.

Here an excerpt of the memory segments in CANape within the device (Devices|Device Configuration):

The corresponding MEMORY_SEGMENT within the A2L is:

/begin MEMORY_SEGMENT
CALRAM ""
DATA FLASH INTERN 0x1C0000 0x19D2 -1 -1 -1 -1 -1
/begin IF_DATA XCP
/begin SEGMENT
                0x01
                0x02
                0x00
                0x00
                0x00
                /begin CHECKSUM
                      XCP_CRC_16_CITT
                      MAX_BLOCK_SIZE 0xFFFF
                      EXTERNAL_FUNCTION ""
                /end CHECKSUM
                /begin PAGE
                      0x01
                      ECU_ACCESS_WITH_XCP_ONLY
                      XCP_READ_ACCESS_WITH_ECU_ONLY
                      XCP_WRITE_ACCESS_NOT_ALLOWED
                /end PAGE
                /begin PAGE
                    0x00
                    ECU_ACCESS_WITH_XCP_ONLY
                    XCP_READ_ACCESS_WITH_ECU_ONLY
                    XCP_WRITE_ACCESS_WITH_ECU_ONLY
                /end PAGE
/end SEGMENT
/end IF_DATA
/end MEMORY_SEGMENT

 Here a short explanation of the memory segment grid columns:

  • Name: Displays the name of the memory segment, here CALRAM.
  • Start: Start address of the Segment, here  0x1C0000.
  • End: End adress of the segment. Sum of start address and size, here 0x1C0000 + 0x19D2 = 0x1C19D1.
  • Size: Size of segment, here 0x19D2.
  • Type: Do the parameter addresses in the A2L refer to flash or RAM areas? The address definition of the parameters/calibration objects in the A2L should be within this address range. Explanation: If type RAM is defined, all parameters in A2L have to be defined for RAM addresses.
  • RAM address: This column is filled if type Flash is defined. Column RAM address shows the corresponding start address in RAM defined for calibration purposes. Relevant for offset calculation Flash -> RAM. This address might differ from segment start address which results in an additional section ADDRESS_MAPPING in the A2L. If addresses do not differ the relation between flash and RAM is indicated via page switching.
  • Flash address: This column is filled if type RAM is defined. Column Flash address shows the corresponding start address in Flash defined for i.e. flashing purposes. Relevant for offset calculation RAM -> Flash. This address might differ from segment start address which results in an additional MEMORY_SEGMENT of type FLASH with section ADDRESS_MAPPING in the A2L. If addresses do not differ, the relation between flash and RAM is indicated via page switching.
  • Address extension: Shows if an address extension is defined in the memory segment.
  • Content type: Definition which content is available in the segment, here DATA. The available keywords are defined in the A2L specification document. DATA is relevant for calibration purposes.
  • The definitions for page switching are contained in sections /begin PAGE, in this case the IDs are 1 and 0. The first section  /begin PAGE describes the source memory segment, therefore in this example page ID 1 is FLASH and page ID 0 is RAM.
 
Article Options
2020-05-13
Views: 56
Rate this article: