Flashen des Cortex M3

Markus 2009-06-09 01:23:37 Link
Hallo,

ich bin gerade eben fertig mit der Bestückung des Webradios und habe zwei
vermutlich recht banale Fragen:

(1) Wie versorge ich das Webradio am einfachsten mit Spannung, wenn ich
kein POE nutzen will/kann? Kann ich an die PWR+/GND Pads ohne weiteres
eine 5V-Buchse drauflöten und ein Netzteil anstecken?

(2) Mit der Hardware als solcher komme ich ja erstmal nicht weit. Ich habe
mich zwischenzeitlich einige Stunden an OpenOCD versucht, trete aber auf
der Stelle. Da ich das erste Mal mit OpenOCD arbeite, halte ich es für
durchaus möglich, daß der Bug vor dem Monitor sitzt. Daher möchte ich
zuerst sicher gehen, daß (1) passt.

Vielleicht hat bereits jemand mal ein Webradio mit OpenOCD geflasht und
kann eine praxistaugliche Konfiguration beisteuern, mit der ich der
Fehlerursache ein wenig näher kommen kann. Ich weiß momentan nicht, wo ich
zu suchen anfangen soll.

Vielen Dank im Voraus,
/Markus


Hintergrund:

Der Programmierer/JTAG-Adapter, den ich nutze, ist ein USBprog mit
OpenOCD-Firmware
(http://www.embedded-projects.net/index.php?page_id=175).
Als Ausgangskonfiguration habe ich target/lm3s6965 verwendet, "set 
_CHIPNAME lm3s6965" nach "set  _CHIPNAME lm3s6950" geändert
und einige zusätzliche Zeilen für daemon und device an den Anfang gesetzt:

telnet_port 4444
gdb_port 3333
interface usbprog
jtag_speed 0
jtag_device 4 0x1 0xf 0xe

Das Ganze rufe ich dann mit "openocd -f current.cfg -c init -c
reset" auf. Ein File zu flashen versuche ich im derzeitigen Stadium
nicht, ich würde mich schon über ein Lebenszeichen von der MCU freuen.

Andreas Watterott 2009-06-09 07:45:13 Link
Hallo Markus,

(1) Du kannst das Radio über das GND und PWR+ Pad mit 8-60V versorgen.

(2) Eine Config für OpenOCD gibt es hier:
    http://www.watterott.net/projects/webradio-arm-flash-openocd

Ich habe auch angefangen einen Aufbauplan zuschreiben:
http://www.watterott.net/projects/webradio-arm-construction

Gruß
Andreas

Markus 2009-06-09 10:17:10 Link
Hallo Andreas,

ich habe fürs Erste mal ein 12V-Netzteil an das Board gehängt. Scheint zu
funktionieren, da die Bauteile leicht warm werden. Optisches Feedback ist
nicht zu erkennen.

Danke auch für die OpenOCD-Config. Sie unterscheidet sich von meiner zwar
um die "chain-position ..", OpenOCD zeigt aber letztlich auch
kein anderes Verhalten. 

Ich kannte die Seite auch von der Recherche vor dem Kauf; da aber ein Teil
der Informationen zum Webradio (verständlicherweise) unter Projekte steht,
der andere im Forum, hatte ich das völlig verdrängt.

Womöglich ist es momentan am sinnvollsten, nochmals im USBprog-Forum
nachzufragen, da ich mit der Fehlermeldung als solcher nichts anfangen
kann. Die Basisvorausssetzungen Versorgungsspannung und JTAG mit 3,3V sind
ja soweit ok.

Vielen Dank vorerst,
/Markus


Command log:

C:\Programme\OpenOCD\0.1.0\ARM\webradio\openocd_cfg>openocd -d2 -f
usbprog.cfg
Open On-Chip Debugger 0.1.0 (2009-01-21-21:15) Release

BUGS? Read http://svn.berlios.de/svnroot/repos/openocd/trunk/BUGS

$URL:
https://kc8apf@svn.berlios.de/svnroot/repos/openocd/tags/openocd-0.1.0/src
/openocd.c $
jtag_speed: 10
LIBUSB_DLL: info: usb_os_init: dll version: 0.1.12.1
LIBUSB_DLL: info: usb_os_init: driver version: 0.1.12.1
LIBUSB_DLL: info: usb_os_find_busses: found bus-0
LIBUSB_DLL: info: usb_os_find_devices: found
\.libusb0-0001--0x1781-0x0c63 on bus-0
LIBUSB_DLL: info: usb_os_find_devices: found
\.libusb0-0002--0x05e3-0x0606 on bus-0
LIBUSB_DLL: info: usb_os_find_devices: found
\.libusb0-0003--0x04b4-0x6830 on bus-0
LIBUSB_DLL: info: usb_os_find_devices: found
\.libusb0-0004--0x046d-0xc043 on bus-0
Info : USB JTAG Interface ready!
Error: JTAG communication failure, check connection, JTAG interface,
target power etc.
Error: trying to validate configured JTAG chain anyway...
Error: Could not validate JTAG scan chain, IR mismatch, scan returned
0x3f. tap=lm3s6950.cpu pos=0 expected 0x1 got 3
Warn : Could not validate JTAG ...stripped-down

Markus 2009-06-09 10:55:01 Link
NACHTRAG:

C:\Programme\OpenOCD\0.1.0\ARM\webradio\openocd_cfg>openocd -d2 -f
usbprog.cfg
Open On-Chip Debugger 0.1.0 (2009-01-21-21:15) Release

BUGS? Read http://svn.berlios.de/svnroot/repos/openocd/trunk/BUGS

$URL:
https://kc8apf@svn.berlios.de/svnroot/repos/openocd/tags/openocd-0.1.0/src
/openocd.c $
jtag_speed: 10
LIBUSB_DLL: info: usb_os_init: dll version: 0.1.12.1
LIBUSB_DLL: info: usb_os_init: driver version: 0.1.12.1
LIBUSB_DLL: info: usb_os_find_busses: found bus-0
LIBUSB_DLL: info: usb_os_find_devices: found
\.libusb0-0001--0x1781-0x0c63 on bus-0
LIBUSB_DLL: info: usb_os_find_devices: found
\.libusb0-0002--0x05e3-0x0606 on bus-0
LIBUSB_DLL: info: usb_os_find_devices: found
\.libusb0-0003--0x04b4-0x6830 on bus-0
LIBUSB_DLL: info: usb_os_find_devices: found
\.libusb0-0004--0x046d-0xc043 on bus-0
Info : USB JTAG Interface ready!
Error: JTAG communication failure, check connection, JTAG interface,
target power etc.
Error: trying to validate configured JTAG chain anyway...
Error: Could not validate JTAG scan chain, IR mismatch, scan returned
0x3f. tap=lm3s6950.cpu pos=0 expected 0x1 got 3
Warn : Could not validate JTAG chain, continuing anyway...
Warn : TAP lm3s6950.cpu:
Warn : value captured during scan didn't pass the requested check:
Warn : captured: 0x0f check_value: 0x01 check_mask: 0x0f
Warn : in_handler: w/o "in_value", mismatch in SIR
Warn : no tcl port specified, using default port 6666
Error: JTAG communication failure, check connection, JTAG interface,
target power etc.
Error: trying to validate configured JTAG chain anyway...
Error: Could not validate JTAG scan chain, IR mismatch, scan returned
0x3f. tap=lm3s6950.cpu pos=0 expected 0x1 got 3
Warn : Could not validate JTAG chain, continuing anyway...
Warn : TAP lm3s6950.cpu:
Warn : value captured during scan didn't pass the requested check:
Warn : captured: 0x0f check_value: 0x01 check_mask: 0x0f
Warn : in_handler: w/o "in_value", mismatch in SIR
Runtime er...stripped-down

Markus 2009-06-09 11:36:37 Link
Da die Forensoftware wohl Backslashes parst und ab einem gewissen Punkt
nicht mehr damit weitermacht (siehe oben), habe ich die Ausgabe von
OpenOCD hier abgelegt:

http://www.target23.de/tmp/JTAG_ARMwebradio_Log.txt

Andreas Watterott 2009-06-09 12:45:04 Link
Hallo Markus,

Einen USBprog habe ich leider nicht. Daher kenne ich mich damit auch nicht
so aus. Wird der USBprog von der offiziellen OpenOCD-Version unterstützt?

Gruß
Andreas

PS: Das mit den Backslashes sollte jetzt auch gehen.

Markus 2009-06-09 15:55:44 Link
Hi Andreas,

ich habe das Gefühl, daß Entwicklung und Support beim USBprog momentan so
dahinplätschern. Laut Forum benutzen einige das Gerät zum Debuggen von
ARM-Boards. Es gibt dazu sogar extra einen Pegelwandler.

In der Vergangenheit (2007) gab es eine speziell gebaute Version von
OpenOCD, mittlerweile gibt es in v0.1.0 direkte Unterstützung, soweit ich
das beurteilen kann (zumindest ist der USB-Treiber sowie die usbprog.c im
Source, zudem funktioniert es wohl laut Aussagen auf der Herstellerseite
und mikrocontroller.net).

Ich werde mir die Schaltung nochmal genau durchsehen. Gibt es irgendeine
sinnvolle (schnelle?) Möglichkeit, um zu prüfen, ob die Schaltung in
unprogrammiertem Zustand läuft? Wahrscheinlich hab ich irgendwo ne
Lötbrücke oder ne kalte Lötstelle.

Gruß,
/Markus

Andreas Watterott 2009-06-09 18:47:34 Link
Hallo Markus,

> Ich werde mir die Schaltung nochmal genau durchsehen. Gibt es irgendeine
> sinnvolle (schnelle?) Möglichkeit, um zu prüfen, ob die Schaltung in
> unprogrammiertem Zustand läuft? Wahrscheinlich hab ich irgendwo ne
> Lötbrücke oder ne kalte Lötstelle.

Man kann nur alle Spannungen prüfen: 5V, 3.3V, 2.5V (vom uC). Alles andere
läuft erst wenn der Controller programmiert ist.

Gruß
Andreas

Markus 2009-06-09 22:15:51 Link
Hi Andreas,

es hat sich relativ schnell herausgestellt, daß ich an den LQFPs einige
Lötbrücken hatte (an der Rückseite der Pins), die ich auch mit Lötlitze und
allen erdenklichen Tricks nicht losgeworden bin.

Nach einer guten Stunde ist mir dann auch der Geduldsfaden gerissen. Daher
habe ich die Chips (ARM und VS) als Ganze herausgelötet. Ich denke, daß das
der einzige Weg ist, die Arbeit, die ich bisher in die Platine gesteckt
habe, noch zu retten.

Was kosten denn die beiden Bauteile? Ich hätte da noch einigen anderen
Kleinkram zu bestellen und würde das dann separat im Shop machen.

Danke,
/Markus

Andreas Watterott 2009-06-10 11:23:58 Link
Hallo Markus,

Schreib am besten mal meinem Bruder: http://www.watterott.com/kontakt
Du kannst uns auch die Platine schicken, dann löten wir den VS und ARM auf.
Wir können den ARM dann auch programmieren.
(Solche Lötbrücken zwischen den Pins bekommt man eigentlich relativ einfach
mit Entlötlitze oder gutem Flussmittel weg.)

Gruß
Andreas

Markus 2009-06-10 18:09:05 Link
Danke Andreas,

ich werde Euch die Platine mal schicken und hoffe, daß sie noch zu retten
ist. Die
Zinn-über-alle-Pins-und-danach-mit-feiner-Entlötlitze-drüber-Methode birgt
(bei mir offenbar) noch einiges an Verbesserungspotential.

Gruß,
Markus

Reply

Name
eMail (not visible)
Subject (no text only in upper case; no HELP, URGENT...)
Text
HTML tags are not supported and links are generated automatically if they start with http or ftp.
Please submit long source code or log files as attachment (only registered users).
Please enter the number 8199