I'm trying to access external devices on a XC161. A0-A19 are active. So are CS0-CS4. ADDRSEL4 is set to 0x0400 (start at 40000h, size 4k) Writing to 0x40000 works but CS0 is activated not CS4 ??? I have no experience with this family, so I must be doing something silly... Startup file was generated by DAVE, but checked out to be correct. Writing is done by use of a pointer. Is there an other/more direct way of accessing external memory/device? Frank
Thanks, stefan. My applications works ok now too. I use 5 CS's and 20 address-lines. This problem only applies to the new V2-core like in the XC161, because it handles CS-settings differently. If you're using Dave with these chips, just change the "adr >> 8" parts in the startup file into "adr << 4". (see one of the previous messages) You only have to do this once. After this, CS's will work fine. Frank
Hi Frank, thanks a lot for this info. This macro we found suspect as I got back the first mail from the DAvE's author. But at this time I had not enough time to check completely. Sounds really good, what you wrote. I will try it out asap. What I did, was to inspect DAvE's *.dpt and the project_name.asm which hold the asm formatted informations for IDE. Right was the authors say - DAvE calculate it all right. So the macro must be the bad boy. ;-} Stefan
Hi Frank, I checked the MACRO again and with the DAvE register viewer (There it is the right value ).You are completely right. It is definitly a problem with KEIL IDE's startup file. Thanks again - your workaround solves it completely. Stefan
The integration problems between uVision2 and DAvE have been corrected in the latest C166 V4.27 release. http://www.keil.com/update/sw/c166/4.27 Jon