Frage:
Grundlegendes zu Programmierern für Mikrocontroller
Ana
2016-03-18 05:08:50 UTC
view on stackexchange narkive permalink

Ich bin verwirrt über das Konzept eines Programmierers für Mikrocontroller. Ich hoffe, jemand kann das klären.

Wenn ich ein Arduino verwende, kann ich es mit einem anderen Arduino über die SPI-Pins programmieren. Ich verstehe dies so, dass sich die SPI-Pins unter Verwendung eines bestimmten Programmierprotokolls wie Programmierstifte verhalten, wenn bestimmte Bedingungen erfüllt sind, die den Mikrocontroller in den Programmiermodus versetzen. Der Programmierer ist also nichts anderes als Hardware, die das Programmierprotokoll spricht.

Wenn ich über ARM-Prozessoren lese, lese ich oft, dass ich einen Segger JLink benötige. Sonst kann ich es nicht programmieren. Entwicklungskits haben oft einen Segger-Chip auf der Platine. Dies ist also ein Programmierer für ARM-Chips. Wenn ja, warum kann ein Arduino oder eine andere Allzweckhardware nicht auch das Programmierprotokoll für ARM sprechen?

Was ist das Besondere an Programmierern, dass es sich um Hardware handeln muss und nicht nur um Software, solange die Mikrocontroller-Pins ordnungsgemäß angeschlossen werden können und die Software diese Pins steuern kann? Wenn dies wirklich der Fall ist, warum sind Segger-Produkte so teuer? Was ist ihre geheime Sauce, die ihnen ein Monopol zu geben scheint?

Wenn es für diese Diskussion wichtig ist, ist der spezifische Mikrocontroller, an den ich denke, der nRF51822 mit einem ARM Cortex M0.

Es geht nicht darum, aber zu wissen, wie es geht, das ist der teure Teil.
Es gibt viele Implementierungen von SWD und / oder JTAG für ARM-Chips, die meist mit ARM-Chips hergestellt werden.
Fünf antworten:
DerManu
2016-03-18 05:31:06 UTC
view on stackexchange narkive permalink

Es gibt keine magische Sauce, es sind alles nur Uhren und Datenleitungen, die in der richtigen Folge in der Spannung auf und ab gehen. Manchmal sind die Programmierspannungen etwas höher als die normalen Schnittstellenspannungen, aber das ist nicht schwer zu reproduzieren. Wie Sie bemerkt haben, kann Ihr Arduino das auch, wenn Sie wissen, wie das Protokoll funktioniert. Und hier liegt das Problem.

Einerseits ist das zu programmierende Protokoll umso komplexer, je komplexer der Mikrocontroller ist. Sie haben Modi, um verschiedene Arten von Speichern zu initialisieren und Konfigurationsparameter festzulegen, die das grundlegende Verhalten des Controllers steuern (z. B. Atmel "Fuses", die SPI ausschalten oder den internen Taktquellenoszillator deaktivieren können). Das Protokoll dazu ist sehr niedrig und normalerweise nicht für den Entwickler von Interesse, der den Controller für sein eigenes Produkt verwenden möchte. Es ist also natürlich der Schöpfer des Mikrocontrollers, der eine Abstraktionsschicht zwischen Controller und PC bereitstellt, die das Programmieren des Controllers erleichtert.

