Am 21.04.2015 um 09:19 schrieb Paul Fertser:
> On Mon, Apr 20, 2015 at 02:24:41PM +0200, Andreas Färber wrote:
>> Am 20.04.2015 um 13:49 schrieb Andreas Färber:
>>> xmc4500-application-kit-sdram.cfg with http://openocd.zylin.com/#/c/2721/ :
>>>
>> [...]
>>>> reset init
>>> SWD IDCODE 0x2ba01477
>>> timed out while waiting for target halted
>>> TARGET: xmc4500.cpu - Not halted
>>> in procedure 'reset'
>>> in procedure 'ocd_bouncer'
>>>
>>>
>>> Halt timed out, wake up GDB.
>>>>
>>
>> ../../bin/bin/openocd -f openocd.cfg -c init -c "reset init" -d3 2>
>> sdram-reset-init.log
> 
> This log looks like hardware SRST line on this target _fully_ resets
> it (as if it was power-cycled) so the special reset vector catch bit
> set before asserting SRST is lost and the target gets to run after
> deasserting. This looks surprisingly similar to what Dominic reports
> with LPC1857.
> 
> Do you think you might find some official vendor recommendation on how
> to implement "halt on reset" operation? Can you probably call their
> support line of find that in the documentation please?

I see some bits on halt after reset in chapter 27.4.2 of the XMC4500
Reference Manual v1.5, available from
http://www.infineon.com/cms/en/product/microcontrollers/32-bit-xmc4000-industrial-microcontrollers-arm%EF%BF%BDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD-cortex!22-m4/channel.html?channel=db3a30433580b3710135a03abaf9385e&tab=2#db3a304412b407950112b4095ddb01f4

What I read out of this is that while some start-up software executes
but before the user software executes, two CoreSight registers need to
be written (CTRL/STAT.CDBGPWRUPREQ, DHCSR.C_DEBUGEN) and a breakpoint be
placed on the first user instruction, for halt on power-up to work.
Unless a reset of the debug domain is specifically requested, those
settings will then remain in place for subsequent warm resets.

Section "SWJ-DP reset" mentions nTRST initializing the TAP controller.
Section "SW-DP reset" mentions PORESETn. In chapter 27.3.1.1 that is.
And the boards require the use of SWD unless modifications are made -
Jeff mentioned some resistor a while back.

Anyway, the halt-on-reset logic doesn't seem too specific to XMC4500,
with the Infineon manual pointing to the "ARMv7-M Architecture Reference
Manual".

Regards,
Andreas

-- 
SUSE Linux GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Felix Imendörffer, Jane Smithard, Jennifer Guild, Dilip Upmanyu,
Graham Norton; HRB 21284 (AG Nürnberg)

------------------------------------------------------------------------------
BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT
Develop your own process in accordance with the BPMN 2 standard
Learn Process modeling best practices with Bonita BPM through live exercises
http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- event?utm_
source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF
_______________________________________________
OpenOCD-devel mailing list
OpenOCD-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openocd-devel

Reply via email to