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.

Set AM3359 Beaglebone Black CPU Frequency to 1 GHz + StarterWare

Other Parts Discussed in Thread: AM3359

Hey everyone,

I have a Beaglebone Black (rev A5C - AM3359) and I'm using CCS with JTAG. If possible, I would like to know what is the default  CPU clock frequency defined on StarterWare. Is it 300 MHz? If so, how can I change it to 720 MHz or to the maximum, 1GHz. What functions do I have to call to do this changes? Thanks for your attention.

Best Regards,

Luciano.

  • Hi Luciano,

    Check bootloader for changing the frequency.
    Which version of starterware are you using?
    if it is 02.00.xx.xx. then check the function PLLInit(), it holds the frequency control for MPU, Per, DDR etc.

    -Murali Krishna Dama

  • Hey,

    Thanks for answering. I'm using the latest version 02.00.01.01.

    Just adding the "bl_platform.h" library to run that funcion PLLInit(), it doesn't build reporting the following error:

    " #35 #error directive: Unsupported EVM !! "

    Pardon my ignorance, but what am I possibly doing wrong? I already run other projects on the BBB and it did just fine.

    It is something related with ARM Linker, in File Search Path?

    Best regards,
    Luciano.
  • Luciano,
    Have you taken additonal patches to support beaglebone black from the following page?
    software-dl.ti.com/.../index_FDS.html
    Regards,Murali Krishna
  • Yes, I have placed the files into the respective folders and I built booloader :(C:\ti\AM335X_StarterWare_02_00_01_01\build\armv7a\cgt_ccs\am335x\beaglebone\bootloader)
    When I built this it gave errors related to the File Search Path, so I changed it to:

    "C:\ti\AM335X_StarterWare_02_00_01_01\binary/armv7a/cgt_ccs/mmcsdlib/Release/libmmcsd.lib"
    "C:\ti\AM335X_StarterWare_02_00_01_01\binary\armv7a\cgt_ccs\am335x\beaglebone\platform\Release\platform.lib"
    "C:\ti\AM335X_StarterWare_02_00_01_01\binary\armv7a\cgt_ccs\am335x\drivers\Release\drivers.lib"
    "C:\ti\AM335X_StarterWare_02_00_01_01\binary\armv7a\cgt_ccs\utils\Release\utils.lib"
    "libc.a" - This one stayed the same.

    And I could finally built and debug the project boot.

    From what I saw it chooses 1000 MHz when the BlPlatformConfig() is called, because I associated a variable expression to the function BootMaxOppGet(), and the result is 9, which corresponds to:

    EFUSE_OPPNT_1000 (0x9u)

    The question is, when I try to do BlPlatformConfig() function in another new project besides "boot", including the "bl_platform.h" library, is throws always the same error. I already did the File Search Path change, but stays the same. It is something that I am missing?

    One other thing, if we don't call BlPlatformConfig(), what is the default frequency?

    Thanks a lot for the attention.

    Best regards,
    Luciano

  • Hey,

    Once I couldn't get to work with BlPlatformConfig() function in a new project, I used the bootloader project (boot), and I did my algorithm inside the bl_main.c file. I can work just fine with the GPIO and ADC channels and I got much better results with GPIO switching speed, readings all adc inputs (AIN0-AIN6), than in other projects without BlPlatformConfig() function . However when I want to work with Timers (for example of Timer2) inside that project (boot), it builds, but in debug session, it does nothing. When I did the debugging step by step, I realized it stops in Timers Initialization and configuration, giving the following error:

    No source available for "0x20094"

    For the record, I have already tried the timers out in other projects and it worked correctly. Is there any conflict between timers, interrupts and the bootloader configuration?

    If someone could help me how to find the solution for this problem, I would be very grateful.

    Best regards,

    Luciano.