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/TMS320DM6467T: Problem with emulator connection to DSP core in ccsv8

Part Number: TMS320DM6467T

Tool/software: Code Composer Studio

Hi everyone

I'm newbie in c6000 and davinci series processors. I'm working on a custom designed DM6467T Board. 

I'm trying run some not linux based program on it. some examples codes, source and header file are available on the Spectrum Digital site for ccsv3.3

After converting project to ccsv8 based project, ARM core is working well but DSP core can not connect and dialog box says target  is held at reset.(while target is not in reset )

within gel files is noted that this gel file is written for ccsv3.3. I dont know how to rewrite them for ccsv8.

I'm looking for solution or other example codes that can help.

  • Hi Ali,

    ali haji37 said:
    ARM core is working well but DSP core can not connect and dialog box says target  is held at reset.(while target is not in reset )

    This message means that DSP core need some additional initialization. Make sure you are running all DSP related init functions from GEL files (evmdm6467_arm.gel and evmdm6467_dsp.gel). There are GEL functions like DSP_Boot_from_L2_ram(), Setup_Psc_All_On() etc. And make sure this GEL functions are running successful.

    You might also try if below GEL files will be working fine for your board:

    Regards,
    Pavel

  • Thanks for reply

    It worked with the GEL file within your link and ccsv3.3

    Is there any other source code or example for DaVinci processors somewhere? 

    I'm well experienced with c2000 dual core MCUs and there are a lot of code example in ti website for them, but i can not find the same thing for c6000 and DaVinci processors.

    Best Regards.

  • Ali,

    In this link, we have ZIP file:

    Target Content - Includes source code & tests for the Davinci™ HD1080p EVM.

     

    You can also check appl notes:

     

    And Linux SDK:

    Regards,
    Pavel

     

  • launching debug session for the "evmdm6467_v1_revf"  in ccsv8 gives the following GEL output.

    (it can not execute  "boot_dsp_from_arm(0x11800000)" . the same procedure in ccsv3.3 is done successfully)

     

    ARM926: GEL Output: 
    DaVinci HD ARM Startup Sequence
    
    ARM926: GEL Output: Disable IRQ/FIQ
    ARM926: GEL Output: Flush Cache
    ARM926: GEL Output: Disable MMU
    ARM926: GEL Output: Enable Instruction Cache.
    
    ARM926: GEL Output: Setup PinMux...ARM926: GEL Output: [Done]
    ARM926: GEL Output: Setup Power Modules (All on)...ARM926: GEL Output: [Done]
    ARM926: GEL Output: Setup PLL0ARM926: GEL Output: (DSP = 594 MHz +ARM926: GEL Output: ARM = 297 MHz +ARM926: GEL Output: Onchip Oscillator)...ARM926: GEL Output: [Done]
    ARM926: GEL Output: Setup PLL1ARM926: GEL Output: (DDR2 Phy = 297 MHz +ARM926: GEL Output: Onchip Oscillator)...ARM926: GEL Output: [Done]
    ARM926: GEL Output: Setup DDR2 (297 MHz + 32-bit bus)...ARM926: GEL Output: [Done]
    ARM926: GEL Output: Setup EMIF CS2 - NAND Flash (8-bit bus)...ARM926: GEL Output: [Done]
    ARM926: GEL Output: Boot DSP from 0x11800000 ...ARM926: GEL: Error while executing OnTargetConnect(): Memory map prevented writing 0x11800000
    	 at GEL_MemoryFill(boot_address, 0, 32, 0x0000a120) [evmdm6467_arm.gel:1013]
    	 at boot_dsp_from_arm(0x11800000) [evmdm6467_arm.gel:1026]
    	 at DSP_Boot_from_L2_ram() [evmdm6467_arm.gel:44]
    	 at OnTargetConnect()
    ARM926: GEL Output: Disable VPSS
    ARM926: GEL Output: Disable IRQ/FIQ
    ARM926: GEL Output: Flush Cache
    ARM926: GEL Output: Disable MMU
    ARM926: GEL Output: Disable EDMA events
    ARM926: GEL Output: 
    ARM926: GEL Output: Disable VPSS
    ARM926: GEL Output: Disable IRQ/FIQ
    ARM926: GEL Output: Flush Cache
    ARM926: GEL Output: Disable MMU
    ARM926: GEL Output: Disable EDMA events
    ARM926: GEL Output: 

    it connects to ARM core but trying to connect to the dsp core gives the following emulator connection error: (EMU0/1 pins configuration is OK)

  • In general, ARM is the master so you need to connect ARM core first then try to connect DSP core then load the code on it. When you connect ARM core, the ARM gel will initialize all the peripherals on board and wakeup the DSP. Are you align with this?

    Usually the GEL file for the ARM will have a routine to release the DSP for reset. So you need to connect to the ARM first and run the GEL routine to do this (normally from the 'Scripts' menu). Sometimes it will automatically call this routine when you connect the target. In any case one the ARM releases the DSP from reset, you should be able to next connect to the DSP and access it.

    Check also below e2e threads:

    Regards,
    Pavel

  • Hi Pavel,

    Thanks for your attention

    Pavel Botev said:

    In general, ARM is the master so you need to connect ARM core first then try to connect DSP core then load the code on it. When you connect ARM core, the ARM gel will initialize all the peripherals on board and wakeup the DSP. Are you align with this?

    Yes,

    Seemingly the problem is with "DSP_Boot_from_L2_ram()" in the ARM GEL File. I replaced with by "DSP_Boot_from_DDR2( )" and connection was established successfully. Can you understand where is the problem?

    Best Regards.

    Ali

  • Ali,

    I can provide you below debug hints:

    - As you are using DM6467T, which is the DaVinci HD1080p – in this case, you shouldn’t be using the evmdm6467 but instead the davincihd1080p GEL files – automatically configured by the setup EVMDM6467T.

    - Looks like it is GEL memory map issue. You can update CCSv8 evmdm6467_arm.gel file, to make sure that memory address is writable

    /* DSP RAM */
       -  GEL_MapAddStr( 0x11818000, 0, 0x00020000, "R|W|AS4", 0 );   // DSP L2 RAM/Cache
    + GEL_MapAddStr( 0x11800000, 0, 0x00020000, "R|W|AS4", 0 ); // DSP L2 RAM/Cache GEL_MapAddStr( 0x11e00000, 0, 0x00008000, "R|W|AS4", 0 ); // DSP L1P Cache/RAM GEL_MapAddStr( 0x11f00000, 0, 0x00008000, "R|W|AS4", 0 ); // DSP L1D Cache/RAM

     

    Regards,
    Pavel