DSPRelated.com
Forums

Problem debugging the C64x+ in OMAP3530

Started by Coskun AYYILDIZ February 18, 2011
Coskun-

> I changed the board with another one and now there is no problem. I can connect
> both to the ARM and the DSP.
>
> However now, when I try to create a .tcf (DSP/BIOS Configuration File) file in
> order to run a DSP/BIOS example, in the list of ti platforms I cannot see
> OMAP3530 or DM3730. How can I add the OMAP3530 to the list?

Did you get this one figured out? If not, what OMAP devices do you see in the list? It could be that you need a
tools upgrade... TI has been moving awfully fast on CCS + tools lately. Seems just yesterday that CCS v3.3 was
standard equipment, now CCS 5.x is the next big thing.

-Jeff

> ________________________________
> From: Jeff Brower
> To: c...
> Cc: Coskun AYYILDIZ
> Sent: Thu, February 24, 2011 7:07:06 AM
> Subject: Re: [c6x] Problem debugging the C64x+ in OMAP3530
>
> Coskun-
>
>> Now, I have a serious problem:
>>
>> I connect to the ARM side, see the following three targets in the debug
> window:
>>
>> 1) Blackhawk USB560-BP Emulator_0/Cortex_A8_0[Project Debug Session]
>> 2) Blackhawk USB560-BP Emulator_0/C64XP_0[Non-Project Debug Session]
>> 3) Blackhawk USB560-BP Emulator_0/CSETB_0[Non-Project Debug Session]
>>
>> I connect the first target successfully and I execute the
>> Scripts->IVA220_Startup->IVA22_GEM_startupscript. In the console I see:
>>
>> Cortex_A8_0: result: C64X+ release from reset
>>
>> Then, I try to connect the second target (C64X+) and see the following error:
>>
>> C64XP_0: Error connecting to the target:
>> Error 0x80000240/-1146 Fatal Error during: Initialization, OCS,
>> Invalid data was scanned by the emulation controller.
>> Verify the board setup to make sure the scan chain is properly
>> defined.
>> If the setup is correct, then RESET EMULATOR. This will disconnect each
>> target from the emulator.
>> The targets should then be power cycled
>> or hard reset followed by an emureset and reconnect to each target.
>>
>> When I close this project and open a DSP project, then I get the same error,
>> too.
>>
>> Can anybody please tell me why this problem occurs and how I can come over it?
>> Besides, what is this third target seen above which is named CSETB.
>
> Well, the error message does mention scan chain. Did you use the CCS setup
> wizard to define devices in the scan
> chain? Obviously there should be the ARM core, C64x+ core, and maybe CSETB
> (Emulation Trace Buffer), but I'm not sure
> what is the correct chain sequence. How are you defining these to CCS? Did
> you use the CCS setup wizard? Was there
> an example config provided by the Blackhawk guys?
>
> Suggestions:
>
> 1) First use whatever emulator test utility provided or recommended by Blackhawk
> guys. They should specify the
> equivalent of Spectrum Digital's "SDConfig" or TI's "xdsprobe" and you can use
> that to verify the scan chain is
> exactly correct (bit length, no errors, etc).
>
> 2) Locate a Beagleboard scan chain config example, either on the various
> Beagleboard wiki's, TI's e2e forum, etc.
>
> Others have done this many times so it's definitely a "follow the steps" sort of
> thing -- although it could well be
> that with different JTAG emulators, the steps are somewhat different.
>
> 3) Only after you are 100% sure of the scan chain and basic JTAG functionality,
> then go back to using CCS. If you
> jump directly to CCS debug/emulation functionality and then encounter trouble,
> the error messages can be confusing and
> not easy to decipher what is really wrong (as you've now seen firsthand).
>
> -Jeff
>> ________________________________
>> From: Jeff Brower
>> To: Coskun AYYILDIZ
>> Cc: c...
>> Sent: Tue, February 22, 2011 1:12:45 AM
>> Subject: Re: [c6x] Problem debugging the C64x+ in OMAP3530
>> Coskun-
>>
>>> I searched the memory sections of OMAP 3530 and saw the following page:
>>>
>>> http://pixhawk.ethz.ch/wiki/tutorials/omap/dsplink/memorymap
>>>
>>> now, my linker.cmd is the following:
>>>
>>> -stack 0x00000800
>>> -heap 0x00000800
>>>
>>> MEMORY
>>> {
>>> IRAM: ORIGIN = 0x80000000 LENGTH = 0x00040000
>>> }
>>
>> I assume you're trying to locate code into DSP side internal memory, as
> Richard
>> suggested (and you're not actually
>> trying to run on ARM / GPMC side). In that case, your memory segment
> directive
>> above indicates non-internal mem space
>> from a DSP subsystem perspective. In the 3530 data sheet
>> (http://focus.ti.com/lit/ug/spruf98o/spruf98o.pdf), look in
>> table 2-9, "DSP View of the IVA2.2 Subsystem Memory Space".
>>
>> -Jeff
>>
>>> SECTIONS
>>> {
>>> .text > IRAM
>>> .const > IRAM
>>> .bss > IRAM
>>> .far > IRAM
>>> .switch > IRAM
>>> .stack > IRAM
>>> .data > IRAM
>>> .cinit > IRAM
>>> .sysmem > IRAM
>>> .cio > IRAM
>>> }
>>>
>>> Now, I no longer get the data verification error. But, when I press the bug,
>>>the
>>> prompt messages say the followings in order:
>>>
>>> Launching Debug Session
>>> Connecting to target "Blackhawk USB560-BP Emulator_0/C64xP_0"
>>> Loading program 'dsp_app...lackhawk USB560_BP Emulator_0/C64xP_0'.
>>>
>>> Then, the prompt messages dissappear and I expect the PC cursor to go to
>> main()
>>> but unfortunately nothing happens. I get no errors and I cannot see the debug
>>> start. I check View->Memory, to see the memory but it is disabled. When I
>> check
>>> View->Register, I cannot see anything either.
>>>
>>> The debug session seems not to have started.
>>>
>>>
>>> The CPU is awake, I get send the program to the DSP but I cannot see the
> debug
>>> start. I cant really understand where I am making the mistake..
>>>
>>> Can anyone please help me out of this?
>>>
>>> Thanks..
>>>
>>> Coskun
>>>
>>>
>>>
>>>
>>>
>>> ________________________________
>>> From: Richard Williams
>>> To: Coskun AYYILDIZ ; c...
>>> Sent: Fri, February 18, 2011 5:36:40 PM
>>> Subject: Re: [c6x] Problem debugging the C64x+ in OMAP3530
>>>
>>>
>>> coskun,
>>>
>>> You will definitely have to mod the .cmd file so the memory map matches the
>>> target (DSP+any external ram/rom/eeprom, etc.)
>>> To make the modification...
>>> look in the architecture manual for the specific DSP on your target board.
>>> change the memory statements in the .cmd file to match the memory on your
>>>target
>>> board.
>>> Fixing the memory statements will eliminate the memory verification errors.
>>>
>>> If you still have a problem, then post the contents of the .cmd file you are
>>> using so we can help you debug it.
>>>
>>> R. Williams
>>>
>>>
>>>
>>>
>>> ---------- Original Message -----------
>>> From: Coskun AYYILDIZ
>>> To: c...
>>> Sent: Fri, 18 Feb 2011 05:42:54 -0800 (PST)
>>> Subject: [c6x] Problem debugging the C64x+ in OMAP3530
>>>
>>>> Hi everyone,
>>>>
>>>> I am using ccsv4 and blackhawk usb560 bp emulator to debug a
>>>> hello_world application on the DSP side of OMAP3530 in beagle board. I
>>>> have problems debugging.
>>>>
>>>> First, in order to release the DSP out of reset, I connected to the
>>>> ARM side, built the app and hit the debug bug. In the console I saw
>>>> the following error messages:
>>>>
>>>> 1)
>>>> Trouble Reading Register ETM_ID:
>>>> Error 0x20002004/-1203
>>>> Severe Error during: Register, Control,
>>>> The DAP access, address 0x00003D5B, has returned a SLAVE error.
>>>>
>>>> 2)
>>>> The GEL callback "OnTargetConnect()" for the target "Blackhawk USB560-
>>>> BP Emulator_0/Cortex_A8_0" is still processing. The function could
>>>> contain an infinite loop. Do you wish to pause the processing of this
>>>> function and continue? I hit Yes and then the third message shows up:
>>>> 3) The GEL callback "OnResetDetected()" for the target "Blackhawk
>>>> USB560-BP Emulator_0/Cortex_A8_0" is still processing. The function
>>>> could contain an infinite loop. Do you wish to pause the processing
>>>> of this function and continue? I again hit Yes here: Now, when I hit
>>>> cancel for the first error message, in the console I see: result:
>>>> C64x+ release from reset.
>>>>
>>>> Although I got erorr messages I could get DSP out of reset.
>>>>
>>>> This time, in order to debug the DSP side I created a hello_world
>>>> project. I added a linker.cmd file that my friend had previously used
>>>> for C6748 CPU. This time when I hit the debug bug, I see the following
>>>> error messages:
>>>>
>>>> C64XP_0: File Loader: Data verification failed at address 0x11800000
>>>> Please verify target memory and memory map. Error found during data
>>>>verification.
>>>> Ensure the linker command file matches the memory map.
>>>>
>>>> I wonder whether the first error messages cause the second ones or the
>>>> second problem is totally independent. How can I solve this problem?
>>>> What .cmd file should I use or should I modify the .cmd file? I
>>>> already have spent more than enough time on this therefore this issue
>>>> is kind of urgent.
>>>>
>>>> Your helps will be very beneficial.
>>>>
>>>> Thank you.
>>> ------- End of Original Message -------
>

_____________________________________