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.

enabling MMU in beagle board with CCS4

Other Parts Discussed in Thread: OMAP3530

As tried to enable MMU in cortex A8 by calling MMU_enable function with in OMAP3530_cortexA.gel in On_ResetDetected(), it is giving the following output at the end of the output it has printed that MMU is ON and given error: can not write to target at the time of loading program, why this happens when enabling MMU. so suugest me the reason and tell me how to enable MMU in beagle board through this.

 

OMAP 32K Watchdog Timer is disable

 Putting DPLL into bypass before proceeding

 Putting CORE DPLL into bypass before proceeding

 Locking CORE DPLL

 PRCM clock configuration IIA setup has been completed

 SystemClock = 19.2 MHz

Cortex_A8_0: Trouble Reading Register: Error 0x80002004/-1203 Fatal Error during: Register, Control,  The DAP access, address 0x000001E4, has returned a SLAVE error.
Cortex_A8_0: GEL: Error while executing OnTargetConnect(): target failed to read memory at 0x20790600.
 DPLL_MULT_VALUE = 242

 DPLL_DIV_VALUE = 13

 CORE_DPLL_CLK = 663.771 MHz

 CORE_CLK = 331.8855 MHz

 L3_CLK = 165.9427 MHz

MM01: mDDR Samsung K4X51323PC - 512 Mbit(64MB) on CS0, 4M x 32bit x 4Banks

common_sdram_init() completed

SDRC initilization for mDDR_Samsung_K4X51323PC completed

19.2MHz clock configuration IIa

       CORTEXA8_CORE_VERSION = 0x411FC083

       CORE_REVISION = 0x00100003

       IS NOT COMPREHENDED BY THIS GEL FILE
OMAP 32K Watchdog Timer is disable

 Putting DPLL into bypass before proceeding

 Putting CORE DPLL into bypass before proceeding

 Locking CORE DPLL

 PRCM clock configuration IIA setup has been completed

 SystemClock = 19.2 MHz

 DPLL_MULT_VALUE = 242

 DPLL_DIV_VALUE = 13

 CORE_DPLL_CLK = 663.771 MHz

 CORE_CLK = 331.8855 MHz

 L3_CLK = 165.9427 MHz

System Reset has occured.


MMU IS ON:


Cortex_A8_0: Warning: Error 0x40000002/-1065 Warning during: Memory,  Invalid memory access at 0x00000000
Cannot write to target
Cortex_A8_0: Warning: Error 0x40020002/-1003 Warning during: Memory, Internal,  The requested emulation action contained an invalid argument (0x00000000)

 

 

Thanks,