Der andere Aspekt ist das Monopol, um vom Verkauf der Hardware und Software zu profitieren, die zum Programmieren eines bestimmten Controllers erforderlich sind. Die meisten Unternehmen sind nicht daran interessiert, die Programmierung ihrer Geräte mit Dritt- oder Heimwerkerprogrammierern zu vereinfachen. Nicht weil sie böse sind, sondern einfach weil es ihre Preispolitik ist, den Controller billig zu machen, sondern weil die Peripherie, die für die Entwicklung erforderlich ist, teuer ist, was zu geringeren Kosten pro Gerät führt. Einige Unternehmen gehen möglicherweise sogar noch einen Schritt weiter und fügen Sicherheitsmechanismen und manipulationssichere Protokolle hinzu. Ein einfaches Beispiel wäre ein geheimer Schlüsselgenerierungsalgorithmus und ein Schlüsselverifizierungsalgorithmus auf dem Programmierer bzw. der Steuerung. Wenn die Programmierung beginnt, führen sie einen Handshake mit Challenge-Response-Authentifizierung durch. Selbst wenn Sie das Protokoll schnüffeln und die genauen Bits auf den Zeilen wiedergeben, funktioniert dies nicht, da der Controller beim Handschlag zufällig eine andere Herausforderung darstellt und Ihr Papageienprogrammierer eine falsche Antwort erzeugt und dem Controller mitteilt, dass dies der Fall ist nicht mit dem ursprünglichen Programmierer sprechen.

GB - AE7OO
2019-10-18 16:10:18 UTC
view on stackexchange narkive permalink

Ein STMicro ST-Link / V2 kann für ~ 22 USD bei Mouser abgeholt werden. Ein ST-Link / V3MINI kostet von Mouser nur 9,75 US-Dollar.

Und dann haben Sie die MBed-kompatible STMicro Nucleo-Serie, die alle über einen integrierten ST-Link / V2-1 verfügen, der auch in einen OEM-JLink konvertiert werden kann. Die Modelle mit 64 und 144 Pins können abgenommen und einzeln verwendet werden. Der Preis reicht von 10 US-Dollar (einschließlich 64-Pin-Teilen) bis 30 US-Dollar. Beachten Sie, dass alle ST-Link / V2-1 Drag & Drop-Programme ermöglichen. Wenn Sie sie an den USB-Anschluss anschließen, werden sie als Massenspeicher angezeigt.

Aber der Weg, es noch billiger zu machen, besteht darin, eine 5er Packung blaue Pillen (AKA STM32F103 Minimum Development Board) von Amazon für 16 US-Dollar (Prime) zu kaufen und 1 dieser 5 in eine Black Magic Probe . Sie haben dann einen guten Cortex-M-Test / Debugger (JTAG und SWD) und 4 Boards zum Spielen. Das habe ich für zwei meiner Neffen getan, die Interesse an einer eingebetteten Entwicklung zeigten.

Nein, Sie benötigen weder einen JLink für die ARM-Entwicklung, noch müssen Sie viel Geld ausgeben. Wenn Sie sich nur ein wenig austoben möchten, besorgen Sie sich einen NUCLEO-F303RE, auf dem ein STM32F303RET6 montiert ist. Bei Mouser kostet er 10,33 US-Dollar. Dies bringt Sie zu STM32 mit 512 KB Flash, 64/16 KB SRAM, 4 5MSPS ADCs usw.

Ja, ich weiß, dass es eine ältere Frage ist.

Es ist erwähnenswert, dass ein STLINK * tatsächlich * den nRF51 des Fragestellers programmieren kann, wenn Software wie openocd verwendet wird, um ihn zu steuern.Und jeder Open Source CMSIS DAP kann * jeden * Teil mit SWD programmieren.
@ChrisStratton Und wenn Ihr ST-Link / V2 einer dieser billigen Klone ist, würde ich ihn einfach in eine Black Magic Probe umwandeln.Ein integrierter GDB-Server, eine virtuelle Seriennummer und eine einfache Steuerung machten es ideal für meinen Netzwerk-Debugger.Ich hatte RPI2 herumliegen und durch die Kombination mit einer modifizierten blauen Pille in einer billigen Plastikbox im Dollar-Laden (mit einem alten 5-V-PC-Lüfter) kann ich von jedem Ort aus, an dem ich Netzwerk und SSH habe, darauf zugreifen ... und mit einem BMPUnterstützt nicht so viele Geräte wie dieser DAP, unterstützt er eine ganze Menge.
Jeroen3
2019-10-18 16:37:37 UTC
view on stackexchange narkive permalink

