Verwendung des MSP430-Launchpad als Programmierer

Hallo! Ich möchte mit der Habrasociety eine ungewöhnliche Anwendung des MSP430-Launchpad- Debug-Boards teilen .

Das Handbuch richtet sich an Benutzer, die bereits über ein MSP430-Launchpad verfügen, die MSP430-ValueLine-Mikrocontroller beherrschen und über ein Upgrade auf die weiterentwickelten MSP430-MKs nachdenken, sich jedoch noch nicht für den Kauf eines professionellen MSP430-JTAG- oder MSP430-UIF-Programmiergeräts entschieden haben. Aber das ist nicht beängstigend. Als Programmierer können Sie weiterhin Launchpad verwenden. Unter dem Schnitt werde ich Ihnen sagen, wie es geht.

Es stellt sich heraus, dass der auf der Launchpad-Platine enthaltene Programmierer jeden MSP430-Mikrocontroller (MK) mit einer SpyByWire-Schnittstelle (SBW) flashen kann. Anscheinend gibt es keine Einschränkungen für das MK-Modell. Ob dies ein Launchpad-Fehler ist oder die Idee der Texas Instrunmets ist unbekannt. Die SBW-Schnittstelle ist einschließlich der MSP430G2553- und MSP430G2452-MKs programmiert, die mit der Karte geliefert werden. Sie können überprüfen, ob der Mikrocontroller über eine SBW-Schnittstelle verfügt, indem Sie sich das Datenblatt ansehen. Wir werden eine selbstgemachte Debug-Karte mit einem Mikrocontroller MSP430F5438A als Testplatine verwenden. SBW-Schnittstelle in diesem MK ist. Das Board sieht so aus:



Jetzt müssen Sie die Jumper entfernen, die die Oberseite des Launchpads mit der Unterseite verbinden, und die Drähte von den Kontakten RST, TEST, VCC, VSS entfernen. Diese Drähte müssen mit einem handgefertigten Kabel in der folgenden Reihenfolge an die Beine des MK angeschlossen werden (die Nummerierung der Klemmen für das MSP430F5438A MK ist in Klammern angegeben):

Launchpad <---------> MSP430F5438A 
           VCC <---------> VDD (87)
           RST <---------> SBWTDIO (96)
          TEST <---------> SBWTCK (91)
           GND <---------> VSS (88)

Auf dem nächsten Bild sind die Beine des MSP430F5438, an die Sie anschließen möchten, mit einem Kreuz markiert:



Jetzt machen wir ein hausgemachtes Kabel, verbinden es mit dem MSP430F5438 und dem Launchpad. Es sollte ungefähr so ​​aussehen:



MK aus der DIP-20-Steckdose muss entfernt werden. In diesem Fall wird der MK auf der experimentellen Debug-Karte vom Launchpad mit Strom versorgt, das wiederum über USB mit Strom versorgt wird. Jetzt können Sie das USB-Kabel an Launchad und an den Computer anschließen. Wenn alles richtig gemacht wurde, sollte auf dem Launchpad die grüne PWR-LED leuchten. Wenn VSS und VDD vertauscht sind, ist die LED aus.

Jetzt können Sie überprüfen, ob der Mikrocontroller erkannt wird. Als nächstes werde ich das Linux-Betriebssystem und das Dienstprogramm mspdebug verwenden. Wenn Sie eine andere Toolchain für den MSP430 haben, lesen Sie die Dokumentation dazu. Überprüfen Sie nun, ob unser MK erkannt wird. Geben Sie in der Konsole Folgendes ein:

mspdebug rf2500 

Die Tafel sollte diese Antwort geben:

vvk@linux-bmx0:~> mspdebug rf2500
MSPDebug version 0.21 - debugging tool for MSP430 MCUs
Copyright (C) 2009-2012 Daniel Beer 
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Trying to open interface 1 on 004
Initializing FET...
FET protocol version is 30394216
Set Vcc: 3000 mV
Configured for Spy-Bi-Wire
Device ID: 0x0580
  Code start address: 0x5c00
  Code size         : 262144 byte = 256 kb
  RAM  start address: 0x1c00
  RAM  end   address: 0x5bff
  RAM  size         : 16384 byte = 16 kb
Device: MSP430F5438A
Number of breakpoints: 8
fet: FET returned NAK
warning: device does not support power profiling
Chip ID data: 05 80 17
Available commands:
    =           erase       isearch     opt         run         setwatch_w 
    alias       exit        load        power       save_raw    simio      
    break       fill        load_raw    prog        set         step       
    cgraph      gdb         locka       read        setbreak    sym        
    delbreak    help        md          regs        setwatch    verify     
    dis         hexout      mw          reset       setwatch_r  verify_raw 
Available options:
    color                       gdb_loop                   
    enable_bsl_access           gdbc_xfer_size             
    enable_locked_flash_access  iradix                     
    fet_block_size              quiet                      
Type "help " for more information.
Press Ctrl+D to quit.
(mspdebug) exit 

Als Ergebnis sollten wir in die mspdebug-Konsole gelangen. Geben Sie exit ein, um die Seite zu verlassen. Wenn MK nicht geantwortet hat, überprüfen Sie das Kabel.
Wenn Sie eine solche Antwort erhalten haben, wurde der MK erkannt und Sie können ihn mit dem folgenden Befehl programmieren:

mspdebug  rf2500 "prog имя_файла_с_прошивкой.elf"

Über Launchpad ist die Programmierung sehr langsam. 8kB werden mehrere Minuten lang zusammengefügt. Ansonsten gibt es keine Einschränkungen.

Es ist auch zu beachten, dass die RESET-Taste nach dem Ausschalten der Unterseite des Launchpads nicht mehr funktioniert. Befindet sich keine solche Schaltfläche auf der Karte, können Sie den MK über die Befehlszeile zum Zurücksetzen senden:

mspdebug rf2500 reset

Im Allgemeinen wird der professionelle Programmierer die obige Methode nicht ersetzen, aber Sie können sich nicht nur mit dem "erwachsenen" MK der MSP430-Serie vertraut machen, sondern auch voll arbeiten, wenn Sie nicht auf die niedrige Firmware-Geschwindigkeit achten.

Jetzt auch beliebt: