Hi, I have a C164 application with 32k NDATA and 16k NCONST. Where DPP0 is used for NCONST and DPP1 and DPP2 used for NDATA. Furthermore I have located the user stack at the end of the DPP2 segment using the SECTIONS directive. My question, is the NOFIXDPP directive still required? If no, how can I avoid to use this directive? µVision seems to add this directive automatically after using DPPUSE. I didnt found any option in the target dialog. Thx for your help. Bert PS: Yes, I have read the appnote "L166: ACCESSING THE USER STACK VIA DPP2"
NOFIXDPP is essential when you are working without the fixed DPP assignments. So leave in this control. Once you have searched a pointer conversion problem from 'near' to 'huge/far' you will understand why I point this out here! It might take weeks to find such problems. While it might be possible to configure the tools so that NOFIXDPP is not set, but it is ** HIGHLY ** recommmended not to do so! Reinhard
Hello Mr. Keil, yes you are right in general. But I have manually placed the user stack in the DPP2 segment. And as I understood the NOFIXDPP directive, this is only necessary if the user stack is not located in DPP2. My reason to that, was to get the advantage of fast access of 32k NDATA, without loosing speed in case of pointer conversion for stack variables. Best regards Bert Weber