Hallo, ich benutze seit längerer Zeit MSPGCC (dk.xpg.toolchain.windows.3.0) und Eclipse. Bislang hat mit das ausgereicht weil ich mir die "alten" Prozessoren gereicht haben (MSP430F2274). Jetzt brauche ich etwas mehr RAM und wollte auf den MSP430G2955 umsteigen. Dieser ist aber nicht mehr in der Auswahl der MMU vorhanden. Unterscheiden tut er sich aber eigentlich nur in der Größe von Flash und RAM. Weiss jemand was man alles noch tun muss um angepasste memory.x und periph.x Files nutzbar zu machen? Vielen Dank für sachdienliche Hinweise. (mit dem TI CCS komme ich nicht zurecht da verschiedene Dinge meiner Ansicht nach nicht so funktionieren wie ich das bis jetzt gewohnt bin)
völkner schrieb: > (mit dem TI CCS komme ich nicht zurecht da verschiedene Dinge meiner > Ansicht > nach nicht so funktionieren wie ich das bis jetzt gewohnt bin) Ich kann zwar nicht direkt helfen. Mir erging es ähnlich z.B. bei der Verwendung des MSP430F5435. Hier bin ich auf CCS umgestiegen und verwende Windows 10. Man muss sich wahrscheinlich umstellen. Übung macht den Meister!
Wolle G. schrieb: > Man muss sich wahrscheinlich umstellen. Hallo, danke für die Antwort, wenn es auch nicht das ist was ich gerne hätte. Ich bin nicht sehr vertraut mit CCS und würde auch umstellen wollen, aber kann mir vielleicht jemand sagen wie man da ein ELF File erzeugt und wie man ein ordentlichen printf hinbekommt. Das bräuchte ich in jedem Fall. Danke.
was verstehst du unter
>ordentlichen printf hinbekommt
hast du das CCS bereits installiert?
>wie man da ein ELF File erzeugt
Ich brauche immer nur .txt
für das .elf:
Properties->
General
Build->MSP430Linker
Build->MSP430 Hex Utility
>angepasste memory.x und periph.x
einfach einbinden? oder was ist da dein Problem unter ccs?
ggf. deine lnk_msp430g2955.cmd anpassen!
dummschwaetzer schrieb: Vielen Dank für die Informationen, das hilft schon mal ein Stück. >>angepasste memory.x und periph.x Das sind zwei Files in der dk.xpg.toolchain die die Resourcen der MMU beschreiben. Also hat nichts mit CCS zu tun. Das wäre das einfachste für mich wenn man das für die neue CPU ändern könnte. Da gibts aber noch paar mehr Stellen bei den man möglicherweise eingreifen müsste. Ich traue mich aber da nichts zu ändern vorerst. Die Stelle wo man printf anpassen kann hatte ich nicht gesehen, danke. Dadurch werden die Fehler weniger aber es hapert immer noch beim putchar. Ich leite printf auf die serielle Schnittstelle um. Das klappt bei dk.xpg.toolchain einwandfrei. Das mit dem Elf File habe ich auch noch nicht verstanden. Ich finde Properties-> General Build->MSP430Linker Build->MSP430 Hex Utility aber was muss ich da ändern um das elf File zu bekommen? Danke für deine Geduld. Gruß
>Elf File
da kann ich dir leider nicht weiterhelfen, ich brauchte bisher immer nur
.txt. Aber in den genannten Menüs sollte das irgendwo versteckt sein.
Kannst du die .x hier mal Posten, dami ich eine Vorstellung bekomme was
da drinn ist?
>Ich leite printf auf die serielle Schnittstelle um. Das klappt bei >dk.xpg.toolchain einwandfrei. Ich mach da mit snprintf einen eigenen string den ich dann direkt ins UART-TX Register schreibe.
Es sind wohl Linker files die etwa dem .cmd beim CCS entsprechen. Ich brauche das ELF File für meinen Debugger. Wenn das nicht geht kann ich CCS nicht benutzen. Die gewünschten Inhalte: Für MSP430F2274 memory.x MEMORY { sfr : ORIGIN = 0x0000, LENGTH = 0x0010 /* END=0x0010, size 16 */ peripheral_8bit : ORIGIN = 0x0010, LENGTH = 0x00f0 /* END=0x0100, size 240 */ peripheral_16bit : ORIGIN = 0x0100, LENGTH = 0x0100 /* END=0x0200, size 256 */ ram (wx) : ORIGIN = 0x0200, LENGTH = 0x0400 /* END=0x0600, size 1K */ infomem : ORIGIN = 0x1000, LENGTH = 0x0100 /* END=0x1100, size 256 as 4 64-byte segments */ infod : ORIGIN = 0x1000, LENGTH = 0x0040 /* END=0x1040, size 64 */ infoc : ORIGIN = 0x1040, LENGTH = 0x0040 /* END=0x1080, size 64 */ infob : ORIGIN = 0x1080, LENGTH = 0x0040 /* END=0x10c0, size 64 */ infoa : ORIGIN = 0x10c0, LENGTH = 0x0040 /* END=0x1100, size 64 */ rom (rx) : ORIGIN = 0x8000, LENGTH = 0x7fde /* END=0xffde, size 32734 */ vectors : ORIGIN = 0xffe0, LENGTH = 0x0020 /* END=0x10000, size 32 as 16 2-byte segments */ /* Remaining banks are absent */ bsl : ORIGIN = 0x0000, LENGTH = 0x0000 ram2 (wx) : ORIGIN = 0x0000, LENGTH = 0x0000 ram_mirror (wx) : ORIGIN = 0x0000, LENGTH = 0x0000 usbram (wx) : ORIGIN = 0x0000, LENGTH = 0x0000 far_rom : ORIGIN = 0x00000000, LENGTH = 0x00000000 } REGION_ALIAS("REGION_TEXT", rom); REGION_ALIAS("REGION_DATA", ram); REGION_ALIAS("REGION_FAR_ROM", far_rom); PROVIDE (__info_segment_size = 0x40); PROVIDE (__infod = 0x1000); PROVIDE (__infoc = 0x1040); PROVIDE (__infob = 0x1080); PROVIDE (__infoa = 0x10c0); periph.x __IE1 = 0x0000; __IFG1 = 0x0002; __IE2 = 0x0001; __IFG2 = 0x0003; __ADC10DTC0 = 0x0048; __ADC10DTC1 = 0x0049; __ADC10AE0 = 0x004A; __ADC10AE1 = 0x004B; __ADC10CTL0 = 0x01B0; __ADC10CTL1 = 0x01B2; __ADC10MEM = 0x01B4; __ADC10SA = 0x01BC; __DCOCTL = 0x0056; __BCSCTL1 = 0x0057; geht weiter
dummschwaetzer schrieb: > was hast du für einen debugger? Lauterbach T32 Debugger(auf den möchte ich nicht verzichten!) Sagt dir CCSDAT File formazt was ? Das könnte geladen werden, steht aber nichts weiter dabei, könnte auch was anderes sein.
nein, sagt mir nichts. die vom ccs generierte .out Datei fängt aber mit ELF an. eventuell brauchst du ja nur den Dateinamen ändern(BUILD->MSP430Linker->BasicOptions) Villeicht auch mal eine Anfrage an Lauterbach stellen was du da wo einstellen musst?
völkner schrieb: > Ich brauche das ELF File für meinen Debugger. Einen Debugger gibt es auch bei CCS. Dehalb braucht man hier m.E. keinen ELF File.
Vor einer Weile konnte man im CCS auch den GCC verwenden. Dazu musste man über den Eclipse Store (oder so) das Ding installieren. Das geht doch jetzt bestimmt immer noch. Der ist aber deutlich ineffizienter als der TI Compiler. Edit: gefunden: https://processors.wiki.ti.com/index.php/Using_MSP430-GCC_with_CCSv6
:
Bearbeitet durch User
>memory.x
ist in der .cmd
periph.x
ist dann wahrscheinlich die msp430.h bzw die zu dem g2955 passende .h,
.irgendwas im Ordner \ccs_base\msp430\include
Danke für die Hilfe allerseits. dummschwaetzer schrieb: > die vom ccs generierte .out Datei fängt aber mit ELF an. Der Hinweis war sehr gut. Habe mal gerade mit dem Simulator das .out file versucht zu laden und es hat funktioniert. Also Aufregung meinerseits wohl umsonst. Mit dem printf in String und dann Ausgabe auf UART kann ich auch leben. Scheint also einer Umstellung auf CCS nichts mehr im Weg zu stehen. Doch eine Sache habe ich noch: Kann man diese Hinweise mit dem I (links) abschalten ? Vielen Dank für die Unterstützung.
>Kann man diese Hinweise mit dem I (links) abschalten ?
Was meinst du damit?
ach die ULP-Warnungen. Ja: Properties->Build->MSP430Compiler->ULP Advisor die sind aber manchmal recht nützlich.
dummschwaetzer schrieb: > ach die ULP-Warnungen Ja , das meinte ich. Mag sein dass sie im Einzelfall nützlich sind. Jedenfalls gut zu wissen wo man sie abschalten kann. Bedanke mich nochmals sehr für deine freundliche und geduldige Hilfe! Das war für mich jetzt sehr erfreulich, ich kann jetzt wohl getrost umsteigen und an meinem Bastelprojekt weitermachen. Schönes Wochenende. Grüße
falls du interupts verwendest: deren Aufruf könnte sich vom bisherigen Unterscheiden. Da gibt es aber von TI relativ gute Doku. (google nach migration)
>Bedanke mich nochmals sehr für
gern geschehen, dafür ist ja das forum da!
noch ein Hinweis:
>etwas mehr RAM
die FR-Reihe ist da auch zu empfehlen, die haben zwar relativ wenig
richtigen RAM, aber der FR-Bereich ist eigentlich auch wie RAM nutzbar.
dummschwaetzer schrieb: > gern geschehen, dafür ist ja das forum da! Ja schon, aber öfters wird man doch etwas "schräg ansprochen" wenn man was fragt. Es war aber vorbildlich! Werde mir auch mal die FR Typen genauer ansehen bevor ich entgültig umsteige. Dankmals Danke.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.