Hi Magnus, On Mon, Aug 31, 2009 at 05:36:11PM +0200, Magnus Lundin wrote:
>> dap_ap_select(swjdp, 1); >> before the two lines >> dap_ap_read_reg_u32(swjdp, 0xFC, &idreg); >> dap_ap_read_reg_u32(swjdp, 0xF8, &romaddr); >> in ahbap_debugport_init() >> >> > What happens when you do "dap info 0" from the telnet interface ? ======= Open On-Chip Debugger > dap info 0 ap identification register 0x14770001 Type is mem-ap AHB ap debugbase 0xffffffff No ROM table present > dap info 1 ap identification register 0x04770002 Type is mem-ap APB ap debugbase 0x80000000 ROM table in legacy format CID3 0xb1, CID2 0x5, CID1 0x10 CID0, 0xd MEMTYPE system memory not present. Dedicated debug bus ROMTABLE[0x0] = 0x1003 Component base address 0x80001000, pid4 0x4, start address 0x80001000 Component cid1 0x90, class is CoreSight component CID3 0xb1, CID2 0x5, CID1 0x90, CID0, 0xd PID3 0x0, PID2 0xb, PID1 0xb9, PID0, 0x7 ROMTABLE[0x4] = 0x2003 Component base address 0x80002000, pid4 0x4, start address 0x80002000 Component cid1 0x90, class is CoreSight component CID3 0xb1, CID2 0x5, CID1 0x90, CID0, 0xd PID3 0x0, PID2 0xb, PID1 0xb9, PID0, 0x6 ROMTABLE[0x8] = 0x4003 Component base address 0x80004000, pid4 0x4, start address 0x80004000 Component cid1 0x90, class is CoreSight component CID3 0xb1, CID2 0x5, CID1 0x90, CID0, 0xd PID3 0x0, PID2 0xb, PID1 0xb9, PID0, 0x8 ROMTABLE[0xc] = 0x5003 Component base address 0x80005000, pid4 0x4, start address 0x80005000 Component cid1 0x90, class is CoreSight component CID3 0xb1, CID2 0x5, CID1 0x90, CID0, 0xd PID3 0x0, PID2 0x5b, PID1 0xbc, PID0, 0x8 ROMTABLE[0x10] = 0x6003 Component base address 0x80006000, pid4 0x4, start address 0x80006000 Component cid1 0x90, class is CoreSight component CID3 0xb1, CID2 0x5, CID1 0x90, CID0, 0xd PID3 0x0, PID2 0x5b, PID1 0xb9, PID0, 0x21 ROMTABLE[0x14] = 0x7003 Component base address 0x80007000, pid4 0x4, start address 0x80007000 Component cid1 0x90, class is CoreSight component CID3 0xb1, CID2 0x5, CID1 0x90, CID0, 0xd PID3 0x0, PID2 0x5b, PID1 0xb9, PID0, 0x22 ROMTABLE[0x18] = 0x8003 Component base address 0x80008000, pid4 0x0, start address 0x80008000 Component cid1 0x0, class is Reserved CID3 0x0, CID2 0x0, CID1 0x0, CID0, 0x0 PID3 0x0, PID2 0x0, PID1 0x0, PID0, 0x0 ROMTABLE[0x1c] = 0x0 End of ROM table > dap info 3 ap identification register 0x00000000 No AP found at this apsel 0x3 No ROM table present ======= >> However, as soon as the code enters cortex_a8_poll() and calls >> >> retval = mem_ap_read_atomic_u32(swjdp, >> OMAP3530_DEBUG_BASE + CPUDBG_DSCR, &dscr); >> >> the implicit swjdp_transaction_endcheck(). Specifically, >> SSTICKYORUN is set during the first DP_CTRL_STAT read. > > So you can read some of the registers, can you read CPUDBG_DSCR ? and > its value is? no, it cannot be read. neither from u-boot, nor from the AHB DAP > Your problems are probably related to the DBGEN signal, this is an input > to the Cortex_A8 core and controls debug access. There is some > documentation of this in the Cortex_A8 TRM, but no way to controling it > from the debug registers defined by ARM. I see. It's somewhat strange if ARM has all those detailed and fairly extensive specifications (and the romtable to discover the debugging capabilities), but then no standard way how DBGEN can be set? That's weird. After searching the Cortex-A8 TRM, I found Chapter 12.5.10 authentication status register (0xFB8). Bit 0 of this register is supposed to correspond to the DBGEN level. Reading this register through 'mdw 0x80005fb8' tells me it is set to 0xff, which would mean that DBGEN is set. Also, the SoC has its own SJGTAG_STATUS register that prinets the DBGEN, NIDEN, SPIDEN, SPNIDEN signals at 0x80008004, and all of those are set to '1' So what now? Any more ideas? -- - Harald Welte <lafo...@gnumonks.org> http://laforge.gnumonks.org/ ============================================================================ "Privacy in residential applications is a desirable marketing option." (ETSI EN 300 175-7 Ch. A6) _______________________________________________ Openocd-development mailing list Openocd-development@lists.berlios.de https://lists.berlios.de/mailman/listinfo/openocd-development