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
Are you using the latest C166 and the latest version of DAVE? I brought up this question to an Infineon guy and to our support guys and all of these issues were corrected a long time ago. Jon
Frank, as I promised, I post the answer from the DAvE authors. The original message is written in german, so I try to translate. DAvE generates a *.dpt file, which is used by the KEIL IDE to generate a project. Within this *.dpt file all register bitfields and bits are listed with there actual values.'Here e.g. you find that the values of ADDRSEL1_RGSAD1=256 and ADDRSEL1_RGSZ1=5 are.Exactly the registernames as given by Infineon here are used.Now it is in the responsibility of the kEIL IDE to adapt the startup file in the right way. This is not under DAvE's influence. We are sorry that we can not help you in this case, but this problem has to be solved by KEIL . I do not know, whether original message is usefull, so I do not post here. I work with two activated CS and 2 address lines ( A16...A17 ) via EBC for an SRAM and it works. - Stefan
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