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.

Trouble Writing Memory Block at 0x4c000060 Error : AM437x IDK

Now I'm running to example_utils on SDK for AM437x IDK

Build is OK, I met a big trouble to configuration.

The Error code is below:

CortexA9: Output: **** AM437x IDK EVM Initialization is in progress ..........
CortexA9: Output: **** Device Type: GP
CortexA9: GEL Output: System input clock is 24MHz
CortexA9: GEL Output: **** AM43xx OPP100 with CLKIN=24MHz is in progress .........
CortexA9: GEL Output: **** Going to Bypass...
CortexA9: GEL Output: **** Bypassed, changing values...
CortexA9: Output: **** Locking PLL
CortexA9: GEL Output: **** MPU PLL locked
CortexA9: GEL Output: **** Core Bypassed
CortexA9: GEL Output: **** Now locking Core...
CortexA9: GEL Output: **** Core locked
CortexA9: GEL Output: **** Calculated PER SD Divisor=4
CortexA9: GEL Output: **** PER DPLL Bypassed
CortexA9: GEL Output: **** PER DPLL Locked
CortexA9: GEL Output: **** Calculated EXTDEV SD Divisor=4
CortexA9: GEL Output: **** EXTDEV DPLL Bypassed
CortexA9: GEL Output: **** EXTDEV DPLL Locked
CortexA9: GEL Output: **** DISP PLL Config is in progress ..........
CortexA9: GEL Output: **** DISP PLL Locked
CortexA9: GEL Output: **** DDR DPLL Bypassed
CortexA9: GEL Output: **** DDR DPLL Locked
CortexA9: GEL Output: **** Setting DDR3 = 400MHz
CortexA9: GEL Output: **** AM43xx OPP100 configuration is done .........
CortexA9: GEL Output: Starting DDR3 configuration...
CortexA9: Output: EMIF PRCM is in progress .......
CortexA9: Output: EMIF PRCM Done
CortexA9: GEL Output: EMIF CLK enabled...
CortexA9: GEL Output: Waiting for VTP Ready .......
CortexA9: GEL Output: VTP is Ready!
CortexA9: GEL Output: VTP controller enabled
CortexA9: GEL Output: Checking if DLL is ready...
CortexA9: GEL Output: DLL is ready
CortexA9: GEL Output: Configuring DDR IOs and Control Module registers...
CortexA9: Trouble Writing Memory Block at 0x4c000060 on Page 0 of Length 0x4: (Error -1065 @ 0x3D5A) Unable to access device memory. Verify that the memory address is in valid memory. If error persists, confirm configuration, power-cycle board, and/or try more reliable JTAG settings (e.g. lower TCLK). (Emulation package 5.1.641.0)
CortexA9: GEL: Error while executing OnTargetConnect(): Target failed to write 0x4C000060
          at *((unsigned int *) (0x4C000000+0x0060))=(unsigned int) 0x00002011 [AM43xx_EMIFconfig_HWlvl.gel:10]
          at AM43xx_DDR3_config(2) [AM437x_EVMs.gel:35]
          at AM43xx_IDK_EVM_Initialization() [idk_am437x.gel:17]
          at OnTargetConnect()
CortexA9: GEL: Target must be connected before calling the function

One more)

GEL Files loading Error is existed, too.

Error Message is :

CortexA9: Output: **** AM437x IDK EVM Initialization is in progress .......... 

AM43xx_IDK_EVM_Initialization() cannot be evaluated.
Could not read 0x44E10040: target is not connected
          at temp=*((unsigned int *) (0x44E10000+0x0040)) [AM437x_Status.gel:91]
          at Device_Type() [AM437x_Status.gel:158]
          at GetInputClockFrequency() [AM43xx_PLLconfig.gel:15]
          at ARM_OPP100_Config(2) [AM437x_EVMs.gel:34]
          at AM43xx_IDK_EVM_Initialization()



