MSP430 mspgcc olimex MSP Programmer Offset/Calibration Data

Gast #1898917
Lesenswert?

Hallo Zusammen,

folgendes Problem:

Ich hab hier einen MSP430 mit Olimex USB Programmieradapter. Wenn ich 
jetzt in IAR ein Projekt erstelle, den Code schreibe, alles wunderbar 
usw. und dann meinen MSP Programmiere funktioniert alles perfekt.

Das selbe Programm (natürlich mit Anpassungen an den Compiler) mit dem 
mspgcc compiled und mit "Olimex MSP430 Programmer"-Programm geflasht 
funktioniert nixmehr. Grund:

Ich verwende den internen DCO. Der hat Kalibrierungskonstanten im Flash 
stehen (Information Memory: 0x1000 - 0x10FF). Wenn ich mit dem "Olimex 
MSP430 Programmer" flashe wird dieser bereich überschrieben. Beim IAR 
ists nicht so. Gibts irgendwie die möglichkeit da einen Offset 
einzustellen? (In der Hilfe finde ich nix). Oder muss ich da vorher dem 
Compiler schon bestimmte Dinge mitgeben?

Vielen Dank schonmal

Mfg
#1899074
Lesenswert?

Elprotronic hat eine Programmiersoftware, die auch mit dem TI-Programmer 
funktioniert. Der Olimex kann den TI simulieren. Probier mal die 
Freewareversion:
http://www.elprotronic.com/files/FET-Pro430-Lite-Setup.zip
Bei dieser weiss ichs nicht, aber unsere Vollversion kann auch über BSL 
den DCO neu kalibrieren, falls er gelöscht wurde.
Eventuell musst du eine andere Dll benutzen.

Arno
Gast #1899122
Lesenswert?

Nene, kalibriert ist er schon (wieder). Es geht nur darum, das wenn ich 
mein mit msp430gcc erstelltes hex-file flashen will ich den "Olimex 
MSP430 Programmer" verwende. Und der löscht den  kompletten Flash und 
schriebt dann aber nur mein Programm in den Flashspeicher. Wenn ich die 
selbe Geschichte mit IAR mache dann bleibt die Kalibrierung erhalten 
(bzw. wird nicht gelöscht [weiss ich nicht sicher was von beiden]).

Also entweder Flashe ich die Kalibrierung immer mit (dann müsste ich 
aber mein Hexfile per Hand bearbeiten und die entsprechenden Adressen + 
Daten dazuschreiben oder er löscht einfach garnicht erst die 
Kalibrierung.

Geht das überhaupt, das Flash nur Teilweise zu löschen? Oder löscht er 
immer das ganze Flash? Bei USB-Sticks gibts ja diverse Blöcke die dann 
gelöcsht und wieder beschrieben werdne. Wie das beim MSP ist weiss ich 
aber nicht. Evtl. ist da das ganze Flash als ein Block zu sehen, dann 
müsste ich aber immer die Kalibrierung wieder mitschreiben und dann 
vermute ich, das dass das IAR automatisch macht.

Mfg
#1899410
Lesenswert?

Genau das selektive Löschen kannst du mit der elprotronic-SW machen.
Du kannst dir ja mal die Anleitung runterladen und anschauen:
http://www.elprotronic.com/files/Manual-FET-Pro430.pdf
Fürs Hobby wird sich die Anschaffung der Hardware nicht lohnen, aber 
wenn viele MCU zu programmieren sind, hat sich der echt schnelle und 
vielseitige Programmer in kurzer Zeit amortisiert.

Arno
#1900279
Lesenswert?

Du kannst doch beim Olimex Programmer auch einstellen, dass er nur den 
Program Flash und nicht den Info Flash (heißt da Data) löschen soll. Und 
eine Eingabemöglichkeit für Calibration Data gibts auch noch, was genau 
die macht, weiß ich aber nicht. 0x1000 ist doch das Info-Mem, das bleibt 
erhalten, wenn du nur den Program Flash löschst.
Gast #1900402
Lesenswert?

Ja so sollte es wohl sein. Ist aber leider nicht so, er löscht trotzdem 
das ganze Flash.

Ich hab jetzt allerdings eine Möglichkeit gefunden:

Im Instatllationsordner von Olimex gibts eine "mspprog-cli-v2.exe" und 
mit der funktioniert das wunderbar:

mspprog-cli-v2.exe /p=USB /d=MSP430<device> /li /e /f=hexfile.hex /w 
/post=hr

Ne hilfe gibts mit mspprog-cli-v2.exe /h:
1
=============================================================================
2
================================ O L I M E X ================================
3
=============================================================================
4

5
Usage:
6
    mspprog-cli-v2 [ARGUMENTS]
7

8
Arguments:
9
   /p=<PORT>            JTAG probe port (LPT1, LPT2, USB)
10
   /d=<DEVICE>          Device name (e.g. MSP430F1211)
11
   /f=<FILE>            File to read/write to/from (*.hex, *.txt)
12
   /rc                  Read Code Memory and store to file
13
   /ri                  Read Information Memory and store to file
14
   /e                   Erase memories
15
   /w                   Read file, erase and write to memories
16
   /v                   Verify file write operation
17
   /ei                  Erase Information Memory with Code Memory write/erase
18
   /bc                  Check whether Code Memory is blank
19
   /bi                  Check whether Information Memory is blank
20
   /li                  Prevent locked Information Memory erase/writes
21
   /post=<s|h|v>[r]     Actions to perform after programming (defaults to "s"):
22
                           s - Soft (PUC) reset
23
                           h - Hardware reset using the RST/NMI pin
24
                           v - Use VCC to power cycle device
25
                           r - Let the device run after reset
26
   /s                   Use SpiBiWire
27
   /blowjtag            Blow JTAG fuse (FUSE IS NOT REVERSIBLE)
28
   /l                   Display list of supported devices
29
   /h                   Display this brief help
30

31
=============================================================================

Vielen Dank trotzdem an alle.
Gast #2089145
Lesenswert?

> ================================ O L I M E X ================================
> ======================================================================== =====
>
> Usage:
>     mspprog-cli-v2 [ARGUMENTS]
>
> Arguments:
>    /w                   Read file, erase and write to memories
>    /v                   Verify file write operation
>    /ei                  Erase Information Memory with Code Memory write/erase

Gibt es einen Befehl, ähnlich wie:
/v                   Verify file write operation
der aber auch den "Information Memory" mit vergleicht?
Dieser Befehl scheint nur den "Code Memory" zu vergleichen.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren