I have compiled and run the Startware on the Beagleboard Black but the performance is underwhelming. The GPIO toggling program just does a while loop before changing the state of the GPIO pin. With 250000 loops, the LED is changing state about 2 times a second. The disassembly shows the loop is about 5 instructions long which would give an execution speed in the 10s of MHz.
I guess that either the PLL is not set up correctly or the cach is not enabled. Has anyone got and idea as to what is going on?
The code of the main loop
/* Driving a logic HIGH on the GPIO pin. */
/* Driving a logic LOW on the GPIO pin. */
** A function which is used to generate a delay.
static void Delay(volatile unsigned int count)
I got slightly better numbers with your code. Running without compiler optimizations, the GPIO was high for about 65ms. This would yield a toggle rate of about 1/(.065*2) = 7.7 Hz.
At 5 instructions per loop, the execution rate is about (5*0x3FFFF)/0.065 = 20 ‘MIPS’. The BBB is typically rated at 2000 Dhrystone MIPS…even though the comparison of ‘MIPS’ calculated with your code and Dhrystone MIPS is pretty weak, I would not have expected a factor of 100.
I’m likely using the same .gel file as you (beaglebone gel file, but modified for DDR3 timings). I verified the core (1GHz) PLL is being set correctly by the .gel file, and I explicitly enabled the instruction cache.
Just thought I’d share my findings, and if I have any further insight I will follow up. Please do the same.
If you are using a BeagleBone Gel file, check for smoke after you run it for a while. I doubt very much it sets up the PMIC correctly as the voltages and their application is different for the BeagleBone Black.
You might want to consider using the GEL file for the BeagleBone Black. Just a suggestion.
i am new with bbb.
i have problem is that how to use StaterWare for bbb.
what changes should i do with bb lib which is in the StarterWare?
please help me out…
i am using bbb (A5C).