Re: [psas-avionics] latest openocd troubles
On Sat, Dec 27, 2008 at 12:03:35PM -0800, K wrote: > > Off the cuff, did you update your ftdi libs? I remember > this fixing the not halting problems at one point. I'm using > libftd2xx0.4.13.tar.gz > > wget http://www.ftdichip.com/Drivers/D2XX/Linux/libftd2xx0.4.13.tar.gz > > Oddly, I don't use the 'halt' command I use > > # stop > reset halt > > OR > > # Wait for target to enter debug mode. Default time is 5ms? > wait_halt > > which may not make any difference if halt is > an alias for the same command(s). > > If I get some time today I'll hook something up > and play with the halt command. Thanks, FWIW I have things mostly working again. However; the flash write_image erase 0 bin writes an image to the flash that seems to be run length encoded / stripped of a bunch of zeros between 0x40 and 0x1c0. When I use ihex or elf file types in write_image I get the same bad results. lsp21isp still works for me. --mgross > > -K > > > > > mgross wrote: > > On Fri, Dec 26, 2008 at 12:08:46PM -0800, K wrote: > >> > >> I have been working to get v1257 up and running, with some > >> success. > >> > >>> sudo /home/kwilson/PSAS/LPCDEV/LPC/2148/OCD/bin/openocd --version > >> Open On-Chip Debugger 1.0 (2008-12-19-11:49) svn:1257 > >> > >> I noticed this in your output: > >> current mode: System > >> > >> and I have > >> > >> current mode: Supervisor > >> > >> So, I have attached my cfg and runscript, It may be a script > >> problem. I think I ran into this before and Dave C. showed me > >> a fix: > >> > >> # Force ARM7 into supervisor mode > >> reg cpsr 0x13 > > > > Hay thanks! This part helped a lot. I setting the cpsr to 0x13 got > > rid of the error messages. note: Before I got your email I was able > > to program the thing using svn rev 260 of openocd. > > > > My next problem is I no longer am able to get the lpc-p2148 to enter > > the halt state. It keepis running the lpc-p2148 demo program. > > > > Attempts to halt result in > > > > gr...@mgross-test:~$ telnet localhost > > Trying 127.0.0.1... > > Connected to localhost. > > Escape character is '^]'. > > Open On-Chip Debugger > >> halt > > timed out while waiting for target halted > > Runtime error, file "command.c", line 456: > > > > > > jumper one is off. > > > > Thanks for your help. > > > > --mgross > > > > > > > >> # mww: Memory word write > >> # Set the MEMMAP reg to point to flash (avoids problems while trying to > >> #flash) > >> mww 0xE01FC040 1 > >> > >> Of course, these may have fixed a different issue, or two, but it's > >> worth a try if you haven't. > >> > >> I do see some differences between your config and mine: > >> > >> There are 'sub'-config files in the openocd configuration and > >> I source the one for the olimex jtag. I don't know if it matters... > >> > >> #--- JTAG Interface Type > >> source [find interface/olimex-arm-usb-ocd.cfg] > >> jtag_speed 15 # JTAG clock divider > >> > >> You have a version 17 steps ahead of mine though... > >> > >> Luck, > >> -K > >> > >> > >> > >> mgross wrote: > >>> I'm attempting to get back into the lpc2148 efforts again, and I'm > >>> rebuilding my toolchain and I see that openocd has changed a lot. > >>> > >>> I'm running svn:1274, and it sort of works but I'm getting > >>> target state: halted > >>> target halted in Thumb state due to watchpoint, current mode: System > >>> cpsr: 0x pc: 0xffef > >>> Error: invalid mode value encountered > >>> Error: cpsr contains invalid mode value - communication failure > >>> target state: halted > >>> target halted in Thumb state due to watchpoint, current mode: System > >>> cpsr: 0x pc: 0xffef > >>> > >>> That repeat. > >>> > >>> Does anyone have any ideas on what could be going on? > >>> > >>> Thanks for any ideas. > >>> > >>> Thanks, > >>> > >>> --mgross > >>> > >>> > >>> FWIW my openocd.cfg is: > >>> > >>> #daemon configuration > >>> telnet_port > >>> gdb_port > >>> > >>> > >>> interface ft2232 > >>> ft2232_device_desc "Olimex OpenOCD JTAG" > >>> ft2232_layout olimex-jtag > >>> ft2232_vid_pid 0x15ba 0x0003 > >>> > >>> if { [info exists CHIPNAME] } { > >>>set _CHIPNAME $CHIPNAME > >>> } else { > >>>set _CHIPNAME lpc2148 > >>> } > >>> > >>> if { [info exists ENDIAN] } { > >>>set _ENDIAN $ENDIAN > >>> } else { > >>>set _ENDIAN little > >>> } > >>> > >>> if { [info exists CPUTAPID ] } { > >>>set _CPUTAPID $CPUTAPID > >>> } else { > >>> # force an error till we get a good number > >>>set _CPUTAPID 0x > >>> } > >>> > >>> #delays on reset lines > >>> jtag_nsrst_delay 200 > >>> jtag_ntrst_delay 200 > >>> > >>> # NOTE!!! LPCs need reset pulled while RTCK is low. 0 to activate > >>> # JTAG, power-on reset is not enough, i.e. you need to perform a > >>> # reset before being able to talk to the LPC2148, attach is not > >>> # possible. > >>> > >>> #use combined on interfaces or targets that can't set TRST/SRST > >>> sep
Re: [psas-avionics] latest openocd troubles
Off the cuff, did you update your ftdi libs? I remember this fixing the not halting problems at one point. I'm using libftd2xx0.4.13.tar.gz wget http://www.ftdichip.com/Drivers/D2XX/Linux/libftd2xx0.4.13.tar.gz Oddly, I don't use the 'halt' command I use # stop reset halt OR # Wait for target to enter debug mode. Default time is 5ms? wait_halt which may not make any difference if halt is an alias for the same command(s). If I get some time today I'll hook something up and play with the halt command. -K mgross wrote: > On Fri, Dec 26, 2008 at 12:08:46PM -0800, K wrote: >> >> I have been working to get v1257 up and running, with some >> success. >> >>> sudo /home/kwilson/PSAS/LPCDEV/LPC/2148/OCD/bin/openocd --version >> Open On-Chip Debugger 1.0 (2008-12-19-11:49) svn:1257 >> >> I noticed this in your output: >> current mode: System >> >> and I have >> >> current mode: Supervisor >> >> So, I have attached my cfg and runscript, It may be a script >> problem. I think I ran into this before and Dave C. showed me >> a fix: >> >> # Force ARM7 into supervisor mode >> reg cpsr 0x13 > > Hay thanks! This part helped a lot. I setting the cpsr to 0x13 got > rid of the error messages. note: Before I got your email I was able > to program the thing using svn rev 260 of openocd. > > My next problem is I no longer am able to get the lpc-p2148 to enter > the halt state. It keepis running the lpc-p2148 demo program. > > Attempts to halt result in > > gr...@mgross-test:~$ telnet localhost > Trying 127.0.0.1... > Connected to localhost. > Escape character is '^]'. > Open On-Chip Debugger >> halt > timed out while waiting for target halted > Runtime error, file "command.c", line 456: > > > jumper one is off. > > Thanks for your help. > > --mgross > > > >> # mww: Memory word write >> # Set the MEMMAP reg to point to flash (avoids problems while trying to >> #flash) >> mww 0xE01FC040 1 >> >> Of course, these may have fixed a different issue, or two, but it's >> worth a try if you haven't. >> >> I do see some differences between your config and mine: >> >> There are 'sub'-config files in the openocd configuration and >> I source the one for the olimex jtag. I don't know if it matters... >> >> #--- JTAG Interface Type >> source [find interface/olimex-arm-usb-ocd.cfg] >> jtag_speed 15 # JTAG clock divider >> >> You have a version 17 steps ahead of mine though... >> >> Luck, >> -K >> >> >> >> mgross wrote: >>> I'm attempting to get back into the lpc2148 efforts again, and I'm >>> rebuilding my toolchain and I see that openocd has changed a lot. >>> >>> I'm running svn:1274, and it sort of works but I'm getting >>> target state: halted >>> target halted in Thumb state due to watchpoint, current mode: System >>> cpsr: 0x pc: 0xffef >>> Error: invalid mode value encountered >>> Error: cpsr contains invalid mode value - communication failure >>> target state: halted >>> target halted in Thumb state due to watchpoint, current mode: System >>> cpsr: 0x pc: 0xffef >>> >>> That repeat. >>> >>> Does anyone have any ideas on what could be going on? >>> >>> Thanks for any ideas. >>> >>> Thanks, >>> >>> --mgross >>> >>> >>> FWIW my openocd.cfg is: >>> >>> #daemon configuration >>> telnet_port >>> gdb_port >>> >>> >>> interface ft2232 >>> ft2232_device_desc "Olimex OpenOCD JTAG" >>> ft2232_layout olimex-jtag >>> ft2232_vid_pid 0x15ba 0x0003 >>> >>> if { [info exists CHIPNAME] } { >>>set _CHIPNAME $CHIPNAME >>> } else { >>>set _CHIPNAME lpc2148 >>> } >>> >>> if { [info exists ENDIAN] } { >>>set _ENDIAN $ENDIAN >>> } else { >>>set _ENDIAN little >>> } >>> >>> if { [info exists CPUTAPID ] } { >>>set _CPUTAPID $CPUTAPID >>> } else { >>> # force an error till we get a good number >>>set _CPUTAPID 0x >>> } >>> >>> #delays on reset lines >>> jtag_nsrst_delay 200 >>> jtag_ntrst_delay 200 >>> >>> # NOTE!!! LPCs need reset pulled while RTCK is low. 0 to activate >>> # JTAG, power-on reset is not enough, i.e. you need to perform a >>> # reset before being able to talk to the LPC2148, attach is not >>> # possible. >>> >>> #use combined on interfaces or targets that can't set TRST/SRST >>> separately >>> reset_config trst_and_srst srst_pulls_trst >>> >>> #jtag scan chain >>> jtag newtap $_CHIPNAME cpu -irlen 4 -ircapture 0x1 -irmask 0xf >>> -expected-id $_CPUTAPID >>> >>> set _TARGETNAME [format "%s.cpu" $_CHIPNAME] >>> target create $_TARGETNAME arm7tdmi -endian $_ENDIAN -chain-position >>> $_TARGETNAME -variant arm7tdmi-s_r4 >>> $_TARGETNAME configure -work-area-virt 0 -work-area-phys 0x4000 >>> -work-area-size 0x4000 -work-area-backup 0 >>> $_TARGETNAME configure -event reset-init { >>> # Force target into ARM state >>> soft_reset_halt >>> #do not remap 0x-0x0020 to anything but the flash >>> mwb 0xE01FC040 0x01 >>> >>> } >>> #working_area 0 0x400
Re: [psas-avionics] latest openocd troubles
On Fri, Dec 26, 2008 at 12:08:46PM -0800, K wrote: > > > I have been working to get v1257 up and running, with some > success. > > > sudo /home/kwilson/PSAS/LPCDEV/LPC/2148/OCD/bin/openocd --version > Open On-Chip Debugger 1.0 (2008-12-19-11:49) svn:1257 > > I noticed this in your output: > current mode: System > > and I have > > current mode: Supervisor > > So, I have attached my cfg and runscript, It may be a script > problem. I think I ran into this before and Dave C. showed me > a fix: > > # Force ARM7 into supervisor mode > reg cpsr 0x13 Hay thanks! This part helped a lot. I setting the cpsr to 0x13 got rid of the error messages. note: Before I got your email I was able to program the thing using svn rev 260 of openocd. My next problem is I no longer am able to get the lpc-p2148 to enter the halt state. It keepis running the lpc-p2148 demo program. Attempts to halt result in gr...@mgross-test:~$ telnet localhost Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. Open On-Chip Debugger > halt timed out while waiting for target halted Runtime error, file "command.c", line 456: > jumper one is off. Thanks for your help. --mgross > > # mww: Memory word write > # Set the MEMMAP reg to point to flash (avoids problems while trying to > #flash) > mww 0xE01FC040 1 > > Of course, these may have fixed a different issue, or two, but it's > worth a try if you haven't. > > I do see some differences between your config and mine: > > There are 'sub'-config files in the openocd configuration and > I source the one for the olimex jtag. I don't know if it matters... > > #--- JTAG Interface Type > source [find interface/olimex-arm-usb-ocd.cfg] > jtag_speed 15 # JTAG clock divider > > You have a version 17 steps ahead of mine though... > > Luck, > -K > > > > mgross wrote: > > I'm attempting to get back into the lpc2148 efforts again, and I'm > > rebuilding my toolchain and I see that openocd has changed a lot. > > > > I'm running svn:1274, and it sort of works but I'm getting > > target state: halted > > target halted in Thumb state due to watchpoint, current mode: System > > cpsr: 0x pc: 0xffef > > Error: invalid mode value encountered > > Error: cpsr contains invalid mode value - communication failure > > target state: halted > > target halted in Thumb state due to watchpoint, current mode: System > > cpsr: 0x pc: 0xffef > > > > That repeat. > > > > Does anyone have any ideas on what could be going on? > > > > Thanks for any ideas. > > > > Thanks, > > > > --mgross > > > > > > FWIW my openocd.cfg is: > > > > #daemon configuration > > telnet_port > > gdb_port > > > > > > interface ft2232 > > ft2232_device_desc "Olimex OpenOCD JTAG" > > ft2232_layout olimex-jtag > > ft2232_vid_pid 0x15ba 0x0003 > > > > if { [info exists CHIPNAME] } { > >set _CHIPNAME $CHIPNAME > > } else { > >set _CHIPNAME lpc2148 > > } > > > > if { [info exists ENDIAN] } { > >set _ENDIAN $ENDIAN > > } else { > >set _ENDIAN little > > } > > > > if { [info exists CPUTAPID ] } { > >set _CPUTAPID $CPUTAPID > > } else { > > # force an error till we get a good number > >set _CPUTAPID 0x > > } > > > > #delays on reset lines > > jtag_nsrst_delay 200 > > jtag_ntrst_delay 200 > > > > # NOTE!!! LPCs need reset pulled while RTCK is low. 0 to activate > > # JTAG, power-on reset is not enough, i.e. you need to perform a > > # reset before being able to talk to the LPC2148, attach is not > > # possible. > > > > #use combined on interfaces or targets that can't set TRST/SRST > > separately > > reset_config trst_and_srst srst_pulls_trst > > > > #jtag scan chain > > jtag newtap $_CHIPNAME cpu -irlen 4 -ircapture 0x1 -irmask 0xf > > -expected-id $_CPUTAPID > > > > set _TARGETNAME [format "%s.cpu" $_CHIPNAME] > > target create $_TARGETNAME arm7tdmi -endian $_ENDIAN -chain-position > > $_TARGETNAME -variant arm7tdmi-s_r4 > > $_TARGETNAME configure -work-area-virt 0 -work-area-phys 0x4000 > > -work-area-size 0x4000 -work-area-backup 0 > > $_TARGETNAME configure -event reset-init { > > # Force target into ARM state > > soft_reset_halt > > #do not remap 0x-0x0020 to anything but the flash > > mwb 0xE01FC040 0x01 > > > > } > > #working_area 0 0x4000 0x8 nobackup > > > > #flash bank lpc2000 0 0 > > flash bank lpc2000 0x0 0x7d000 0 0 0 lpc2000_v2 14765 > > > > --mgross > > > > > > > > > > > > ___ > > psas-avionics mailing list > > psas-avionics@lists.psas.pdx.edu > > http://lists.psas.pdx.edu/mailman/listinfo/psas-avionics > > #!/usr/bin/expect > > > > set timeout 20 ;# just in case. > > set host localhost ;# 127.0.0.0 > > set port ;# openocd port > > set cwd [pwd] > > spawn telnet "$host"
Re: [psas-avionics] latest openocd troubles
I have been working to get v1257 up and running, with some success. > sudo /home/kwilson/PSAS/LPCDEV/LPC/2148/OCD/bin/openocd --version Open On-Chip Debugger 1.0 (2008-12-19-11:49) svn:1257 I noticed this in your output: current mode: System and I have current mode: Supervisor So, I have attached my cfg and runscript, It may be a script problem. I think I ran into this before and Dave C. showed me a fix: # Force ARM7 into supervisor mode reg cpsr 0x13 # mww: Memory word write # Set the MEMMAP reg to point to flash (avoids problems while trying to #flash) mww 0xE01FC040 1 Of course, these may have fixed a different issue, or two, but it's worth a try if you haven't. I do see some differences between your config and mine: There are 'sub'-config files in the openocd configuration and I source the one for the olimex jtag. I don't know if it matters... #--- JTAG Interface Type source [find interface/olimex-arm-usb-ocd.cfg] jtag_speed 15 # JTAG clock divider You have a version 17 steps ahead of mine though... Luck, -K mgross wrote: > I'm attempting to get back into the lpc2148 efforts again, and I'm > rebuilding my toolchain and I see that openocd has changed a lot. > > I'm running svn:1274, and it sort of works but I'm getting > target state: halted > target halted in Thumb state due to watchpoint, current mode: System > cpsr: 0x pc: 0xffef > Error: invalid mode value encountered > Error: cpsr contains invalid mode value - communication failure > target state: halted > target halted in Thumb state due to watchpoint, current mode: System > cpsr: 0x pc: 0xffef > > That repeat. > > Does anyone have any ideas on what could be going on? > > Thanks for any ideas. > > Thanks, > > --mgross > > > FWIW my openocd.cfg is: > > #daemon configuration > telnet_port > gdb_port > > > interface ft2232 > ft2232_device_desc "Olimex OpenOCD JTAG" > ft2232_layout olimex-jtag > ft2232_vid_pid 0x15ba 0x0003 > > if { [info exists CHIPNAME] } { >set _CHIPNAME $CHIPNAME > } else { >set _CHIPNAME lpc2148 > } > > if { [info exists ENDIAN] } { >set _ENDIAN $ENDIAN > } else { >set _ENDIAN little > } > > if { [info exists CPUTAPID ] } { >set _CPUTAPID $CPUTAPID > } else { > # force an error till we get a good number >set _CPUTAPID 0x > } > > #delays on reset lines > jtag_nsrst_delay 200 > jtag_ntrst_delay 200 > > # NOTE!!! LPCs need reset pulled while RTCK is low. 0 to activate > # JTAG, power-on reset is not enough, i.e. you need to perform a > # reset before being able to talk to the LPC2148, attach is not > # possible. > > #use combined on interfaces or targets that can't set TRST/SRST > separately > reset_config trst_and_srst srst_pulls_trst > > #jtag scan chain > jtag newtap $_CHIPNAME cpu -irlen 4 -ircapture 0x1 -irmask 0xf > -expected-id $_CPUTAPID > > set _TARGETNAME [format "%s.cpu" $_CHIPNAME] > target create $_TARGETNAME arm7tdmi -endian $_ENDIAN -chain-position > $_TARGETNAME -variant arm7tdmi-s_r4 > $_TARGETNAME configure -work-area-virt 0 -work-area-phys 0x4000 > -work-area-size 0x4000 -work-area-backup 0 > $_TARGETNAME configure -event reset-init { > # Force target into ARM state > soft_reset_halt > #do not remap 0x-0x0020 to anything but the flash > mwb 0xE01FC040 0x01 > > } > #working_area 0 0x4000 0x8 nobackup > > #flash bank lpc2000 0 0 > flash bank lpc2000 0x0 0x7d000 0 0 0 lpc2000_v2 14765 > > --mgross > > > > > > ___ > psas-avionics mailing list > psas-avionics@lists.psas.pdx.edu > http://lists.psas.pdx.edu/mailman/listinfo/psas-avionics #!/usr/bin/expect set timeout 20 ;# just in case. set host localhost ;# 127.0.0.0 set port ;# openocd port set cwd [pwd] spawn telnet "$host" "$port"; expect ">" ;# prompt send "script $cwd/oocd_flash_lpc2148.script\r"; interact; # Configuration for the LPC2148 # if { [info exists CHIPNAME] } { set _CHIPNAME $CHIPNAME } else { set _CHIPNAME lpc2148 } if { [info exists ENDIAN] } { set _ENDIAN $ENDIAN } else { set _ENDIAN little } if { [info exists CPUTAPID ] } { set _CPUTAPID $CPUTAPID } else { # force an error till we get a good number set _CPUTAPID 0x4f1f0f0f } #delays on reset lines jtag_nsrst_delay 200 jtag_ntrst_delay 200 # NOTE!!! LPCs need reset pulled while RTCK is low. 0 to activate # JTAG, power-on reset is not enough, i.e. you need to perform a # reset before being able to talk to the LPC2148, attach is not # possible. #use combined on interfaces or targets that can't set TRST/SRST separately reset_config trst_and_srst srst_pulls_trst #jtag scan chain jtag newtap $_CHIPNAME cpu -irlen 4 -ircapture 0x1 -irmask 0xf -expected-id $_CPUTAPID set _TARGETNAME [format "%s.cpu" $_CHIPNAME] target
[psas-avionics] latest openocd troubles
I'm attempting to get back into the lpc2148 efforts again, and I'm rebuilding my toolchain and I see that openocd has changed a lot. I'm running svn:1274, and it sort of works but I'm getting target state: halted target halted in Thumb state due to watchpoint, current mode: System cpsr: 0x pc: 0xffef Error: invalid mode value encountered Error: cpsr contains invalid mode value - communication failure target state: halted target halted in Thumb state due to watchpoint, current mode: System cpsr: 0x pc: 0xffef That repeat. Does anyone have any ideas on what could be going on? Thanks for any ideas. Thanks, --mgross FWIW my openocd.cfg is: #daemon configuration telnet_port gdb_port interface ft2232 ft2232_device_desc "Olimex OpenOCD JTAG" ft2232_layout olimex-jtag ft2232_vid_pid 0x15ba 0x0003 if { [info exists CHIPNAME] } { set _CHIPNAME $CHIPNAME } else { set _CHIPNAME lpc2148 } if { [info exists ENDIAN] } { set _ENDIAN $ENDIAN } else { set _ENDIAN little } if { [info exists CPUTAPID ] } { set _CPUTAPID $CPUTAPID } else { # force an error till we get a good number set _CPUTAPID 0x } #delays on reset lines jtag_nsrst_delay 200 jtag_ntrst_delay 200 # NOTE!!! LPCs need reset pulled while RTCK is low. 0 to activate # JTAG, power-on reset is not enough, i.e. you need to perform a # reset before being able to talk to the LPC2148, attach is not # possible. #use combined on interfaces or targets that can't set TRST/SRST separately reset_config trst_and_srst srst_pulls_trst #jtag scan chain jtag newtap $_CHIPNAME cpu -irlen 4 -ircapture 0x1 -irmask 0xf -expected-id $_CPUTAPID set _TARGETNAME [format "%s.cpu" $_CHIPNAME] target create $_TARGETNAME arm7tdmi -endian $_ENDIAN -chain-position $_TARGETNAME -variant arm7tdmi-s_r4 $_TARGETNAME configure -work-area-virt 0 -work-area-phys 0x4000 -work-area-size 0x4000 -work-area-backup 0 $_TARGETNAME configure -event reset-init { # Force target into ARM state soft_reset_halt #do not remap 0x-0x0020 to anything but the flash mwb 0xE01FC040 0x01 } #working_area 0 0x4000 0x8 nobackup #flash bank lpc2000 0 0 flash bank lpc2000 0x0 0x7d000 0 0 0 lpc2000_v2 14765 --mgross signature.asc Description: Digital signature ___ psas-avionics mailing list psas-avionics@lists.psas.pdx.edu http://lists.psas.pdx.edu/mailman/listinfo/psas-avionics