Es gibt vier Methoden, um Code in einen Mikrocontroller zu übertragen. In der Reihenfolge der Zugänglichkeit:

  1. Bootloader.
    Dies ist, was der Arduino verwendet. Auf dem Mikrocontroller läuft Code, der den internen Flash über eine Schnittstelle empfangen und programmieren kann. In diesem Fall UART.

  2. In System Programming (ISP)
    Sie verwenden zusätzliche Hardware, um mit einem Peripheriegerät im Mikrocontroller zu kommunizieren und den internen Flash zu programmieren. Oder wenn Sie auf weitere solche zugreifen, sind Core-Register und sram, dann wird es zum Debuggen. Und noch mehr, indem Sie Live-Daten in die IDE streamen, wie es ARM CoreSight kann.
    Das auf ATMega-Chips basierende Arduino hat Atmel ISP, während ARM den Debug-Kern in seinem Prozessor über SWD verwendet. Es hat keine der anderen ausgefallenen Debug-Funktionen.

  3. Off-Board-Programmierung
    Häufiger bei älteren Teilen. Sie müssen das Teil von der Platine nehmen, es in einen Sockel stecken und spezielle Hardware zum Programmieren verwenden.

  4. Mask ROM
    Während der Herstellung wird Code unter Verwendung der verschiedenen Lithographieschritte, die den Chip herstellen, in den Chip eingegeben. Dies ist dauerhaft und kann nicht geändert werden.

  5. ol>

    Wenn ich über ARM-Prozessoren lese, lese ich oft, dass ich einen Segger JLink benötige. Sonst kann ich es nicht programmieren.

    Einige Chiphersteller bieten ROM-Bootloader an, auf die über eine Schnittstelle zugegriffen werden kann, wenn beim Einschalten eine Kombination von Pins im richtigen Zustand gehalten wird. Ein Beispiel hierfür wäre der LPC11U24 mit einem USB-Massenspeicher-Bootloader. Drag&Drop die Datei .bin .

    Was ist das Besondere an Programmierern, dass es sich um Hardware handeln muss und nicht nur um Software, solange die Mikrocontroller-Pins ordnungsgemäß angeschlossen sind und die Software diese Pins steuern kann?

    In der Produktion wird dieser Code nur für once verwendet.Während der Lebensdauer würde es nur teure Flash- oder ROM-Immobilien belegen.

    Wenn dies wirklich der Fall ist, warum sind Segger-Produkte dann so teuer?

    Abgesehen von der Hardware müssen sie auch Software und Treiber entwickeln, um alle Chiphersteller und IDEs unterstützen zu können.Sie können gefälschte JLinks für 10 US-Dollar in China kaufen ... die Hardware ist nicht teuer.


    Kaufen Sie keine gefälschten Jlinks

old_timer
2016-03-18 06:05:21 UTC
view on stackexchange narkive permalink

Es ist nicht so schwarz und weiß. In der AVR-Familie gibt es mehr als ein serielles Protokoll. Eines ist schmerzhafter als das andere. Die AVRs sind insofern nett, als Sie den Chip zurückgesetzt haben. Wenn Ihr Programm also etwas Dummes tut, wie die Programmierstifte neu zu verwenden (ja, das wurde schon mehr als einmal gemacht) und der Chip so konstruiert ist, dass er nicht zurückgesetzt werden kann, sind Sie es möglicherweise nicht Es kann neu programmiert werden, aber manchmal gibt es auch andere Lösungen.

Es geht um den Chiphersteller und darum, welche Funktionen er zu welchen Kosten dort einsetzen möchte. Ein 8-Pin-Teil mit mehreren Pins für die Programmierung wäre eine wirklich schlechte Idee, selbst eine doppelte Verwendung könnte schlecht sein, da der Benutzer möglicherweise nicht in der Lage ist, sein Board so zu gestalten, dass es diese Pins tatsächlich verwendet und vor Ort programmierbar macht. Wenn Sie jedoch genügend Stifte haben, können Sie sogar einige widmen, wenn Sie sie nicht muxen möchten. Es ist Sache des Chipherstellers / Designers, zu entscheiden, welches Protokoll oder welchen Satz er verwenden möchte. Wie bereits erwähnt, möchten sie es manchmal schaffen, sodass Sie ihre Tools kaufen müssen, weil sie das Protokoll geheim und geschützt halten. Sie bieten möglicherweise mehrere Lösungen, um es dem Benutzer einfacher zu machen.

