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.
Flashen des Cortex M3
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
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
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
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
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.
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
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
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
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
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

