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.

CCS/AM3359: Trouble Writing Memory Block at 0x80000000 on Beaglebone bare metal project

Part Number: AM3359

Tool/software: Code Composer Studio

Hello, 

Newbie here, I tried to replicate a bare metal project on beaglebone from this source,

My setup has:

1. Beaglebone with JTAG header soldered

2. XDS100v2 debugger

3. CCS v8

Steps:

1. Create new CCS project, select AM3559 and XDS100v2

2. Compile OK, bbb-test.out file is generated. The program is just a simple while loop counter.

3. Debug configuration, select DebugProbe/CortexA8 , program path: bbb-test.out

Everything else default.

Console error message:

CortxA8: Trouble Writing Memory Block at 0x80000000 on Page 0 of Length 0x900: (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 8.0.27.9) 
CortxA8: File Loader: Verification failed: Target failed to write 0x80000000
CortxA8: GEL: File: C:\workspace_v8\test-bbb-jtag\Debug\test-bbb-jtag.out: Load failed.

How do I resolve this error ? I had erased EMMC and got no SD card plugged in. JTAG "test connection" reported no error.

I heard that I need GEL file, is that still needed for CCS v8, if yes where do I get one and why it is not supplied by CCS by default ?

Regards,

AX

  • Update:

    Previous I selected AM3559 as processor, now I created a new project with Beaglebone selected and I can see more setup output, however the error persisted:



    CortxA8: Output: **** AM335x Beaglebone Initialization is in progress ..........
    CortxA8: Output: **** AM335x ALL PLL Config for OPP == OPP100 is in progress .........
    CortxA8: Output: Input Clock Read from SYSBOOT[15:14]: 24MHz
    CortxA8: Output: **** Going to Bypass...
    CortxA8: Output: **** Bypassed, changing values...
    CortxA8: Output: **** Locking ARM PLL
    CortxA8: Output: **** Core Bypassed
    CortxA8: Output: **** Now locking Core...
    CortxA8: Output: **** Core locked
    CortxA8: Output: **** DDR DPLL Bypassed
    CortxA8: Output: **** DDR DPLL Locked
    CortxA8: Output: **** PER DPLL Bypassed
    CortxA8: Output: **** PER DPLL Locked
    CortxA8: Output: **** DISP PLL Config is in progress ..........
    CortxA8: Output: **** DISP PLL Config is DONE ..........
    CortxA8: Output: **** AM335x ALL ADPLL Config for OPP == OPP100 is Done .........
    CortxA8: Output: **** AM335x DDR2 EMIF and PHY configuration is in progress...
    CortxA8: Output: EMIF PRCM is in progress .......
    CortxA8: Output: EMIF PRCM Done
    CortxA8: Output: DDR PHY Configuration in progress
    CortxA8: Output: Waiting for VTP Ready .......
    CortxA8: Output: VTP is Ready!
    CortxA8: Output: DDR PHY CMD0 Register configuration is in progress .......
    CortxA8: Output: DDR PHY CMD1 Register configuration is in progress .......
    CortxA8: Output: DDR PHY CMD2 Register configuration is in progress .......
    CortxA8: Output: DDR PHY DATA0 Register configuration is in progress .......
    CortxA8: Output: DDR PHY DATA1 Register configuration is in progress .......
    CortxA8: Output: Setting IO control registers.......
    CortxA8: Output: EMIF Timing register configuration is in progress .......
    CortxA8: Output: EMIF Timing register configuration is done .......
    CortxA8: Output: PHY is READY!!
    CortxA8: Output: DDR PHY Configuration done
    CortxA8: Output: **** AM335x Beaglebone Initialization is Done ******************
    CortxA8: File Loader: Verification failed: Values at address 0x80000000 do not match Please verify target memory and memory map.
    CortxA8: GEL: File: C:\Users\Owner\workspace_v8\test-bbb-jtag2\Debug\test-bbb-jtag2.out: a data verification error occurred, file load failed.
  • AX,

    You are on the right track by selecting a board configuration instead of a Device.

    Are you using a BeagleBone or BeagleBone Black? I think their external memories differ and therefore the configuration with the BeagleBone Black should be functionally sound.

    Please give this a try.

    Hope this helps,
    Rafael
  • Hello Rafael, I am using Beaglebone Black Rev B. Should I try with Rev C instead ? If I am not mistaken the only difference between rev B and C is the eMMC size. Any hints ?
  • Hi,

    No, I meant using the BeagleBone Black configuration in CCS:

    The giveaway that you are using a different configuration is the message printed at the top of the initialization script. It should read "AM335x BeagleBlack Initialization is in progress" instead of " AM335x Beaglebone Initialization is in progress"

    Regards,

    Rafael

  • Thank you so much for pointing out that. My mistaken for not paying attention to the "bbb black" variation.