Toon posts:

Programmeren LPC-2148 met ARM-USB-OCD werkt niet meer

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik ben bezig met een projectje waar ik een NXP LPC-2148 microcontroller ini gebruik, voor het programmeren gebruik ik de ARM-USB-OCD vna Olimex i.c.m. GDB en OpenOCD. Nou heeft het altijd goed gewerkt, maar "zomeer"doet ie het niet meer. Heeft iemand een idee wat ik verkeerd doe of over het hoofd zie?
Ik heb al geexperimenteerd met een andere programmer, een andere computer met een clean install van de omgeving, een andere microcontroller. Ook heb ik de jtag-speed en reset type geprobeerd.

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
Open On-Chip Debugger 1.0 (2008-10-04-10:00) svn:exported
$URL: http://svn.berlios.de/svnroot/repos/openocd/trunk/src/openocd.c $
Debug:   5 0 command.c:432 command_run_line(): script C:\gccfd\projects\PortaMon2\armusbocd.cfg
Debug:   6 1 configuration.c:87 open_file_from_path(): opened C:\gccfd\projects\PortaMon2\armusbocd.cfg
Debug:   8 1 command.c:432 command_run_line(): telnet_port 4444
Debug:   10 1 command.c:432 command_run_line(): gdb_port 3333
Debug:   12 1 command.c:432 command_run_line(): interface ft2232
Debug:   14 1 command.c:432 command_run_line(): ft2232_device_desc "Olimex OpenOCD JTAG A"
Debug:   16 1 command.c:432 command_run_line(): ft2232_layout "olimex-jtag"
Debug:   18 1 command.c:432 command_run_line(): ft2232_vid_pid 0x15BA 0x0003
Debug:   20 1 command.c:432 command_run_line(): jtag_speed 200
Debug:   21 1 jtag.c:1863 handle_jtag_speed_command(): handle jtag speed
Info:    22 1 options.c:50 configuration_output_handler(): jtag_speed: 200, 200
Debug:   24 1 command.c:432 command_run_line(): reset_config trst_and_srst separate
Debug:   26 1 command.c:432 command_run_line(): jtag_device 4 0x1 0xf 0xe
Debug:   28 1 command.c:432 command_run_line(): daemon_startup reset
Info:    29 1 options.c:50 configuration_output_handler(): Open On-Chip Debugger 1.0 (2008-10-04-10:00) svn:exported
Debug:   31 1 command.c:432 command_run_line(): target arm7tdmi little run_and_halt 0 arm7tdmi-s_r4
Debug:   33 1 command.c:432 command_run_line(): run_and_halt_time 0 30
Debug:   35 2 command.c:432 command_run_line(): working_area 0 0x40000000 0x40000 nobackup
Debug:   37 2 command.c:432 command_run_line(): flash bank lpc2000 0x0 0x7D000 0 0 0 lpc2000_v2 12000 calc_checksum
Debug:   39 2 command.c:432 command_run_line(): init
Debug:   40 2 openocd.c:102 handle_init_command(): target init complete
Debug:   41 2 ft2232.c:1374 ft2232_init_ftd2xx(): 'ft2232' interface using FTD2XX with 'olimex-jtag' layout (15ba:0003)
Debug:   42 30 ft2232.c:1463 ft2232_init_ftd2xx(): current latency timer: 2
Debug:   43 32 ft2232.c:1810 olimex_jtag_init(): 80 08 1b
Debug:   44 33 ft2232.c:1853 olimex_jtag_init(): 82 09 0f
Debug:   45 35 ft2232.c:253 ft2232_speed(): 86 c8 00
Debug:   46 54 openocd.c:109 handle_init_command(): jtag interface init complete
Debug:   47 54 jtag.c:1537 jtag_init_inner(): Init JTAG chain
Debug:   48 54 jtag.c:326 jtag_call_event_callbacks(): jtag event: JTAG controller reset (TLR or TRST)
Debug:   49 54 jtag.c:1295 jtag_reset_callback(): -
Debug:   50 55 jtag.c:326 jtag_call_event_callbacks(): jtag event: JTAG controller reset (TLR or TRST)
Debug:   51 55 jtag.c:1295 jtag_reset_callback(): -
Error:   52 80 jtag.c:1351 jtag_examine_chain(): JTAG communication failure, check connection, JTAG interface, target power etc.
Error:   53 80 jtag.c:1556 jtag_init_inner(): trying to validate configured JTAG chain anyway...
Debug:   54 80 jtag.c:326 jtag_call_event_callbacks(): jtag event: JTAG controller reset (TLR or TRST)
Debug:   55 80 jtag.c:1295 jtag_reset_callback(): -
Error:   56 81 jtag.c:1444 jtag_validate_chain(): Error validating JTAG scan chain, IR mismatch, scan returned 0x3f
Debug:   57 91 jtag.c:326 jtag_call_event_callbacks(): jtag event: JTAG controller reset (TLR or TRST)
Debug:   58 91 jtag.c:1295 jtag_reset_callback(): -
Error:   59 94 jtag.c:1444 jtag_validate_chain(): Error validating JTAG scan chain, IR mismatch, scan returned 0x3f
Debug:   60 104 jtag.c:326 jtag_call_event_callbacks(): jtag event: JTAG controller reset (TLR or TRST)
Debug:   61 104 jtag.c:1295 jtag_reset_callback(): -
Error:   62 107 jtag.c:1444 jtag_validate_chain(): Error validating JTAG scan chain, IR mismatch, scan returned 0x3f
Debug:   63 117 jtag.c:326 jtag_call_event_callbacks(): jtag event: JTAG controller reset (TLR or TRST)
Debug:   64 117 jtag.c:1295 jtag_reset_callback(): -
Error:   65 120 jtag.c:1444 jtag_validate_chain(): Error validating JTAG scan chain, IR mismatch, scan returned 0x3f
Debug:   66 130 jtag.c:326 jtag_call_event_callbacks(): jtag event: JTAG controller reset (TLR or TRST)
Debug:   67 130 jtag.c:1295 jtag_reset_callback(): -
Error:   68 132 jtag.c:1444 jtag_validate_chain(): Error validating JTAG scan chain, IR mismatch, scan returned 0x3f
Debug:   69 142 jtag.c:326 jtag_call_event_callbacks(): jtag event: JTAG controller reset (TLR or TRST)
Debug:   70 142 jtag.c:1295 jtag_reset_callback(): -
Error:   71 144 jtag.c:1444 jtag_validate_chain(): Error validating JTAG scan chain, IR mismatch, scan returned 0x3f
Error:   72 144 jtag.c:1565 jtag_init_inner(): Could not validate JTAG chain, exit
Debug:   73 144 jtag.c:1581 jtag_init_reset(): Trying to bring the JTAG controller to life by asserting TRST / TLR
Debug:   74 144 jtag.c:996 jtag_add_reset(): SRST line released
Debug:   75 144 jtag.c:1015 jtag_add_reset(): TRST line asserted
Debug:   76 144 jtag.c:326 jtag_call_event_callbacks(): jtag event: JTAG controller reset (TLR or TRST)
Debug:   77 144 jtag.c:1295 jtag_reset_callback(): -
Debug:   78 144 jtag.c:992 jtag_add_reset(): SRST line asserted
Debug:   79 144 jtag.c:1015 jtag_add_reset(): TRST line asserted
Debug:   80 144 jtag.c:326 jtag_call_event_callbacks(): jtag event: JTAG controller reset (TLR or TRST)
Debug:   81 144 jtag.c:1295 jtag_reset_callback(): -
Debug:   82 144 jtag.c:992 jtag_add_reset(): SRST line asserted
Debug:   83 144 jtag.c:996 jtag_add_reset(): SRST line released
Debug:   84 144 ft2232.c:1037 olimex_jtag_reset(): trst: 1, srst: 0, high_output: 0x00, high_direction: 0x0f
Debug:   85 144 ft2232.c:1037 olimex_jtag_reset(): trst: 1, srst: 1, high_output: 0x02, high_direction: 0x0f
Debug:   86 144 ft2232.c:1037 olimex_jtag_reset(): trst: 0, srst: 1, high_output: 0x03, high_direction: 0x0f
Debug:   87 144 ft2232.c:1037 olimex_jtag_reset(): trst: 0, srst: 0, high_output: 0x01, high_direction: 0x0f
Debug:   88 145 jtag.c:1537 jtag_init_inner(): Init JTAG chain
Debug:   89 145 jtag.c:326 jtag_call_event_callbacks(): jtag event: JTAG controller reset (TLR or TRST)
Debug:   90 145 jtag.c:1295 jtag_reset_callback(): -
Debug:   91 146 jtag.c:326 jtag_call_event_callbacks(): jtag event: JTAG controller reset (TLR or TRST)
Debug:   92 146 jtag.c:1295 jtag_reset_callback(): -
Info:    93 170 jtag.c:1389 jtag_examine_chain(): JTAG device found: 0x4f1f0f0f (Manufacturer: 0x787, Part: 0xf1f0, Version: 0x4)
Debug:   94 170 jtag.c:326 jtag_call_event_callbacks(): jtag event: JTAG controller reset (TLR or TRST)
Debug:   95 170 jtag.c:1295 jtag_reset_callback(): -
Debug:   96 174 openocd.c:116 handle_init_command(): jtag init complete
Debug:   97 188 embeddedice.c:397 embeddedice_write_reg(): 0: 0x00000000
Debug:   98 189 openocd.c:119 handle_init_command(): jtag examine complete
Debug:   99 189 openocd.c:126 handle_init_command(): flash init complete
Debug:   100 189 openocd.c:130 handle_init_command(): NAND init complete
Debug:   101 189 openocd.c:134 handle_init_command(): pld init complete
Debug:   102 254 gdb_server.c:2036 gdb_init(): gdb service for target arm7tdmi at port 3333
Debug:   104 254 command.c:432 command_run_line(): reset
Debug:   105 255 target.c:1851 handle_reset_command(): -
Debug:   106 255 ft2232.c:253 ft2232_speed(): 86 c8 00
Debug:   107 256 jtag.c:1581 jtag_init_reset(): Trying to bring the JTAG controller to life by asserting TRST / TLR
Debug:   108 256 jtag.c:996 jtag_add_reset(): SRST line released
Debug:   109 256 jtag.c:1015 jtag_add_reset(): TRST line asserted
Debug:   110 256 jtag.c:326 jtag_call_event_callbacks(): jtag event: JTAG controller reset (TLR or TRST)
Debug:   111 256 jtag.c:1295 jtag_reset_callback(): -
Debug:   112 256 jtag.c:992 jtag_add_reset(): SRST line asserted
Debug:   113 256 jtag.c:1015 jtag_add_reset(): TRST line asserted
Debug:   114 256 jtag.c:326 jtag_call_event_callbacks(): jtag event: JTAG controller reset (TLR or TRST)
Debug:   115 256 jtag.c:1295 jtag_reset_callback(): -
Debug:   116 256 jtag.c:992 jtag_add_reset(): SRST line asserted
Debug:   117 256 jtag.c:996 jtag_add_reset(): SRST line released
Debug:   118 256 ft2232.c:1037 olimex_jtag_reset(): trst: 1, srst: 0, high_output: 0x00, high_direction: 0x0f
Debug:   119 256 ft2232.c:1037 olimex_jtag_reset(): trst: 1, srst: 1, high_output: 0x02, high_direction: 0x0f
Debug:   120 256 ft2232.c:1037 olimex_jtag_reset(): trst: 0, srst: 1, high_output: 0x03, high_direction: 0x0f
Debug:   121 256 ft2232.c:1037 olimex_jtag_reset(): trst: 0, srst: 0, high_output: 0x01, high_direction: 0x0f
Debug:   122 257 jtag.c:1537 jtag_init_inner(): Init JTAG chain
Debug:   123 258 jtag.c:326 jtag_call_event_callbacks(): jtag event: JTAG controller reset (TLR or TRST)
Debug:   124 258 jtag.c:1295 jtag_reset_callback(): -
Info:    125 282 jtag.c:1389 jtag_examine_chain(): JTAG device found: 0x4f1f0f0f (Manufacturer: 0x787, Part: 0xf1f0, Version: 0x4)
Debug:   126 282 jtag.c:326 jtag_call_event_callbacks(): jtag event: JTAG controller reset (TLR or TRST)
Debug:   127 282 jtag.c:1295 jtag_reset_callback(): -
Debug:   128 290 embeddedice.c:397 embeddedice_write_reg(): 0: 0x00000000
Debug:   129 291 arm7_9_common.c:767 arm7_9_assert_reset(): target->state: unknown
Debug:   130 291 jtag.c:992 jtag_add_reset(): SRST line asserted
Debug:   131 291 ft2232.c:1037 olimex_jtag_reset(): trst: 0, srst: 1, high_output: 0x0b, high_direction: 0x0f
Debug:   132 342 arm7_9_common.c:820 arm7_9_deassert_reset(): target->state: reset
Debug:   133 342 jtag.c:996 jtag_add_reset(): SRST line released
Debug:   134 342 ft2232.c:1037 olimex_jtag_reset(): trst: 0, srst: 0, high_output: 0x09, high_direction: 0x0f
Debug:   135 342 target.c:411 target_process_reset(): Waiting for halted stated as approperiate
Debug:   136 348 target.c:425 target_process_reset(): Polling target
Debug:   138 859 arm7_9_common.c:960 arm7_9_halt(): target->state: running
Debug:   139 859 embeddedice.c:397 embeddedice_write_reg(): 9: 0xffffffff
Debug:   140 859 embeddedice.c:397 embeddedice_write_reg(): 11: 0xffffffff
Debug:   141 859 embeddedice.c:397 embeddedice_write_reg(): 12: 0x00000100
Debug:   142 859 embeddedice.c:397 embeddedice_write_reg(): 13: 0x000000f7
Debug:   143 859 target.c:425 target_process_reset(): Polling target
Debug:   145 1375 target.c:425 target_process_reset(): Polling target
Debug:   147 1885 target.c:425 target_process_reset(): Polling target
Debug:   149 2397 target.c:425 target_process_reset(): Polling target
Debug:   151 2909 target.c:425 target_process_reset(): Polling target
Debug:   153 3421 target.c:425 target_process_reset(): Polling target
Debug:   155 3933 target.c:425 target_process_reset(): Polling target
Debug:   157 4445 target.c:425 target_process_reset(): Polling target
Debug:   159 4957 target.c:425 target_process_reset(): Polling target
Debug:   161 5469 target.c:425 target_process_reset(): Polling target
User:    162 5475 target.c:436 target_process_reset(): Timed out waiting for halt after reset
Debug:   163 5475 ft2232.c:253 ft2232_speed(): 86 c8 00

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#daemon configuration
telnet_port 4444
gdb_port 3333