Einige, heutzutage, ermöglichen eine Selbstprogrammierung. Das mcu kann seinen eigenen Flash aus Code programmieren, der auf dem mcu ausgeführt wird. Das öffnet die Tür für Bootloader. In einem solchen Fall können Sie jederzeit Ihr eigenes Protokoll erstellen, sodass Sie sich nicht auf den Anbieter verlassen müssen. Aber einige von ihnen haben eine oder zwei Schichten von Bootloadern, eine, die sie platzieren und vor deren Verwendung schützen. Ich denke, der AVR ist Hardware, der andere ist Software, der Bootloader, den die Arduino-Leute platzieren und mit einem Uart verwenden. Es ist nicht ungewöhnlich, vor allem bei ARM-basierten, eine serielle, USB- und möglicherweise SPI-Funktion auf dem eingebauten, vom Chiphersteller, dem Bootloader, platzierten Gerät zu haben. Befestigen Sie einen Eingangs-Pin beim Zurücksetzen oder Setzen von Pins, und der Bootloader übernimmt die App und startet sie nicht, sondern wartet darauf, dass Sie das Feldprogramm ausführen. NXP, ST, Atmel sind Anbieter, die dies tun.

Einige sind zwar nur jtag, jetzt mit dem reduzierten Pin-SWD-jtag bieten sie dies oft als Lösung zusammen mit den anderen an, und einige sind nur jtag. Aber weil wir keine parallelen Flash-Teile mehr verwenden, die alle mit demselben Protokoll programmiert sind und Sie nur eine Abstraktion zum Lesen und Schreiben von Adressen benötigen, spielen die jtag-Tools häufig nicht mit dem Erlernen der Protokolle aller möglichen Chips, also auch Sie Verwenden Sie ein spezielles Tool von ihnen oder machen Sie es auf eine andere Weise (zum Beispiel nach meinen Wünschen, schreiben Sie ein Programm und laden Sie es herunter und lassen Sie es die Selbstprogrammierung verwenden, einige der Lösungen (stlink usw.) laden tatsächlich ein Programm oder Design herunter und dann spricht das Tool mit dem heruntergeladenen Objekt, um die Aufgabe zu unterstützen.

Dies liegt jedoch bei Ihnen als Benutzer, um dies zu den Dingen hinzuzufügen, nach denen Sie suchen müssen, wenn Sie das mcu für Ihr Projekt auswählen. Wie programmieren wir es? Werden Sie diese Dinge massenweise programmieren, pro Board programmieren und die IKT sich darum kümmern lassen? Aber was ist Ihre Lösung für die Softwareentwickler, bevor Sie zur Massenproduktion kommen? Werden sie zu Bricking Boards, weil es auf den Prototyp-Boards keine Lösung gibt, die neu programmiert werden kann? Oder legen Sie etwas offen usw. Wenn der Chip keine guten Lösungen bietet, erhöht dies nur die Entwicklungskosten. Arbeiten Sie auf jeden Fall mit Ihren Softwareentwicklern zusammen, bevor Sie das Board entwerfen. Andernfalls reichen oft ein paar Uart-Pins und ein Gurt oft aus, um einen Bootloader zu erstellen, falls noch keiner vorhanden ist. Oder ein Strap und ein Jtag können ihre Anwendung sehr früh stoppen, wenn der Strap gesetzt ist, und dann mit jtag übernehmen, um entweder zu debuggen, Programme herunterzuladen oder den Chip neu zu programmieren.

Früher Sie haben gerade den Abschlussball entfernt und gelöscht, ihn dann in einen Programmierer gesteckt oder ihn löschen lassen und den nächsten gelöschten genommen und programmiert, indem Sie ihn wieder in den Sockel in der Platine gesteckt haben. Das oder zog das mcu selbst heraus und legte es in den Radiergummi und / oder Programmierer.

Die meisten haben jetzt eine Feldprogrammierlösung oder Sie können Ihre eigene Feldprogrammierlösung (in Software) erstellen, wenn genügend Pins vorhanden sind. Wenn nicht, machen Sie eine Steckdose für die Entwicklerprototypen und eine Vorrichtung für die Neuprogrammierung oder werfen Sie die Teile einfach weg, bis die Entwickler es richtig machen.

Beachten Sie, dass die Datenblätter für die Teile Ihnen sagen, was Sie wissen müssen, lesen Sie sie einfach ... Holen Sie sich auch die Datenblätter für konkurrierende Teile, um zu sehen, wie sie variieren, und / oder Sie können einige probieren und Breakout-Boards für unter einem Dollar bekommenProbieren Sie einige der verschiedenen Marken von mcus aus.
ARM macht Kerne nicht zu Chips, daher können Sie die Erfahrung von Cortex-M0-Teilen in keiner Weise form- oder formübergreifend kombinieren. Der Teil, der mit dieser Diskussion in Verbindung steht, hat absolut nichts mit Arm oder dem Cortex-m0 zu tun, mit dem er alles zu tun hatdie Logik des Chipherstellers oder eine andere IP-Adresse, die sie gekauft haben.
Der ST-Link lädt kein Programm / keine Firmware herunter.Andererseits tun dies meines Wissens alle Microchip-Programmierer.Dies ist einer der Gründe, warum ich mich von ihnen gelöst habe (zusammen mit der Tatsache, dass mein ICD2 / PicKit2 trotz dieser Fähigkeit keine modernen Teile programmieren konnte).
Nicht sicher, was Sie meinen, Sie können definitiv die verschiedenen Versionen des st-Links verwenden, um Programme in die mcu herunterzuladen und auszuführen.Und je nach Host kann die Software den Flash programmieren.Tun Sie dies täglich während der Entwicklung.Wenn der st-link dazu nicht in der Lage wäre, welchen möglichen Wert würde er dann haben?Eine nette Sache über den st-Link (unter anderem cmsis usw.) ist, dass Sie die meisten Kortex-ms programmieren können, sei es st oder nicht st Teile.
Es ist eine Antwort darauf: "Einige der Lösungen (stlink usw.) laden tatsächlich ein Programm oder Design herunter, und dann spricht das Tool mit dem heruntergeladenen Objekt, um die Aufgabe zu unterstützen." Für mich klang es so, als hätten Sie das gesagtDer stlink lädt jedes Mal eine neue Firmware auf sich selbst herunter (wie dies beim ICD2 / PicKit2 der Fall ist), und dann sprechen Sie mit diesem "Übersetzer", um Ihr Geräteprogramm zu erhalten.Was sie nicht tun. Sicher haben sie eine Firmware, aber sie wird nicht jedes Mal heruntergeladen.Normalerweise "aktualisiere" ich sie zu Black Magic Probes, die an Bord des GDB-Servers nett sind ...
Der stlink ist ein separater Chip, ein Debug-Chip mit einer bestimmten st-Firmware.Die frühe Version des Protokolls war nicht in der Lage, auf bestimmte Dinge zuzugreifen, für deren Ausführung die eigentliche Arm- (Daumen-) Software erforderlich war. Sie laden also einige Daten zum RAM herunter. Sie laden Code zum RAM herunter. Sie starten diesen Code, warten, bis er beendet ist, und wiederholen alseine Möglichkeit, den Blitz tatsächlich zu programmieren.Dies ist nicht ungewöhnlich. Sie sehen dies bei FPGA-Programmierern und anderen Orten.Im Allgemeinen führt dies zu einer viel schnelleren Gesamtprogrammierzeit, da Sie nicht brennen und daher Schnittstellenzyklen für einzelne Registertransaktionen debuggen können.
Der Stlink-Debugger-Chip wird auf den Zielchip heruntergeladen und auf dem Zielchip wird diese Firmware ausgeführt.zwei separate Chips.
Bei anderen Chip-Designs wie den avrs und Mikrochips außer dem pic32 ist das Chip-Design so, dass es einen direkten (ish) Pfad zum Flash gibt, der nicht durch den Prozessorkern zum Prozessorbus und in Anwendungsprogrammierschnittstellen führt.Der Chip wird häufig mit einem Riemenstift in einen speziellen Modus versetzt, der während des Zurücksetzens verwendet wird, oder indem der Chip zurückgesetzt wird, um auf die Programmierschnittstelle zuzugreifen. Dann wird ein chip- / familienspezifisches Protokoll verwendet, das häufig nur speziell für den Zugriff auf nichtflüchtige Speicher verwendet wird.
Ein Teil davon basiert auf der Geschichte der Flash / Rom-Technologie in Bezug auf die benötigten Spannungspegel usw. und musste den Chip in einen speziellen Modus mit speziellen Spannungspegeln usw. versetzen. Lesen Sie einfach das Datenblatt.der st-link ist nur ein mcu, für den st eine firmware geschrieben hat, die auf der einen seite swd und auf der anderen usb sprechen kann.etwas, das jeder andere auch tun kann, wenn er es wünscht.Es wird nur von Open Source-Tools sowie von Closed Source-Tools unterstützt.
Ich kann nicht für die AVRs sprechen (habe sie nie verwendet), aber sowohl der ICD2 als auch das PicKit2 laden beide herunter und nennen es ihre Intelligenz für ein Gerät oder eine Gerätefamilie wie ein FPGA.Das ist alles worüber ich gesprochen habe.
Lassen Sie uns [diese Diskussion im Chat fortsetzen] (https://chat.stackexchange.com/rooms/100048/discussion-between-gb-ae7oo-and-old-timer).
Die Pickits und dergleichen sind auch Boxen mit Prozessoren, die auf der einen Seite ein Protokoll (z. B. USB) und auf der anderen Seite das vom Protokoll gewünschte Protokoll sprechen (Informationen finden Sie im Chip-Datenblatt).nicht anders als die st-links.
Abgesehen davon, dass sowohl der ICD2 als auch das PicKit eine neue Firmware (für den ICD oder das PicKit, NICHT Ihr Ziel) für jedes Gerät oder jede Familie herunterladen.Das bedeutet weit mehr als ein "Protokoll" im Vergleich zu den STM32- und nRF-Familien, die wirklich nur eines verwenden.
Adam Haun
2016-03-18 06:45:14 UTC
view on stackexchange narkive permalink

Wie DerManu sagt, ist nichts Magisches daran - nur eine Menge Implementierungsdetails. Die Leute kaufen Emulatoren, weil das Erstellen und Programmieren ihrer eigenen Emulatoren ein Schmerz ist. Werfen Sie einen Blick auf einige wichtige Elemente aus der J-Link -Funktionsliste:

  • Download-Geschwindigkeit von bis zu 3 MByte / s
  • Intelligenz in der Emulator-Firmware [Behandlung für seltsame Randfälle]
  • Kompatibel mit allen gängigen Toolketten
  • Unterstützung für Multi-Core-Debugging
  • Unterstützt eine unbegrenzte Anzahl Anzahl der Software-Haltepunkte im Flash-Speicher
  • Das Festlegen von Haltepunkten im externen Flash-Speicher von Cortex-M-Systemen ist nur mit der Unlimited Flash Breakpoints-Technologie von J-Link möglich!
  • Plattformübergreifende Unterstützung (Microsoft Windows) , Linux, Mac OS X)
  • Unterstützt den gleichzeitigen Zugriff mehrerer Anwendungen auf die CPU
  • Remote Server enthalten. Ermöglicht die Remote-Verwendung von J-Link über TCP / IP
  • RDI / RDDI-Schnittstelle DLL verfügbar
  • Die Software wird mit einem kostenlosen GDBServer geliefert, der die Verwendung von J-Link mit allen GDB-basierten Debug-Lösungen
  • Produktions-Flash-Programmiersoftware (J-Flash) verfügbar
  • Debugger-unabhängiger Flash-Download (interner Flash, CFI-Flash, SPIFI-Flash)
  • Unterstützt die interne CPU / MCU-Ablaufverfolgung Puffer (ETB, MTB, ...)
  • Unterstützt ETM-Tracing (J-Trace Cortex-M, J-Trace ARM)
  • Kann über USB oder an den Host-PC angeschlossen werden Ethernet (J-Link PRO)
  • Breiter Zielspannungsbereich: 1,2 V - 3,3 V, 5 V tolerant
  • Alle JTAG-Signale können überwacht und die Zielspannung gemessen werden
  • Zielstromversorgung: J-Link kann bis zu 300 mA für das Ziel mit Überlastschutz liefern.
  • Ein SDK ist verfügbar (Ermöglicht die benutzerdefinierte Verwendung von J-Link).
  • Verschiedene Ziele Adapter und optische Isolationsadapter verfügbar
  • Unterstützt mehrere Zielschnittstellen (JTAG, SWD, FINE, SPD, ...)

Das ist viel Arbeit! Das Low-End-Modell kostet weniger als 400 US-Dollar und das High-End-Modell etwa 1000 US-Dollar, was für einen JTAG-Emulator mit Treibern, IDE-Unterstützung, Remote-Debug-Hosting usw. nicht schlecht ist. Denken Sie daran, dass diese einen engen Zielmarkt haben - Segger prahlt mit dem Verkauf von über 400.000 Einheiten! Und der Markt besteht hauptsächlich aus anderen Unternehmen, die kein Auge auf 1000 US-Dollar werfen - ein gutes Oszilloskop kostet das 5- bis 10-fache. Die Investition in die Softwareentwicklung für einen bestimmten Mikrocontroller ist viel, viel größer als die Investition in Programmiertools.

Sie könnten sicherlich versuchen, einen Programmierer mit einem Arduino zu erstellen - es könnte ein unterhaltsames Projekt sein. Aber es wird definitiv ein Projekt sein und kein schneller Hack.

Adam, ich denke, das bedeutet im Grunde, dass eine nichtkommerzielle Einheit wie eine Einzelperson SOL ist, wenn sie einen ARM-Prozessor in einem Projekt verwenden möchte, da die meisten Tools teuer und auf Unternehmen ausgerichtet sind, insbesondere im Vergleich zu Arduino, da Sie bekommen könnenbegann mit zwei $ 2 Arduino-Klonen, wobei einer den anderen programmierte.Unglücklich.
Ich glaube nicht, dass Sie 2 Dollar zusammenbringen werden, nein.Aber es sieht so aus, als ob die pädagogische / gemeinnützige Version des J-Link nur 60 US-Dollar kostet.Ich weiß, dass Spectrum Digital ein Modell unter 100 US-Dollar hat, das auf TI-MCUs funktioniert.Das ist für die meisten Hobbyisten erreichbar.
@AdamHaun Wenn Sie wirklich günstig wollen, können Sie den LPC-Link 2 für nur 15 Dollar kaufen.Es macht CMSIS-DAP oder J-Link.J-Link funktioniert nur mit NXP-Chips und verfügt jedoch über eine sehr restriktive Lizenz.


Diese Fragen und Antworten wurden automatisch aus der englischen Sprache übersetzt.Der ursprüngliche Inhalt ist auf stackexchange verfügbar. Wir danken ihm für die cc by-sa 3.0-Lizenz, unter der er vertrieben wird.
Loading...