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.

Disable PM CC3200

Hi,

I want to completely disable power management (PM). As stated in 

http://processors.wiki.ti.com/index.php/CC32xx_Power_Management_Framework#Recommendations_for_use_of_PM_framework

I am trying to use 

#include "cc_pm.h"

...

And In the main:

cc_app_putoff_pm();

But I am getting the error

Description Resource Path Location Type
unresolved symbol cc_app_putoff_pm, first referenced in ./main.obj wlan_station_Stack_bypass_mode_BeaconRxFilter C/C++ Problem

Please include a complete working example to fully disable power management. Thanks!

  • Hi Fernando,

    Are you linking the middleware library to your application?

    Regards,

    Rahul

  • Hi Rahul,

    I followed your suggestion. My current configuration is as follows.

    * Compiler include options:

    * Linker, file search path:

    But when I include the line "cc_app_putoff_pm();", I got the error:

    Description Resource Path Location Type
    <a href="file:/c:/ti/ccsv6/tools/compiler/dmed/HTML/10099.html">#10099-D</a> program will not fit into available memory. placement with alignment fails for section ".cinit" size 0x2f1 . Available memory ranges: cc3200v1p32.cmd /wlan_station_Stack_bypass_mode_BeaconRxFilter line 75 C/C++ Problem

    However, the error was gone setting optimization options and:

    Thanks!

  • Unfortunately, the application does not run as expected with the setting in the last figure. So, I set the "Initialization model" back to "Link using ROM autoinitialization model" in the last figure. So I am back with the errors:

    Description Resource Path Location Type
    #10010 errors encountered during linking; "wlan_station_Stack_bypass_mode_BeaconRxFilter.out" not built wlan_station_Stack_bypass_mode_BeaconRxFilter C/C++ Problem

    Description Resource Path Location Type
    <a href="file:/c:/ti/ccsv6/tools/compiler/dmed/HTML/10099.html">#10099-D</a> program will not fit into available memory. placement with alignment fails for section ".cinit" size 0x37f . Available memory ranges: cc3200v1p32.cmd /wlan_station_Stack_bypass_mode_BeaconRxFilter line 75 C/C++ Problem

    Please confirm if just adding the line "cc_app_putoff_pm();" can drastically increase the memory utilization.

    Any workaround to switch off the power management features is welcome. Thanks!

  • Hi Fernando,

    whenever you link a library to an application, all library function used by application will take up the required memory.

    The SRAM memory is allocated between SRAM_CODE and SRAM_DATA. The default allocation for both are:

    SRAM_CODE: 0x19000

    SRAM_DATA: 0x13000

    In your case, the memory required by code is more than the allocated memory. you can confirm this by checking the memory allocation under view menu.

    it will be something like this:

    As you can see the space allocated for the SRAM_DATA is not being utilised in this case. you can use that memory for SRAM_CODE. you can do this by modifying the cc3200v1p32.cmd file

    FROM 

    /* Application uses internal RAM for program and data */
    SRAM_CODE (RWX) : origin = 0x20004000, length = 0x19000
    SRAM_DATA (RWX) : origin = 0x2001D000, length = 0x13000

    to something like:

    /* Application uses internal RAM for program and data */
    SRAM_CODE (RWX) : origin = 0x20004000, length = 0x1D000
    SRAM_DATA (RWX) : origin = 0x20022000, length = 0x0E000

    Note that you can only increase the CODE memory by the amount you deduct the DATA memory. As the total memory is constant.


    Apart from that i'll suggest you make the following changes also(may not be required, but good practice).

    let me know if this resolves your issue or not.

    Regards,
    Rahul