#interface
interface ft2232
ft2232_device_desc "Olimex OpenOCD JTAG A"
ft2232_layout "olimex-jtag"
ft2232_vid_pid 0x15BA 0x0003
jtag_speed 20

reset init
#use combined on interfaces or targets that can't set TRST/SRST separately
reset_config trst_and_srst separate
#reset_config trst_and_srst srst_pulls_trst

#jtag scan chain
#format L IRC IRCM IDCODE (Length, IR Capture, IR Capture Mask, IDCODE)
jtag_device 4 0x1 0xf 0xe

#target configuration
daemon_startup reset

#target <type> <startup mode>
#target arm7tdmi <reset mode> <chainpos> <endianness> <variant>
target arm7tdmi little run_and_halt 0 arm7tdmi-s_r4
run_and_halt_time 0 30

#target_script 0 reset oocd_flash2138.script
working_area 0 0x40000000 0x40000 nobackup

#flash configuration
flash bank lpc2000 0x0 0x7D000 0 0 0 lpc2000_v2 12000 calc_checksum

# For more information about the configuration files, take a look at:
# http://openfacts.berlios.de/index-en.phtml?title=Open+On-Chip+Debugger

Acties:
  • 0 Henk 'm!

  • Cassettebandje
  • Registratie: Juli 2002
  • Laatst online: 15-10 16:53

