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

External Memory and Execution Speeds

I am using Timer12 and Timer7 to drive the CAPCOM6 unit on the Phytec C164 nanoModule using Space Vector Modulation for induction motor drive control. This program also uses CAPCOM6 interrupts for regular modification of pulse widths for sinusoidal waveform outputs.

My problem is, the program works fast (as desired for precise pulse control) when I do not specify any number on the external memory in the Target configuration panel. I do get four warnings during linking, but the program works fine.

However, when I specify ROM and RAM address and sizes on the panel, the warnings disppear but my program becomes miserably slow.

What have the interrupt procedures to do with ROM and RAM locations???

Parents Reply Children
  • Hi Mike and Jon,

    I haven't tried the simulator, however, I would like to know if it would simulate a timer interrupt?

    Replying to Jon's question, it is quite probable that the high priority interrupt could occur at the wrong moment of low priority ISR execution. The higher priority ISR is run by a timer at 10000 Hz and the low priority ISR at 10 Hz. What happens here - I do not know. I do not have a logic analyzer. I used to get the right results when the correct ROM location were not specified! Strange!?

    However, the division problem is definitely faced when operated in side the ISR and not in ordinary routines (main() for example.

    Thanks

  • I haven't tried the simulator, however, I would like to know if it would simulate a timer interrupt?

    The simulator simulates nearly everything on the C167 devices. All timers and interrupt are certainly simulated. I suggest you start the debugger and take a look at the peripherals menu. There are dialogs for every on-chip peripheral.

    Jon