Thursday, 26 January 2017

Openocd Download Binär Option

Ich bin auf der Suche nach Hilfe mit der richtigen GDB OpenOCD Initialisierung und Ausführen von Befehlen (externe Tools) für die Verwendung in Eclipse für Flash und ram Debugging sowie die entsprechenden Modifikationen oder Ergänzungen, die in einer Make-Datei für Flash vs ram Gebäude integriert werden müssen Für diese mcu, wenn dies zählt natürlich. Ich verwende Eclipse Helios mit Zylin Embedded CDT, Yagarto Tools und Bins, OpenOCD .4 und habe einen Olimex ARM-USB-OCD Jtag Adapter. Ich habe das ARM-USB-OCD bereits konfiguriert und es als externes Tool in Eclipse hinzugefügt. Für die Initialisierung von OpenOCD verwendete ich den folgenden Befehl in Eclipse. Die Board-config-Datei verweist auf die stm32 mcu: openocd - f-Schnittstelle olimex-arm-usb-ocd-h. cfg - f board stm32f10x128keval. cfg Wenn ich dies in Eclipse ausführen, scheint alles zu funktionieren (GDB-Schnittstelle, OpenOCD findet die mcu, etc). Ich kann auch telnet in OpenOCD und Ausführen von Befehlen. Also, ich bin auf der nächsten Teil-Initialisierung und Befehle für Flash und ram Debugging stecken. Sowie Löschen von Blitz. Ich las durch mehrere Tutorials, und spukte das Netz, aber nicht in der Lage, etwas Besonderes zu diesem Prozessor zu finden. Ich bin neu hier, so dass ich vielleicht nicht erkennen, ein gleichwertiges Produkt für ein Beispiel. Im, das mit der gleichen Werkzeugkette arbeitet, um ein STM32F107 Brett zu programmieren und zu debuggen. Im Folgenden sind meine Beobachtungen, um einen STM32Fxxx-Chip zu programmieren und zu debuggen unter dieser Toolchain. Initial Starting Point Also an dieser Stelle haben Sie eine funktionierende OpenOCD zu ARM-USB-OCD-Verbindung und so sollten Sie alle auf diesem Ende eingestellt werden. Jetzt ist die Arbeit auf immer Eclipse Zylin Yagarto GDB Kombination, um richtig zu sprechen, um die STM32Fxxx durch die OpenOCD Olimex-Verbindung. Eine Sache im Auge zu behalten ist, dass alle OpenOCD-Befehle zu Ausgabe sind die Ausführen-Modus-Befehle. Die Konfigurations-Scripts und Befehlszeilenoptionen zum Aufrufen des OpenOCD-Servers sind Konfigurationsmodusbefehle. Sobald Sie den Init-Befehl ausgeben, tritt der Server in den Ausführungsmodus ein, der den Befehlssatz öffnet, den Sie als nächstes benötigen. Sie haben es wahrscheinlich irgendwo anders getan, aber ich tack auf einer Option - c init, wenn ich den OpenOCD-Server wie folgt aufrufe: Die folgenden Befehle, die ich als nächstes ausführe, werden vom Eclipse Debug-Konfigurationsdialog ausgeführt. Unter dem Zylin Embedded Debug (Native) Abschnitt, erstellen Sie eine neue Konfiguration, geben Sie ihm einen Namen, Project (optional) und absolute Pfad zu der binären, die ich programmieren möchte. Auf der Registerkarte Debugger habe ich den Debugger auf Embedded GDB gesetzt. Zeigen Sie auf den Binärpfad von Yagarto GDB, legen Sie keine GDB-Befehlsdatei fest, legen Sie den GDB-Befehl auf Standard fest. Und das Protokoll zu mi. Die Registerkarte Befehle - GDB zu OpenOCD verbinden Die nächste Registerkarte ist die Registerkarte Befehle, und das ist, wo das Fleisch des Problems liegt. Sie haben zwei Leerzeichen Initialisieren und Ausführen. Nicht sicher genau, was der Unterschied ist, außer zu erraten, dass sie vor und nach dem Aufruf von GDB auftreten. So oder so habe ich nicht bemerkt einen Unterschied in, wie meine Befehle ausgeführt werden. Aber trotzdem, nach den Beispielen, die ich im Netz gefunden, füllte ich das Initialize-Feld mit den folgenden Befehlen: Erste zwei Zeilen sagen GDB, wie viele Breakpoints und Watchpoints Sie haben. Open OCD Handbuch Abschnitt 20.3 sagt GDB cant Abfrage für die Informationen, so dass ich es selbst sagen. Die nächste Zeile befiehlt GDB, eine Verbindung zu dem entfernten Ziel am lokalen Host über Port 3333 herzustellen. Die letzte Zeile ist ein Überwachungsbefehl, der GDB anweist, den Befehl an das Ziel weiterzugeben, ohne eine Aktion selbst auszuführen. In diesem Fall ist das Ziel OpenOCD und Im geben sie den Befehl halt. Danach sage ich OpenOCD, in den asynchronen Betriebsmodus zu wechseln. Da einige der folgenden Vorgänge eine Weile dauern, ist es sinnvoll, keinen OpenOCD-Block zu haben und auf jede Operation zu warten. Sidenote 1: Wenn Sie jemals Zweifel über den Zustand von GDB oder OpenOCD haben, können Sie die Eclipse-Debug-Konsole verwenden, um nach dem Aufrufen dieser Debug-Konfiguration Befehle an GDB oder OpenOCD (über GDB-Monitorbefehle) zu senden. Die Registerkarte Befehle - Einrichten des Benutzer-Blitzes Als nächstes werden Befehle, die ich im Abschnitt Ausführen-Befehle angeben, in den folgenden Abschnitten erläutert. Einrichten des Zugriffs auf User Flash Memory Zuerst gebe ich eine OpenOCD-Abfrage aus, um zu sehen, ob sie das Flash-Modul finden und die richtige Adresse melden kann. Wenn es antwortet, dass es den Blitz bei Adresse 0x08000000 gefunden hatte, dann waren sie gut. Die 0 am Ende spezifiziert, um Informationen über die Flashbank 0 zu erhalten. Sidenote 2: Die teilspezifischen STM32Fxxx-Datenblätter haben eine Speicherkarte in Abschnitt 4. Sehr nützlich, um auf der Hand zu bleiben, während Sie mit dem Chip arbeiten. Auch, wie alles als Speicheradresse zugegriffen wird, kommen youll, um dieses Layout wie die Rückseite Ihrer Hand nach ein wenig Programmierzeit kennen zu lernen. Nach der Bestätigung, dass der Blitz richtig konfiguriert wurde, rufen wir den Befehl auf, um den Schreibschutz auf die Flashbank zu deaktivieren . PM0075 beschreibt alles, was Sie über die Programmierung des Flash-Speichers wissen müssen. Was Sie für diesen Befehl wissen müssen, ist die Flashbank, der Anfangssektor, der Ende-Sektor und ob der Schreibschutz aktiviert oder deaktiviert werden soll. Die Flashbank ist in den Konfigurationsdateien definiert, die Sie an OpenOCD übergeben haben und wurde durch den vorherigen Befehl bestätigt. Da ich den Schutz für den gesamten Flash-Speicher deaktivieren möchte, spezifiziere ich die Sektoren 0 bis 127. PM0075 erklärt, wie ich diese Nummer bekomme, wie es sich bezieht, wie der Flash-Speicher in 2KB Seiten für mein (und Ihr) Gerät organisiert ist. Mein Gerät hat 256KB Flash, so dass ich habe 128 Seiten. Ihr Gerät verfügt über 512KB Flash so youll haben 256 Seiten. Um zu überprüfen, ob der Schreibschutz Ihres Gerätes ordnungsgemäß deaktiviert wurde, können Sie das FLASHWRPR-Register unter Verwendung des OpenOCD-Befehls an Adresse 0x40022020 überprüfen. Das resultierende Wort, das es druckt, ist 0xffffffff, dh alle Seiten haben ihren Schreibschutz deaktiviert. 0x00000000 bedeutet, dass alle Seiten über Schreibschutz verfügen. Sidenote 3: Zum Thema der Speicherbefehle habe ich meinen Chip zweimal durchbrochen, als ich mit den Optionsbytes am Block unter der Adresse 0x1ffff800 messing. Das erste Mal, dass ich den Lese-Schutz auf dem Blitz (Art von schwer, um herauszufinden, was Ihr tun, wenn Sie dies tun), zum zweiten Mal habe ich die Hardware Watchdog, die mich daran hindert, etwas danach zu tun, da der Watchdog ausgeschaltet Fixed es mit Die OpenOCD Speicherzugriffsbefehle. Moral der Geschichte ist: Mit großer Macht kommt große Verantwortung. . Oder eine andere nehmen ist, dass wenn ich schieße mich in den Fuß Ich kann noch fix Dinge über JTAG. Sidenote 4: Eine Sache, die passieren, wenn Sie versuchen, auf den geschützten Flash-Speicher zu schreiben, ist das FLASHSR: WRPRTERR-Bit gesetzt werden. OpenOCD meldet eine benutzerfreundliche Fehlermeldung. Löschen des Blitzes Nach dem Deaktivieren des Schreibschutzes müssen wir den Speicher löschen, den Sie programmieren möchten. Ich mache eine Massenlöschung, die alles löscht, Sie haben auch die Möglichkeit, nach Sektor oder Adresse zu löschen (glaube ich). So oder so, müssen Sie zuerst vor der Programmierung löschen, da die Hardware zunächst nach einem Löschvorgang überprüft wird, bevor ein Schreibvorgang möglich ist. Wenn das FLASHSR: PGERR-Bit (0x4002200c) jemals während der Programmierung eingestellt wird, dann wissen Sie, dass Sie havent dieses Teil des Gedächtnisses noch gelöscht haben. Sidenote 5: Das Löschen eines Bits im Flash-Speicher bedeutet, dass es auf 1 gesetzt ist. Programmieren des Binärs Die beiden nächsten Zeilen nach dem Löschen schreibt das Binärbild auf den Blitz und setzt den Schreibschutz wieder ein. Es gibt nicht viel mehr zu sagen, dass ist nicht von PM0075 abgedeckt. Grundsätzlich jeder Fehler, der auftritt, wenn Sie Flash-Image schreiben ist wahrscheinlich im Zusammenhang mit dem Blitzschutz nicht deaktiviert. Seine wahrscheinlich nicht OpenOCD aber wenn Sie neugierig können Sie ermöglichen die Debug-Ausgabe und folgen, was es tut. GDB Debugging So endlich nach der Programmierung Ich trennen GDB von der Remote-Verbindung und dann wieder mit dem Ziel verbinden, ein Soft-Reset, und meine GDB ist nun bereit zu debuggen. Dieser letzte Teil habe ich gerade herausgefunden, letzte Nacht, als ich versuchte herauszufinden, warum, nach der Programmierung, GDB nicht richtig stoppen bei main () nach Reset. Es ging weiter in das Unkraut und Sprengung. Mein aktuelles Denken und von dem, was ich in den OpenOCD - und GDB-Handbüchern lese, ist, dass die Remote-Verbindung in erster Linie dazu gedacht ist, zwischen GDB und einem Ziel, das bereits konfiguriert und ausgeführt wurde, verwendet zu werden. Nun Im mit GDB zu konfigurieren, bevor ich laufe, so denke ich, die Symbol-Tabelle oder einige andere wichtige Informationen wird durcheinander gebracht, während der Programmierung. Das OpenOCD-Handbuch sagt, dass der Server automatisch den Speicher und Symbole, wenn GDB verbindet, aber alle diese Informationen wird wahrscheinlich ungültig, wenn der Chip wird programmiert. Trennen und wieder Verbinden Ich denke, aktualisiert die Info GDB muss korrekt debuggen. So dass hat mich dazu geführt, eine weitere Debug-Konfiguration zu erstellen, verbindet diese nur und setzt das Ziel zurück, da ich nicht unbedingt den Chip programmieren muss, jedesmal wenn ich GDB verwenden möchte. Whew Done Art von lange, aber das hat mich 3 Wochenenden, um herauszufinden, so ist nicht zu schrecklich schlecht, denke ich. Final sidenote: Während meiner Zeit-Debugging fand ich, dass OpenOCD Debug-Ausgabe für mich von unschätzbarem Wert zu verstehen, was OpenOCD war unter den Decken. Zur Programmierung eines STM32x-Chips müssen Sie die Blitzregister entriegeln, die rechten Bits ausklappen und nur ein Halbwort zu einem Zeitpunkt schreiben. Für eine Weile habe ich gefragt, ob OpenOCD das richtig gemacht hat, aber nachdem ich die OpenOCD Debug Ausgabe durchgesehen und sie mit dem verglichen hatte, was die Anweisungen von PM0075 waren, konnte ich bestätigen, dass es tatsächlich die richtigen Schritte für jeden Vorgang durchgeführt hat. Ich fand auch, dass ich Duplizierung Schritte, die OpenOCD war bereits dabei, so konnte ich ausschneiden Anweisungen, die werent helfen So moralisch für die Geschichte: Debug-Ausgabe Ich kämpfte immer JLink, mit einem zu arbeiten STM3240XX und fand eine Anweisung in der JLink GDB-Serverdokumentation, die besagt, dass nach dem Laden des Blitzes ein Ziel-Reset erfolgen muss: Beim Debuggen im Flash werden der Stackzeiger und der PC automatisch gesetzt, wenn das Ziel nach dem Flash-Download zurückgesetzt wird. Ohne Reset nach dem Download müssen der Stack-Pointer und der PC korrekt initialisiert werden, typischerweise in der. gdbinit-Datei. Als ich einen Ziel-Reset im Run-Feld des Debuggers Setup von Eclipse hinzugefügt hatte, war plötzlich alles in Ordnung. Ich hatte nicht dieses Problem mit einem Kinetis K60. Das Dokument erklärt auch, wie man manuell die Stack-Pointer und PC direkt, wenn Sie nicht möchten, dass ein Reset. Es kann nicht die Trennverbindung sein, die das Problem löst, sondern das Reset. Beantwortet Binär-Optionen Robot-Software, um automatisch die Binär-Optionen handeln automatisch die Binär-Optionen Online. Binary Option Robot analysiert den Trend der. Der richtige Moment. Basierend auf Markttrends. Binary Option Robot unterstützt diese Währungspaare: EUR USD -. - Binäre Option Roboter unterstützen die Handelsindikatoren: MACD -. Die auf den Preisen der börsengehandelten Optionen beruhen. Mit über 60 optimierten Optionspreismodellen bietet die. Devisen, festverzinsliche Wertpapiere und Employee Stock Options (ESOs). Darüber hinaus können verschiedene exotische Verträge wie der Durchschnittliche Preis und die Rate (asiatische Optionen), Barrier, Binary bewertet werden. Chooser, Compound, Währung, Übersichtsreport, Rückblick, Portfolio, Regenbogen. Vergleichen Features: Line-by-line-Vergleich von Dateien eingefügt Snippets. Fast Smart Binary Vergleichen. Der Textvergleichmodus enthält Optionen, um Leerzeilen, Leerraum oder Fall zu ignorieren. Ziehen und loslassen. Unterstützt. zip. rar. jar-Archiv vs. Ordner vergleichen Flexible Konfigurationsoptionen. Benutzerprofile für alle Vergleichsmodi Konfigurierbare Tastenzuordnung Konfigurierbare Symbolleisten Befehlszeilenoptionen. Textvergleichsmodus. Fast Binary Vergleichsmodus. Intelligent. Ersetzen Sie mit Platzhaltern, Groß - / Kleinschreibung und Auswahloptionen. Volle Unterstützung für reguläre Ausdrücke mit Syntax-Hervorhebung. Built-in Hex-Editor ermöglicht die einfache Eingabe von binären Daten zu suchen ersetzen Bytes. Führen Sie mehrere Ersetzungen einfach durch die Eingabe von Klartext - oder RegEx-basierten Such-Ersetzen-Paaren in das Raster aus oder importieren Sie sie aus einem. Zum Konfigurieren von Hintergrund - und Bildschirmschonereinstellungen. Weitere wichtige erwähnenswerte Optionen erlauben es den Anwendern, die Monitorkonfiguration in Bezug auf Auflösungs - und Aufteilungsoptionen einzurichten. Und Orientierung, und erstellen Sie mehrere Profile, die überwacht werden können. Mit DisplayFusion können Sie jeder Taskleiste eine Taskleiste hinzufügen, die funktioniert und. tun. Die umfangreichen und aufwändigen Datenbank-Speicheroptionen ermöglichen es Ihnen, sofort Zugriff auf automatische Suche, von wo aus Sie alle bisherigen Informationen über einen Client ableiten können. Die intelligente automatische Feldfüllung Funktion spart Ihnen Zeit für zusätzliche unnötige Abfüllung Ins, bietet einen sofortigen Blick auf Kunden-Profile, täglich. Symbole Tier-Sitters, Clients, Berichte, Scheduler und Backup-Wiederherstellungsoptionen. Die Pet Sitters Abschnitt kann verwendet werden, um Profile von jedem Haustier sitter, die Dienstleistungen einschließlich Details der angebotenen Dienstleistungen und persönlichen Daten (Name, Kontaktdaten) bietet zu speichern. Dieser Abschnitt kann verwendet werden, um die Verfügbarkeit von Haustier sitters und eingestellt. Lösungen LLP. Diese MLM-Software kommt mit enormen Optionen wie SMS-Integration, e-Pin, e-Wallet E-Commerce etc. Dies kann in vielen MLM-Pläne wie binäre integriert werden. Matrix, Uni-Ebene, Treppenstufe Wegbrechen Plan, folgen Matrix, australischen Binärplan, Partei MLM-Plan, Überlauf über Plan, Generation. MLM Software konzentrierte sich vor allem auf die Verbesserung der Zahlungsmethoden. Optionen wie E-pdq-Barclay und Authrize. net werden zusammen mit hinzugefügt. Binary Books Handelsplattform können Sie handeln Währungen, Rohstoffe. 78 pro In weniger als einer Stunde. Unsere Binär-Optionen Trading-Anwendung können Sie mit verbunden bleiben. Globalen Markt und nie verpassen eine Handelschance. Binary Books mobile Handelsplattform bringt den Markt auf Ihre. Macht des mobilen Handels heute. Jeder kann binäre Optionen handeln. Seine einfache und leicht zu erlernen. Jetzt.


No comments:

Post a Comment