Email: Password: Remember Me | Create Account (Free)

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
01/17/09 18:55
Read: times


 
#161588 - Why go through all the suffering?
Responding to: ???'s previous message
Christian Meier said:
First of all, thank you everybody for your quick response, but I think I didn´t explain it in enough detail.

Actually we don´t use any external RAM. We just want to use the XRAM lines to connect the CAN-controller with the Core. To reach this goal, we built a wrapper around the core, so that we can direct the XRAM lines to the CAN-controller.

We write all our programs in C, so the KEIL-compiler should use the right instructions and convert our code correctly into assembly code?

If you're not VERY familiar with the Keil product, perhaps you're "shooting yourselves in the foot" by using it. This looks to me like a situation that should, under any circumstances, be handled in ASM and not in 'C' or any other HLL. Once it's in place and proven, you can try reducing the ASM portion of your code. However, if you don't know enough about this architecture to write all the code in ASM, you won't have any better result doing it in 'C'. Whether you use KEIL or anyone else doesn't matter. It's a problem best solved with ASM. If, later on, for maintainability reasons or whatever, you choose to write the code in 'C', that's your choice.

To switch from the internal RAM to the external RAM we used a simple condition, to check if the value of the adressline is bigger than 0x8000. We realized that by implementing the instruction in the wrapper VHDL-file, but we didn´t change the core yet.

Why go through all this pain? Can't you simply map your CAN controller into the SFR space? There's plenty of room.

Maybe we have to switch to the external lines in the core and not in the wrapper?
Do we have to enable something, if we want to use external lines?


First, you have to have an answer to the question, "Why should one use external memory space?" I don't know what benefit you sought by using a "wrapper". If the core you're using has the external address lines defined, and if it executes the MOVX instructions that use those address lines, you should have no difficulty. Since you're using no external memory, I see no advantage in mapping the CAN controller into external memory space. Perhaps you'd like to explain what benefit you see in doing that.

RE



List of 30 messages in thread
TopicAuthorDate
[8052] Connect periphery over the XRAM Port            01/01/70 00:00      
   plus            01/01/70 00:00      
   Which Spartan-3E board?            01/01/70 00:00      
      SFR Space            01/01/70 00:00      
         Is that really the case in this instance?            01/01/70 00:00      
            I s'pose            01/01/70 00:00      
               It's a core, intended for FPGA, not a chip.            01/01/70 00:00      
   Thanks            01/01/70 00:00      
      Why go through all the suffering?            01/01/70 00:00      
      XDATA access vs SFR access            01/01/70 00:00      
         Perhaps they're in over their heads            01/01/70 00:00      
            Having fun?            01/01/70 00:00      
               Not exactly ...            01/01/70 00:00      
                  Talk to the OP, not about            01/01/70 00:00      
                     I would bet they've seen the light            01/01/70 00:00      
                        So whatever happened to...            01/01/70 00:00      
                           Ironic, isn't it?            01/01/70 00:00      
                              My point exactly!            01/01/70 00:00      
                                 Perhaps the O/P wasn't prepared            01/01/70 00:00      
                                    Yeah you´re (sometimes) right            01/01/70 00:00      
                                       It's about using what's already there            01/01/70 00:00      
                                          in the end            01/01/70 00:00      
                                             It doesn't always work in that way            01/01/70 00:00      
                                          Running before you can walk            01/01/70 00:00      
                                             Maybe, but first of all, there's no example ...            01/01/70 00:00      
                                                not really            01/01/70 00:00      
                                                   WTF???            01/01/70 00:00      
                                                   Let us not go over the top            01/01/70 00:00      
                                                      Language barrier?            01/01/70 00:00      
                                                         No ... I was agreeing with your comment            01/01/70 00:00      

Back to Subject List