This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

BeagleBoard AM3359 CPU Speed

Hello,

I have started working with Starterware on BeagleBoard, and modified gpioLED.c example, which generates 250ms '1' ... 250ms '0' sequence, by changing number in Delay function issued between PIN manipulations.

Consequently, I came to the conclusion that I cannot toggle pin faster then 0.5 MHz, even less. What may be the problem, or what do I need to change the CPU speed, since the processor used operates at multiple hundreds of MHz.

I think that it is not solely the GPIO clock issuse, since when I inserted one floating point multiplication between the pin toggles, the pulse duration increased by tenths of microcesonds.

Regards

  • Hello

    do you have enabled the MMU and the CACHE? This increases the speed off the controller because then it use the internal cache. 

    How to enable the MMU could be see at the example uartEdma_Cache or at neonVFPBenchmark.

    A example to change the CPU frequency is shown in boot at the file bL_platform.c

    regards Tobias

  • The speed limit for toggling an IO is far beyond the value you mentioned. First of all it depends on what you want to do with this output frequency. In case it needs to be stable the main loop is not a good location for this, every interrut that comes in between would slow down this code and make your output frequency inaccurate and instable.

    Better solution: create an timer-generated interrupt (as demonstrated in dmTimer-example), specify your output frequency there via TIMER_INITIAL_COUNT/TIMER_RLD_COUNT values and toggle your output out of ISR.

    With this solution I can go down to 2 MHz ISR-frequency. But please note the bug mentioned in http://e2e.ti.com/support/embedded/starterware/f/790/t/302178.aspx - normally it would be possible to have even faster ISR-calls but there seems to be an (unsolved) problem in Starterware.