|
|||||||||||
Technical Support Support Resources
Product Information |
L166: Accessing the User Stack via DPP2Information in this article applies to:
SYMPTOMSI have reassigned the DPP registers using the DPPUSE directive so that my memory is arranged as follows:
When I examine the memory map of my module in the m66 file I see the following:
The User Stack is now accessed by DPP1 rather than DPP2. Why is this, how do I tell the compiler that DPP1 accesses the User Stack and how do I force the linker to use DPP2 for User Stack accesses? CAUSEThe linker is free to place the User Stack anywhere in the NDATA area. Because you have changed the boundries of the NDATA area by reassigning the DPP registers, NDATA can now be accessed by DPP1, DPP2 and DPP3. Therefore, the User Stack can be located so it may be accessed via DPP1, DPP2 or DPP3. RESOLUTIONWhen you use the DPPUSE linker directive to reassign the DPP registers, you must also use the NOFIXDPP compiler directive. This ensures that the compiler no longer assumes the User Stack is accessed via DPP2. You may use the SECTIONS linker directive to force the linker to place the User Stack in a section of memory accessed by DPP2. For example:
MORE INFORMATION
Last Reviewed: Thursday, February 25, 2021 | ||||||||||
|
Arm’s Privacy Policy has been updated. By continuing to use our site, you consent to Arm’s Privacy Policy. Please review our Privacy Policy to learn more about our collection, use and transfers
of your data.