Cassettebandje

SA-C90 TDK

Regel 35: JTAG communication failure, check connection, JTAG interface, target power etc.

Ik zou beginnen met zoeken naar een slechte verbinding of kapot jtag kabeltje of misschien is je voedingsspanning niet in orde.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Cassettebandje schreef op dinsdag 14 juli 2009 @ 13:42:
Regel 35: JTAG communication failure, check connection, JTAG interface, target power etc.

Ik zou beginnen met zoeken naar een slechte verbinding of kapot jtag kabeltje of misschien is je voedingsspanning niet in orde.
Ja, dat had ik moeten zeggen. Ik heb het ook met het evaluatiebordje geprobeerd. De spanning ia in orde en ik heb ook alle draden van de jtag kabel doorgemeten en de contactpunten op de printplaat gereinigd. Het lijkt me onwaarschijnlijk dat beide printplaten hetzelfde defectg hebben, of beide programmers (met hun eigen kabel.)

Acties:
  • 0 Henk 'm!

  • Cassettebandje
  • Registratie: Juli 2002
  • Laatst online: 15-10 16:53

Cassettebandje

SA-C90 TDK

Iets nieuws geinstalleerd wat iets doet met seriele poorten oid? Iets met je USB poorten?

Acties:
  • 0 Henk 'm!

  • wacco
  • Registratie: Augustus 2002
  • Laatst online: 21-03-2023

