13.07.2015 Views

TASKING VX-toolset for ARM User Guide

TASKING VX-toolset for ARM User Guide

TASKING VX-toolset for ARM User Guide

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Using the LinkerAddress spacesA logical address space is a memory range <strong>for</strong> which the core has a separate way to encode an addressinto instructions. Most microcontrollers and DSPs support multiple address spaces. For example, separatespaces <strong>for</strong> code and data. Normally, the size of an address space is 2 N , with N the number of bits usedto encode the addresses.The relation of an address space with another address space can be one of the following:• one space is a subset of the other. These are often used <strong>for</strong> "small" absolute or relative addressing.• the addresses in the two address spaces represent different locations so they do not overlap. Thismeans the core must have separate sets of address lines <strong>for</strong> the address spaces. For example, inHarvard architectures we can identify at least a code and a data memory space.Address spaces (even nested) can have different minimal addressable units (MAU), alignment restrictions,and page sizes. All address spaces have a number that identifies the logical space (id). The followingtable lists the different address spaces <strong>for</strong> the architecture <strong>ARM</strong> as defined in arm_arch.lsl.SpaceIdMAUDescriptionlinear18Linear address space.The <strong>ARM</strong> architecture in LSL notationThe best way to write the architecture definition, is to start with a drawing. The following figure shows apart of the <strong>ARM</strong> architecture:The figure shows one address space called linear. The address space has attributes like a numberthat identifies the logical space (id), a MAU and an alignment. In LSL notation the definition of this addressspace looks as follows:space linear{id = 1;mau = 8;}map (size=4G, dest=bus:local_bus);The keyword map corresponds with the arrows in the drawing. You can map:• address space => address space (not shown in the drawing)213

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!