This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Activating chip selects...???

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

Parents Reply Children
  • We did not got your email. Please send the DaVE project you are using to:
    support.intl@keil.com

  • Re: Activating Chip Selecet
    Hello, we got a similar experience with the DAvE and I inspected the startup file.
    There we found differences between _ADDR1 and _SIZE1 and resulting _RGSZ1. I have asked one of the authors of DAvE and it should be a misunderstanding, but we tested and it seems definitly wrong.
    I wrote a second mail to DAvE author with more detailed explanation of startup file, I hope I get new answer and if something wrong I will post it.

    Stefan

  • Stefan,
    You have to manually adjust the startup file.
    I don't know where the problem lies: with Keil or Dave.
    Please do post any useful reply you may get from them.

    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