wacco

cli, hlt.

Heb je ook weer de FTDI drivers geinstalleerd op die clean install? Ik weet niet in hoeverre die FTDI libs werken zonder dat de driver is geinstalleerd.

Verder; hang TCK eens aan een oscilloscoop, dan kan je in ieder geval even controleren over er zowiezo wel iets gebeurd. :)

Dan nog een laatste obvious opmerking; loop al je configuratiepinnen na. Je olimex programmer heeft er eentje voor voeding selectie zie ik. Ik weet niet welk evaluatiebordje je hebt, maar check dat TDO uiteindelijk ook aan TDI zit, etc.

Spolap: Interactive webcomic


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
wacco schreef op dinsdag 14 juli 2009 @ 15:43:
Heb je ook weer de FTDI drivers geinstalleerd op die clean install? Ik weet niet in hoeverre die FTDI libs werken zonder dat de driver is geinstalleerd.

Verder; hang TCK eens aan een oscilloscoop, dan kan je in ieder geval even controleren over er zowiezo wel iets gebeurd. :)

Dan nog een laatste obvious opmerking; loop al je configuratiepinnen na. Je olimex programmer heeft er eentje voor voeding selectie zie ik. Ik weet niet welk evaluatiebordje je hebt, maar check dat TDO uiteindelijk ook aan TDI zit, etc.
FTDI drivers gedaan.
TCK is OK.
Voedingspinnen OK aangesloten.
TDO/TDI kan ik morgen nog doen, maar ik denk dat Olimex dat wel goed aangesloten heeft...

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
TDI en TDO zijn ook levend, dus daar zit het probleem ook niet. Enig idee hoe ik de CPU in de halt state krijg, zodat ik er een nieuwe firmware in kan duwen?

