Hi,

> 1. could you post your .cfg script. I'd like tos ee s2c2450 added to
> the target library.

here is the configuration script - same as s3c2440, but with correct ID and 
variant:

--------------------------------------------------------------------------------

# Target configuration for the Samsung 2450 system on chip
# Processor       : ARM926ejs (wb) rev 0 (v4l)
# Info:   JTAG tap: s3c2450.cpu tap/device found: 0x07926F0F

if { [info exists CHIPNAME] } { 
   set  _CHIPNAME $CHIPNAME    
} else {         
   set  _CHIPNAME s3c2450
}

if { [info exists ENDIAN] } {   
   set  _ENDIAN $ENDIAN    
} else {         
  # this defaults to a bigendian
   set  _ENDIAN little
}

if { [info exists CPUTAPID ] } {
   set _CPUTAPID $CPUTAPID
} else {
  # force an error till we get a good number
   set _CPUTAPID 0x07926f0f
}

#jtag scan chain
jtag newtap $_CHIPNAME cpu -irlen 4 -ircapture 0xE -irmask 0x0f -expected-id 
$_CPUTAPID

set _TARGETNAME [format "%s.cpu" $_CHIPNAME]
target create $_TARGETNAME arm926ejs -endian $_ENDIAN -chain-position 
$_TARGETNAME -variant arm926ejs

reset_config trst_and_srst

--------------------------------------------------------------------------------

The chip has two internal taps, but they are selected by hardware. That means 
the physical BS chain (3) is not accessible in normal operation. AFAIK - 
because I'm still waiting conformation form Samsung.

> 2. try adding "reset_config trst_and_srst srst_pulls_trst"

I've tried many reset configuration, including the one you suggest, without 
relevant results - as per the reset halt issue. However, I can confirm that 
using the setting above does prevent errors on reset command - provided the 
jtag frequency is set to 1 (the target seems to be very sensitive to jtag 
frequency...). This somehow puzzles me even more, since the target exposes both 
resets with no interconnection.

Going back to the reset halt issue, I will investigate further. The ARM 
documentation states 
(http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dai0205a/index.html):

"If you are planning on debugging from reset because you have no code in 
memory, you should assert EDBGRQ, or the DBGRQ bit in the EmbeddedICE-RT debug 
control register before the ARM core comes out of reset. The ARM core will 
enter Halt mode debug before trying to execute anything after coming out of 
reset, but only after the ARM core has attempted to fetch a few instructions. 
Therefore the memory system should not hold the ARM core off, or return error 
responses during these initial instruction fetches."


I've tried to tweak with arm7_9_assert_reset in order to match the suggested 
sequence - instead of using vector catch or watchpoints. Unfortunately, I'm not 
enough inside the project to cope with the possible side effects - but anyway, 
this approach did not work. I will chack further, since the reset halt 
functionality is of major interest when bringing the target to life.

Best regards,
Stefano


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

Reply via email to