On 30 July 2011 22:48, B <[email protected]> wrote:
> Using Open On-Chip Debugger 0.5.0-dev-00948-gd4cd6f0 (2011-07-30-15:55)
>
> LM3S3N26-C5 is not detected as a Tempest device and so uses the sysresetreq
> in place of the needed vectreset in stellaris.cfg.
>
> The device class appears to be set by:
>
> set device_class [expr (([mrw 0x400fe000] >> 16) & 0xff)]
>
> This memory location contains the device class. Tempest is 0x04.
>
> There is an errata where LM3S3N26 misreports itself as 0x03.
>
> My attempt at a workaround was to define a variable:
>
> set DEVICECLASSIS 0x04
>
> then call a modified stellaris.cfg:
>
>
>     if { [info exists DEVICECLASSIS ] } {
>        set device_class $DEVICECLASSIS
>     } else {
>        set device_class [expr (([mrw 0x400fe000] >> 16) & 0xff)]
>     }
>
>     if {$device_class == 0 || $device_class == 1 || $device_class == 3} {
>         # Sandstorm, Fury and DustDevil are able to use NVIC SYSRESETREQ
>         cortex_m3 reset_config sysresetreq
>     } else {
>         # Tempest and newer default to using NVIC VECTRESET
>         # this does mean a reset-init event handler is required to reset
>         # any peripherals
>         cortex_m3 reset_config vectreset
>     }
>
>
> The if statement doesn't seem to work properly. Changing the sysresetreq  to
> vectreset by hand does resolve the issue.
>
> Is there something wrong with my if info exists workaround syntax?
>

you need to use global - see pic32mx.cfg for an example

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

Reply via email to