Rick Altherr wrote:
>>>>   irscan omap3530.jrc 7
>>>>   drscan omap3530.jrc 8 0x89
>>>>   irscan omap3530.jrc 2
>>>>   drscan omap3530.jrc 32 0x81000080
>>>>   drscan omap3530.jrc 32 0xa3002048
>>>>   drscan omap3530.jrc 32 0x81002148
>>
>> Is this a copy/paste error and it should be
>>
>> 0x81000081
>>
>> instead?
>>
> I started with the config provided by someone on the list.  The TI doc  
> shows a slightly different set of commands.  I would trust the TI doc,  
> but it also doesn't tell you what those commands are doing.

I tried three different configurations (result below):

(1) The one you sent

jtag configure $_CHIPNAME.cpu -event tap-enable {
        puts "Enabling Cortex-A8 @ OMAP3"
        irscan omap3530.jrc 7
        drscan omap3530.jrc 8 0x89
        irscan omap3530.jrc 2
        drscan omap3530.jrc 32 0x81000080
        drscan omap3530.jrc 32 0xa3002048
        drscan omap3530.jrc 32 0x81002148
        drscan omap3530.jrc 32 0xa3002148
        runtest 10
        puts "Cortex-A8 @ OMAP3 enabled"
}

(2) Replace 0x81002148 by 0x81000081 as done in

http://elinux.org/BeagleBoardJTAG#BDI_config

jtag configure $_CHIPNAME.cpu -event tap-enable {
        puts "Enabling Cortex-A8 @ OMAP3"
        irscan omap3530.jrc 7
        drscan omap3530.jrc 8 0x89
        irscan omap3530.jrc 2
        drscan omap3530.jrc 32 0x81000080
        drscan omap3530.jrc 32 0xa3002048
        drscan omap3530.jrc 32 0x81000081
        drscan omap3530.jrc 32 0xa3002148
        runtest 10
        puts "Cortex-A8 @ OMAP3 enabled"
}

(3) Having a look to (from TI document)

http://elinux.org/OMAP3530_ICEPICK

and creating

jtag configure $_CHIPNAME.cpu -event tap-enable {
        puts "Enabling Cortex-A8 @ OMAP3"
        irscan omap3530.jrc 7
        drscan omap3530.jrc 8 0x89
        irscan omap3530.jrc 2
        # Embed the port address 0x0f000000 value 3 ?
        drscan omap3530.jrc 32 0xa3002108
        runtest 10
        puts "Cortex-A8 @ OMAP3 enabled"
}

from it.

I don't know what to do with

## Function  : Embed the port address in next command.
    Parameter : The port address field is '0x0f000000'.
    Parameter : The port address value is '3'.

though.

>>>>> The good news is that we can _possibly_ bring up the DAP and  not   
>>>>> attempt a second chain examination.  It means the output  of  
>>>>> scan_chain  will be wrong in some ways, but at the very  least, we  
>>>>> should be able  to manually query the DAP.  If nothing  else, 
>>>>> being  able to talk to the  DAP means that development on  
>>>>> Cortex-A8 target  support can start even  if the JRC isn't  
>>>>> behaving perfectly.
>>>>
>>>> How would I do "we should be able to manually query the DAP"?  I.e.  
>>>> how would I verify that I can talk to the DAP if second  scan_chain  
>>>> "doesn't work"?
>>>>
>>> In  this case, it knows that the DAP is enabled, but it did not  
>>> retrieve  the idcode. Manually running irscan and drscan to  retreive 
>>> the idcode  would prove the DAP is enabled.
>>
>> Could you give some irscan and drscan commands to do this?
>>
> 
> For any CoreSight device, the IDCODE should be obtainable by:
> 
> irscan <tap> 0xFE
> drscan <tap> 32 0x0
> 
> The drscan should return the IDCODE.

Testing with above 3 configurations I then did (thanks for the hint):

jtag tapenable omap3530.cpu
irscan omap3530.cpu 0xFE
drscan omap3530.cpu 32 0x0

and independent of config (1), (2) or (3) I always get

-- cut --
Open On-Chip Debugger
 > scan_chain
      TapName            | Enabled |   IdCode      Expected    IrLen 
IrCap  IrMask Instr
---|--------------------|---------|------------|------------|------|------|------|---------
  0 | omap3530.jrc       |    Y    | 0x0b7ae02f | 0x0b7ae02f | 0x06 | 
0x01 | 0x0f | 0x3f
  1 | omap3530.cpu       |    n    | 0x00000000 | 0xffffffff | 0x04 | 
0x01 | 0x00 | 0x0f

 > jtag tapenable omap3530.cpu
Enabling Cortex-A8 @ OMAP3
Cortex-A8 @ OMAP3 enabled
1
 > scan_chain
      TapName            | Enabled |   IdCode      Expected    IrLen 
IrCap  IrMask Instr
---|--------------------|---------|------------|------------|------|------|------|---------
  0 | omap3530.jrc       |    Y    | 0x0b7ae02f | 0x0b7ae02f | 0x06 | 
0x01 | 0x0f | 0x3f
  1 | omap3530.cpu       |    Y    | 0x00000000 | 0xffffffff | 0x04 | 
0x01 | 0x00 | 0x0f

 > irscan omap3530.cpu 0xFE

 > drscan omap3530.cpu 32 0x0
00000000

-- cut --

Seems something is still missing here :(

I think getting "all zeros" is what you observed some days ago, too?

Best regards

Dirk
_______________________________________________
Openocd-development mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/openocd-development

Reply via email to