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.

AM437x PRU - Error connecting to the target

Hi Biser;

    In the process of testing the BiSS firmware supplied with my IDK, I loaded the bin code to the PRU using the memory loader. Following that, I attempted to connect to the PRU via  the debug probe to permit the operation of the GEL scripts supplied with the BiSS pkg. After I operated the scripts, I was unable to again connect with the PRU cores. Even returning to formally operational programs with presumably good GEL scripts and attempting to connect all produced the above error. I was able to connect at first, now following the execution of those scripts, dead. I think if I could get in to wipe the PRU local memory I might be able to bring them back. But unless I can connect, I can't do that. Any suggestions? 

Aaron Kellner

  • Hi,

    You must first connect to the ARM core using the AM437x GEL. Probably the PRU is not initialized.
  • Hi Biser;
    I am able to connect to and run programs on the ARM CPU. Following that test to see if the main processor is working, I then attempt connecting with the PRU. Can't ever connect. Tried using the board reset and bringing the above test up again and again same error. As I said. worked the first time I tried the experiment with the BiSS bus firmware. Then failed and remains so. One would think that pressing the soft reset or powering down would fix anything short of real physical damage. Appears that the thing has disappeared up into itself. Any other thoughts before I toss it?
    Aaron Kellner
  • HI Biser
    I took a look at the console output during the working program initialization. It runs the out of the box gel file and I note this is the GEL file that ships with the IDK (idk_am437x.gel) and worked fine a few days ago to as the preamble to connect to the PRU. Here is the error listing it now generates:

    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()

    Looks like the script is trying to reset the PRUs then later doing a Full reset. This loperation generates this error. I can't get rid of this error no matter what I do. Looks like the bus between the ARM and PRUs has died. I'm going to try another card. If that too dies a quick death, I'm bailing.
    Aaron
  • Hi Biser
    Well, I am surprised I got it to work. I had to run the main program and while it was running, repeatedly use the PRU-ICSS init script in the script list. On the 3rd or fourth try, the init errors finally stopped and I was then able to connect as expected. Pretty flaky.
    Aaron