Vinay.

  • I am facing the same problem Vinay. I am surprised that no one replied to this thread yet. I am not using the GEL files for the ARM and DSP cores. I am initializing through UBoot as described in: http://processors.wiki.ti.com/index.php/GSG:Common_target_configurations

    I still get the messages:

    Cortex_A8_0: Warning: Error 0x40000002/-1065 Warning during: Memory,  Invalid memory access at 0x00000000
    Cannot write to target
    Cortex_A8_0: Warning: Error 0x40020002/-1003 Warning during: Memory, Internal,  The requested emulation action contained an invalid argument (0x00000000)

     

    Have you found a solution yet? Please let me know. Thank you in advance.

  • Hi RH,

     

    I had a solution for this problem, here the problem is with enabling MMU and MMU initialization.

    The following steps help you to enable MMU and can avoid the above errors.

    1. Invalidate ICache and DCache at all levels, ways and lines.

    2. Generate page tables by reading Translation table base address from cmd file and give permissions like cacheable, write allocate etc.

    3. Then enable the MMU by writting the MMU register bit with 1 makes MMU ON.

    4. After then, enable the ICache and DCache for level1 and level2.

    5. This all should do before your application run means place the MMU initialise and MMU enable code before the application code.

     

    Regards,

    Vinay.

  • Hi,

     Though I could able to enable MMU( as said above by editing boot code) and run the code on CCS 3.3 usingBeagleBoard with  JTAG xds560 emulator but now I switched to CCS 4.2 and trying to use xds 100 v2 JTAG emulator and facing problem in loading and running the program...

    By using default gel files of ccs 4.2(OMAP3530_cortexA.gel ) I could able to launch and connect the target, upon launch I observed the following messages

     

    Cortex_A8_0: GEL Output: OMAP 32K Watchdog Timer is disable
    Cortex_A8_0: GEL Output:  Putting DPLL into bypass before proceeding
    Cortex_A8_0: GEL Output:  Putting CORE DPLL into bypass before proceeding
    Cortex_A8_0: GEL Output:  Locking CORE DPLL
    Cortex_A8_0: GEL Output:  PRCM clock configuration IIA setup has been completed
    Cortex_A8_0: GEL Output:  SystemClock = 19.2 MHz
    Cortex_A8_0: GEL Output:  DPLL_MULT_VALUE = 242
    Cortex_A8_0: GEL Output:  DPLL_DIV_VALUE = 13
    Cortex_A8_0: GEL Output:  CORE_DPLL_CLK = 663.771 MHz
    Cortex_A8_0: GEL Output:  CORE_CLK = 331.8855 MHz
    Cortex_A8_0: GEL Output:  L3_CLK = 165.9427 MHz
    Cortex_A8_0: GEL Output: MM01: mDDR Samsung K4X51323PC - 512 Mbit(64MB) on CS0, 4M x 32bit x 4Banks
    Cortex_A8_0: GEL Output: common_sdram_init() completed
    Cortex_A8_0: GEL Output: SDRC initilization for mDDR_Samsung_K4X51323PC completed
    Cortex_A8_0: GEL Output: 19.2MHz clock configuration IIa
    Cortex_A8_0: GEL Output:      CORTEXA8_CORE_VERSION = 0x411FC082
    Cortex_A8_0: GEL Output: Target contains version r1p2 of the CortexA8...
    Cortex_A8_0: GEL Output:     Read the ETM_POWER_DOWN_STATUS register...
    Cortex_A8_0: GEL Output:      ETM_POWER_DOWN_STATUS = 0x00000003
    Cortex_A8_0: GEL Output:     ETM Access is enabled!
    Cortex_A8_0: GEL Output:     ETM_ID = 0x410CF232
    Cortex_A8_0: GEL Output: ETM Version is: 3.3v2
    Cortex_A8_0: GEL Output: OMAP 32K Watchdog Timer is disable
    Cortex_A8_0: GEL Output:  Putting DPLL into bypass before proceeding
    Cortex_A8_0: GEL Output:  Putting CORE DPLL into bypass before proceeding
    Cortex_A8_0: GEL Output:  Locking CORE DPLL
    Cortex_A8_0: GEL Output:  PRCM clock configuration IIA setup has been completed
    Cortex_A8_0: GEL Output:  SystemClock = 19.2 MHz
    Cortex_A8_0: GEL Output:  DPLL_MULT_VALUE = 242
    Cortex_A8_0: GEL Output:  DPLL_DIV_VALUE = 13
    Cortex_A8_0: GEL Output:  CORE_DPLL_CLK = 663.771 MHz
    Cortex_A8_0: GEL Output:  CORE_CLK = 331.8855 MHz
    Cortex_A8_0: GEL Output:  L3_CLK = 165.9427 MHz
    Cortex_A8_0: GEL Output: System Reset has occured.

     

    when we try to load a program I observing following error 

    Cortex_A8_0: Warning: Error 0x40000008/-1066 Warning during: Break Point,  Cannot set/verify breakpoint at 0x0000333C

    Cortex_A8_0: Warning: Error 0x40000008/-1066 Warning during: Break Point,  Cannot set/verify breakpoint at 0x00003332

    Cortex_A8_0: Warning: Error 0x40000008/-1066 Warning during: Break Point,  Cannot set/verify breakpoint at 0x00003332

    Cortex_A8_0: Warning: Error 0x40000008/-1066 Warning during: Break Point,  Cannot set/verify breakpoint at 0x00003332

    Cortex_A8_0: Warning: Error 0x40000008/-1066 Warning during: Break Point,  Cannot set/verify breakpoint at 0x00003332

    Cortex_A8_0: Warning: Error 0x40000008/-1066 Warning during: Break Point,  Cannot set/verify breakpoint at 0x00003332

    Cannot write to target
    Cortex_A8_0: Warning: Error 0x40000008/-1066 Warning during: Break Point,  Cannot set/verify breakpoint at 0x00003332

     

    Can you please let me know the solution for this, I am using the attached command file for building the application.4643.example_Original.cmd.txt

     

    Even at times by changing the command file I could able to load and run but it is going to infinite loop and hanging if i have "printfs"in my program...

     

    Regards,

    Gopi