How can I solve them?

  • Dongyoung,

    Your question does not really seem to be specific to TI-RTOS, so I have moved this thread over to the device forum in hopes that you will get a faster response there.
  • Hi,

    Please post which GEL file you are trying to execute. Check this wiki too: processors.wiki.ti.com/.../OMAP_and_Sitara_CCS_support
  • Hello Dongyoung,

    The issue you are facing is due to another application booted up from other bootmode/last download enables the MMU hence from the gel memory configuration fails. I would suggest you to perform a System reset using the CCS Menu Run->Reset->System Reset and rerun the gel initialization.

    Thanks,
    Benjamin
  • Thanks for your favor.

    At first, GEL file at target configuration at CCS Edit is idk_am437x.gel(1kb), downloaded from TI wiki 'OMAP_and_Sitara_CCS_support#GEL_Files_10'

    And GEL files(CortexA9) at CCS Debug are idk_am437x.gel, AM437xEVMs.gel, AM437x_MMRs.gel, AM437x_Status.gel, AM43xx_PLLconfig.gel, AM43xx_EMIFconfig_HWlvl.gel'.

    At that case, error message is below:

    CortexA9: Output: **** AM437x IDK EVM Initialization is in progress ..........
    CortexA9: Output: **** Device Type: GP
    CortexA9: GEL Output: System input clock is 24MHz
    CortexA9: GEL Output: **** AM43xx OPP100 with CLKIN=24MHz is in progress .........
    CortexA9: GEL Output: **** Going to Bypass...
    CortexA9: GEL Output: **** Bypassed, changing values...
    CortexA9: Output: **** Locking PLL
    CortexA9: GEL Output: **** MPU PLL locked
    CortexA9: GEL Output: **** Core Bypassed
    CortexA9: GEL Output: **** Now locking Core...
    CortexA9: GEL Output: **** Core locked
    CortexA9: GEL Output: **** Calculated PER SD Divisor=4
    CortexA9: GEL Output: **** PER DPLL Bypassed
    CortexA9: GEL Output: **** PER DPLL Locked
    CortexA9: GEL Output: **** Calculated EXTDEV SD Divisor=4
    CortexA9: GEL Output: **** EXTDEV DPLL Bypassed
    CortexA9: GEL Output: **** EXTDEV DPLL Locked
    CortexA9: GEL Output: **** DISP PLL Config is in progress ..........
    CortexA9: GEL Output: **** DISP PLL Locked
    CortexA9: GEL Output: **** DDR DPLL Bypassed
    CortexA9: GEL Output: **** DDR DPLL Locked
    CortexA9: GEL Output: **** Setting DDR3 = 400MHz
    CortexA9: GEL Output: **** AM43xx OPP100 configuration is done .........
    CortexA9: GEL Output: Starting DDR3 configuration...
    CortexA9: Output: EMIF PRCM is in progress .......
    CortexA9: Output: EMIF PRCM Done
    CortexA9: GEL Output: EMIF CLK enabled...
    CortexA9: GEL Output: Waiting for VTP Ready .......
    CortexA9: GEL Output: VTP is Ready!
    CortexA9: GEL Output: VTP controller enabled
    CortexA9: GEL Output: Checking if DLL is ready...
    CortexA9: GEL Output: DLL is ready
    CortexA9: GEL Output: Configuring DDR IOs and Control Module registers...
    CortexA9: Trouble Writing Memory Block at 0x4c000060 on Page 0 of Length 0x4: (Error -1065 @ 0x3D5A) Unable to access device memory. Verify that the memory address is in valid memory. If error persists, confirm configuration, power-cycle board, and/or try more reliable JTAG settings (e.g. lower TCLK). (Emulation package 5.1.641.0)
    CortexA9: GEL: Error while executing OnTargetConnect(): Target failed to write 0x4C000060
                                at *((unsigned int *) (0x4C000000+0x0060))=(unsigned int) 0x00002011 [AM43xx_EMIFconfig_HWlvl.gel:10]
                                at AM43xx_DDR3_config(2) [AM437x_EVMs.gel:44]
                                at AM43xx_IDK_EVM_Initialization() [idk_am437x.gel:16]
                                at OnTargetConnect()

  • Dongyoung,

    Please follow the steps mention in "Building and Running Application" section of Getting Started Guide

    Regards,

    Prajith

  • Thanks for your replies.

    I think that main problem to unable to run the code is about miss-matching memory using GEL...

    (I followed all step about the upper doc, but the error still remains.)

    Please inform me when you get a new approach about that.

  • Hello Dongyoung,

    Please include the following Callback function to the idk_am437x.gel file:

    OnPreFileLoaded()
    {
    AM43xxStartState();
    }

    The AM43xxStartState() API you can find it in AM437x_Status.gel, this API sets the processor to correct state.

    Please try this and provide your feedback.

    Thanks & Regards,

    Benjamin

  • Thanks for your favor.

    I got a solution, but I'm not sure that it's correct.

    Without SD card, It works...

  • Hello Dongyoung,

    Good to hear that you got the solution. Yes the last workaround that I shared is to make the gel file work even when the SD boot or any other boot scheme has occured.

    Did you try the last solution in the gel I suggested? Please test and update.

    Thanks & Regards,

    Benjamin

  • Hi Benjamin,

    Just want to followup on this query. I am experiencing the same error:

    CortexA9: Trouble Writing Memory Block at 0x4c000060 on Page 0 of Length 0x4: (Error -1065 @ 0x3D5A) Unable to access device memory. Verify that the memory address is in valid memory. If error persists, confirm configuration, power-cycle board, and/or try more reliable JTAG settings (e.g. lower TCLK). (Emulation package 6.0.14.5)

    AM43xx_IDK_EVM_Initialization() cannot be evaluated.

    Target failed to write 0x4C000060

    at *((unsigned int *) (0x4C000000+0x0060))=(unsigned int) 0x00002011 [AM43xx_EMIFconfig_HWlvl.gel:10]

    at AM43xx_DDR3_config(2) [AM437x_EVMs.gel:44]

    at AM43xx_IDK_EVM_Initialization()

    I am using the current GEL file downloaded on wiki.ti.com (AM437x_GELS.zip). It seems that the file "idk_am437x.gel" has already this routine you recommended to insert:

    OnPreFileLoaded()
    {
    AM43xxStartState();
    }

     

    Any other workaround you know?

     

    Thank you,

    Noel