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.

How do we measure/configure the clock speeds in bare metal Beagle Board? Hardware or software would do



I am currently working on ARM DS-5 compiler with Beagle Board. I am able to burn my program and measure the cycle count but I do not know how to measure/configure the current running clock frequency. Some say to use Uboot bootloader but it is a bare metal and I think there is no boot loader, the DS-5 compiler takes care of everything. The following are my results of my Benchmarking results, I want to improve my results. https://docs.google.com/file/d/0B318pI7x2QVcQ195ZTc4ZWdTT3M/edit

  • Hi,

    The file system provides abilities to observe and manage the cpu frequency. It is only necessary to go to /sys/devices/system/cpu/cpu0/cpufreq# folder. There you can check the current cpu frequency or all available frequencies and any more info. For example:

    root@dm37x-evm:/sys/devices/system/cpu/cpu0/cpufreq# cat cpuinfo_cur_freq
    1000000

    root@dm37x-evm:/sys/devices/system/cpu/cpu0/cpufreq# cat scaling_available_frequencies
    1000000 800000 600000 300000

    BR

    Tsvetolin Shulev

  • Thanks Tsvetolin Shulev, As I was saying I am working on BareMetal. I am not using any Linux, I directly burn raw my program on to the board .  It is possible to know the operating clock frequency or set frequency using assembly language or are there any C libraries to access the C libraries.

  • I'm wondered if you are using BareMetal OS on the BeagleBoard. I can not find any releases of BareMetal OS for ARM architecture. You could look at the official web site for support about BareMetal OS - http://www.returninfinity.com/baremetal.html. You can download the available documentation from from the link: http://www.returninfinity.com/baremetal-docs.html

    BR

    Tsvetolin Shulev

  • I am actually not using a BareMetal OS. I was not clear, By BareMetal I meant I am running without any OS. I am just writing programs(ex: FFT ) in ARM-DS5 -compiling them then executing them from the SDRAM. All my programs are executing properly and I am also able debug properly .  Are there any low level Libraries or any C sample files in C or assembly that could help me in accessing the hardware directly. I want to run without any OS so as to achieve maximum performance for the purpose of Benchmarking.   Here is some code for OMAP processors https://code.google.com/p/puppybits/source/browse/   but the code doesnot have much scope. 

    Please help me if I can get some headers or something very basic which provides hardware level access and control. Is it possible to get these sort of files (atleast some basic code)form any OS code? I am  finding it hard and I cannot find documentation providing configuration details.

    Thanks ,

    Vamsi

  • Dear Vamsi,

    I am also interested into writing some bare metal applications.

    Did you succeed to get you (bare metal application) code up and running?

    If so, could you post here what is needed (configuration of peripherals, etc)?

    Regards, 

    D.K.