We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Hi all, in spite of reading all threads I still didn't get my External Bus Controller working for two Chip Selects at 16 Bit multiplexed bus. I use a XC164 and connect two ADCs to the Controller and do only need an access to the first and then to the second one using CS0 and CS1 - the ram adresses are not of any deeper interest. Normally (as I understood it) you don't need to use any further Pulldown/up resitors at startup. Going through the Start_V2.A66 everthing seems to look fine, but the default CS0 works, but I can't see any Signal with my scope at CS1. I tried to use 0x20'0000 to 0x3F'FFFF and to calculate the DPPs like Stefan Fricke wrote in a thread. Can anyone tell me what is further to be considered? Anyone with the same problem? Any solution? I'd go mad with joy when it works... Kind regards
Did you enable the CS lines in the START_V2.A66 code? The initalization is pretty complex, but still straight forward. Important is that you have given the correct address window.
Yes, I hope so. CS0 and CS1 are enabled and I tried a 4k address window. Could you possibly give me some piece of code, please? CS0 should be at address you choose with Options -> External Memory and you gain access to it by XVAR. Still it doesn't work...
You need to use the START_V2.A66 file in your project and the values:
$SET (CONFIG_EBC = 1) $SET (CONFIG_CS0 = 1) $SET (CONFIG_CS1 = 1)
I edited my Start_v2.A66 as collapsed Text, but also tried to invoke CS1 by $Set command. Nevertheless it does not work. Still I ask you to send this piece of code, please, perhaps with your Dave Settings and the routine to gain access to peripheral components. That would be great. I still haven't found the crucial point what I have not considered so far...
I suggest that you send your project to support.intl@keil.com
If you don't mind, I would prefer / highly appreciate that you send a piece of code. This piece of code should contain the access to CS1. Thank you very much in advance. Kind regards Helmut
Hi Helmut, the following is from a former errata, maybe it can help. In case less than 4 chip select signals are selected (either by hardware reset via Port0 configuration, or by software via bitfield CSPEN in register EBCMOD0), signals CS0# and CS1# are not available in some configuration settings: EBCMOD0.CSPEN = 001: CS0# not available EBCMOD0.CSPEN = 010: CS0# and CS1# not available EBCMOD0.CSPEN = 011: CS0# not available EBCMOD0.CSPEN = 100: all 4 CS# signals available (as specified) EBCMOD0.CSPEN = 000: no CS# signals available (as specified) That means, that you will have at certain combinations NO CS-signal !!!, but your adjustments ARE the RIGHT. That's why I use in such situation a combination of CS0 AND CS1-signal. Additionally check the linker settings, where the locator places the code to be sure your access to the code window with CS1 matches the area you have selected. Stefan