Acties:
  • 0 Henk 'm!

  • aLexy
  • Registratie: Augustus 2006
  • Laatst online: 25-06 11:43
Ik gebruik de zelfde programmer en bij mij gebeurt het soms ook dat ik de LPC2148 niet meer kan programmeren via JTAG. Ik erase hem dan via de seriele poort en de flash tool van NXP (http://www.flashmagictool.com/). Daarna werkt het perfect.

PS. IK herinner me nu dat ik tegenwoordig altijd de flash tool van nxp gebruik om te erasen, omdat het erasen via de JTAG te vaak mislukt. Is ook chip afhankelijk heb ik zo het idee.

[ Voor 27% gewijzigd door aLexy op 16-07-2009 13:43 ]

Lexy


Acties:
  • 0 Henk 'm!

  • DaWaN
  • Registratie: Oktober 2002
  • Laatst online: 12:33

DaWaN

'r you wicked ??

aLexy schreef op donderdag 16 juli 2009 @ 13:38:
Ik gebruik de zelfde programmer en bij mij gebeurt het soms ook dat ik de LPC2148 niet meer kan programmeren via JTAG. Ik erase hem dan via de seriele poort en de flash tool van NXP (http://www.flashmagictool.com/). Daarna werkt het perfect.

PS. IK herinner me nu dat ik tegenwoordig altijd de flash tool van nxp gebruik om te erasen, omdat het erasen via de JTAG te vaak mislukt. Is ook chip afhankelijk heb ik zo het idee.
Dat probleem had ik ook...maar daar in eenvoudig omheen te werken.
Je zet gewoon de LPC in ISP modus (dat is EINT0 pin hoog/laag, moet je even opzoeken in usermanual) en dan resetten, dan lukt JTAG ineens wel..

If you do not change direction, you may end up where you are heading


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
aLexy schreef op donderdag 16 juli 2009 @ 13:38:
Ik gebruik de zelfde programmer en bij mij gebeurt het soms ook dat ik de LPC2148 niet meer kan programmeren via JTAG. Ik erase hem dan via de seriele poort en de flash tool van NXP (http://www.flashmagictool.com/). Daarna werkt het perfect.

PS. IK herinner me nu dat ik tegenwoordig altijd de flash tool van nxp gebruik om te erasen, omdat het erasen via de JTAG te vaak mislukt. Is ook chip afhankelijk heb ik zo het idee.
Ik heb dit met het evaluatiebordje van Olimex geprobeerd, het werkt. Ik moest wel de debug_enable jumper loshalen. Nou heb ik dus voor mezelf de uitdaging om dit prboleem op te lossen op een bordje dat deze lijnen niet uitgevoerd heeft. :/

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Het is gelukt (afgelopen week op vakantie, vandaar de lange tussentijd). Dankjulliewel voor de hulp :)

Acties:
  • 0 Henk 'm!

  • Sprite_tm
  • Registratie: September 2002
  • Laatst online: 12-10 06:44

Sprite_tm

Semi-Chinees

Voor de search: Zou je eventueel nog willen bewschrijven wat je gtedaan hebt om het op te lossen? Toch het debug_enable-lijntje naar buiten gevoerd of iets anders?

Relaxen und watchen das blinkenlichten. | Laatste project: Ikea Frekvens oog

Pagina: 1