Datum: 31.05.2007 15:06
In Anlehnung an GNUARM-Eclipse hab ich ein Plugin für Fujitsu 16bit chips gestrickt. Vielen Dank nochmals an Wilfried Holzke für die Unterstützung und die gute Vorlage. Kommentare und Verbesserungsvorschläge sind willkommen. Insbesondere wenn jmd. ne Idee hat, wie man die Targetauswahl zusammenfassen und vereinfachen kann. Grüße, Michael
Datum: 11.06.2007 17:51
Version 0.0.2 hat jetzt auch einen eigens angepassten ErrorParser.
Datum: 15.06.2007 15:17
Hallo Michael, danke erst einmal für das super Plugin nur leider habe ich ein paar Probleme damit. Es scheint bei mir nach dem compilieren den Assembler noch einmal auf das erstellte Object ausführen zu wollen. siehe folgend Meldung C:\Softune\bin\fcc907s -cpu MB90F352CS -I "C:\Softune\lib\907\include" -O 4 -K SPEED -model MEDIUM -g -w 6 -B -INF srcin -cwno -o "main.o" "../main.c" diverse Warnungen *** E4017D : tool execute is failed(fasm907s.exe) make: [main.o] Error 2 (ignored) 'Finished building: ../main.c' Die Assembler Sourcen werden aber einwandfrei übersetzt. Musste allerdings in den Projecteinstellungen aber den Pfad zu den Tools einstellen. In meiner PATH Umgebungsvariabelen ist der Pfad aber angegeben. Habe noch ein paar andere Entdeckungen gemacht. 1. Dem Compiler Aufruf wird im Makefile ein "-" vorrangestellt (subdir.mk). 2. Gibt man eine Library im linker an muss man ein Leerzeichen davor setzen sonst sieht die Option so aus "-llib90xx.lib". Hätte diese Auffälligkeiten auch selbst geändert, wollte aber erst einmal um Erlaubnis fragen. Arbeitest du schon mit den FX Prozessoren der 16er Reihe? Sollen zu der LX Variante ziehmlich abgehen. Hatte vor ein paar Monaten mal das Vergnügen mit live mit dem Chef der Prozessor Entwicklung zu sprechen. Gruß Niklas
Datum: 18.06.2007 10:42
Die Sache mit der library hab ich gefixt und noch etwas anderen Kleinkram. Das - steht absichtlich davor. Es sorgt dafür, dass make den returncode des Compilers ignoriert. Make erwartet da wohl 0 für fehlerfreie Ausführung, der Compiler spuckt aber irgendwas anderes aus, so dass make sonst nicht durchläuft. Zugegeben keine schöne Lösung. Zu dem Pfadproblem: Keine Ahnung, bei mir tuts. Da gibts im Plugin auch nichts groß einzustellen. Dein Problem oben dürfte genau darauf zurückzuführen zu sein. Nämlich wenn der Compiler den Assembler aufrufen will, "fasm907s" an die Konsole schreibt und die nicht fündig wird. Ansonsten hab ich hier zwar nen FX Chip, hatte aber nie einen LX in der Hand, von daher fehlt mir der Vergleich. Die ganzen Demoprojekte laufen bei mir auch mit dem Plugin, nur bei dem Stück an dem ich momentan arbeite spuckt mir der Linker noch ein paar nonsense Fehler. flnk907s -cpu MB96F348TSA -g -w 1 -ra _INRAM01=0x002240/0x007FFF -ro _INROM01=0xF80000/0xFFFFFF -ro _INROM2=0xDF0000/0xDF7FFF -Xset_rora -check_rora -sc CONST/Const/BYTE=0xFF8000 -AL 2 -check_locate -m TSFW_Fujitsu.map -a -o "TSFW_Fujitsu.elf" ./system/src/mb96348ts.o ./system/src/start.o ./system/src/sys_clock.o ./system/src/sys_gpio.o ./system/src/sys_it.o ./system/src/sys_main.o ./system/src/sys_ser0.o ./modules/src/mod_clock.o ./modules/src/mod_io.o ./modules/src/mod_lcd.o ./modules/src/mod_ser0.o ./modules/src/mod_test.o ./core/src/core_assert.o ./core/src/core_cmdint.o ./core/src/core_com.o ./core/src/core_lib.o ./core/src/core_main.o ./core/src/core_modload.o *** obwrite.asm(47) E4305L: Unresolved external symbol (_write) *** obwrite.asm(110) E4305L: Unresolved external symbol (_write) *** obwrite.asm(172) E4305L: Unresolved external symbol (_write) *** obwrite.asm(247) E4305L: Unresolved external symbol (_write) *** obwrite.asm(305) E4305L: Unresolved external symbol (_write) *** ocwrite.asm(24) E4305L: Unresolved external symbol (_write) *** ocwrite.asm(71) E4305L: Unresolved external symbol (_write) make: *** [TSFW_Fujitsu.elf] Error 2 make: Target `all' not remade because of errors. Der Gag dabei ist, dass im ganzen Projekt bzw. auf dem ganzen Rechner keine Dateien namens obwrite.asm oder ocwrite.asm existieren. Und die große Frage ist, was der Linker überhaupt mit Assembler Dateien will. Bin für jede Idee dankbar.
Datum: 18.06.2007 12:51
Hallo Michael, welches Speichermodell benutzt du? Versuch doch mal deine Sourcen mit der Compileroption "-model LARGE" zu übersetzen. Und gib dem Linker die richtige Lib mit. Das ist im ersten Schritt vielleicht sehr bequem aber man muss nicht über alle Funktionen und oder externen Variabelen schauen ob sie mit near oder far initialisiert sind. Hoffe der Tip nütz dir etwas. Grus Niklas
Datum: 18.06.2007 16:29
Leider nicht. Hab damit etwas rumexperimentiert, aber der Fehler hält sich hartnäckig. Mal abwarten, was der Support dazu sagt. Was mir noch nicht 100% klar ist, ist welche Bibliotheken genau benötigt werden. Eigentlich doch lib907x.lib mit x=l für LARGE und x=c für COMPACT. Da das Programm momentan nicht allzu groß ist, sollte die lib907c.lib zusammen mit -model COMPACT ausreichen. Btw. dafür werd ich auch noch ne Option ins Plugin bauen.
Datum: 18.06.2007 17:00
Hi Michael, einige Hinweise zu den Librarys und den Namenskonventionen erhältst du im Compilerhandbuch Seite 125. Adressierung von Code und Daten Seite 61. Ich bin glaube am Anfang auch über diesen Fehler gestolpert und zwar setzt sich dein Projekt aus mehreren Objects zusammen. Wenn Funktionen oder Variabelen adressiert werden passiert dass in Abhängigkeit vom Verwendeten Model. Für das Large Model musst du die .../lib/907fx/lib904l.lib nehmen. Probier das mit dem Model nochmal. Mit welcher Softune Version arbeitest du? Und hast du das Library Update eingespielt? Arbeite selbst mit V30L33R09 incl. Update von der Fujitsu Homepage
Datum: 19.06.2007 11:01
Hmm, update eingespielt, Speichermodelle probiert, alles mal unter softune laufen lassen - nichts. Ich wart immer noch auf die Antwort vom Support. Trotzdem danke für deine Mühe mit dem elenden Fehler. Dafür hab ich noch kurz die Auswahl des Speichermodells mit ins Plugin übernommen.
Datum: 19.06.2007 13:08
Hört sich ja nicht so toll an, wenn selbst Softune meckert. Sieht aber nach nem Lib Problem aus. Hast du das SK-16FX-100PMC - Kit? Verwendest du printf, fopen in deinem Projekt? Habe mir mal das Template von deinem Kit angeschaut und mir ist aufgefallen, dass du deinem Linker den Pfad zu den 907fx Libs nicht mitgibst. Vielleicht ist es das schon.
Datum: 20.06.2007 10:42
So jetzt hab ich ihn. Seltsamerweise wollte der linker einen stub für diese write-Funktion, obwohl ich weder printf, fopen noch irgend ne andere Funktion verwende, die über die stdio schreibt.
Datum: 20.06.2007 11:00
Das hört sich gut an. Der Weg mit Fujitsu ist manchmal steinig. In der Datei start.asm gibt es den Punkt 4.7 Low-Level Library Interface steht der Parameter auf ON? Hast du die stub Funktion aus einem Beispiel? siehe 90xxx_sw_printf-v12 auf der Samples-Seite von Fujitsu.
Datum: 22.06.2007 11:15
Ja ist off. Jetzt läuft alles. Und da der stub lediglich aus return 0 besteht brauch ich da ned mal ne Vorlage ;)
Datum: 06.07.2007 11:40
Mal ne Frage, ich habe bisher nur mit Programmers Notepad und AVR's (privat) gearbeitet. Muß jetzt aber Fujitsu programmieren (Arbeit). ist soweit mit softune auch kein Problem, ist nur ein reudiger Editor. Habe mir Eclipse runtergeladen und installiert, Projekt angelegt und unter den Settings fürs build meine CPU usw. eingestellt. ein build mit CTRL+B gibt aber immer nur: **** Build of configuration Debug for project Test **** (Exec error:Launching failed) zurück. Was zum Teufel mache ich verkehrt??? bzw. kann man ein makefile erstellen was mit anderen Editoren funktioniert? mfg ---=DIAN=---
Datum: 12.09.2007 14:00
hallo zusammen, mir gehts wie dem kollegen oben, ich habe eclipse bisher auch noch nie verwendet und find die idee eclipse als IDE anstelle von softune zu nehmen eigentlich ganz charmant (softune ist ja wirklich keine schoenheit und auch nicht gerade komfortabel). also drauf los und eclipse 3.3.0 und cdt 4.0 runtergeladen und installiert, fujitsu-plugin eingebunden, demoprojekt (counter) von fujitsu hergenommen, und ich bekomme auch immer nur die fehlermeldung: (Exec error:Launching failed) ich denke das einfach die makefiles nicht passen. waere nett wenn ihr mal ein paar infos rausgeben koenntet, wie man denn eclipse generell mit dem fujitsu plugin verwendet und was man sonst noch so braucht (ggf. GNUmake, ...) Danke
Datum: 12.09.2007 18:00
Sorry, dass ich hier nicht mehr oft reinschau, ich hab aktuell beruflich nix mehr mit dem Plugin zu tun, von daher besser die Forenmail benutzen. Bei dem Problem siehts ganz so aus, als ob entweder die Pfadangaben für die toolchain nicht stimmen oder die Namen der einzelnen tools (Versionsnummern?) falsch sind. Die Namen lassen sich innerhalb des Plugins einstellen, den Pfad irgendwo im Windows mal prüfen. Ansonsten mal direkt die generierten Makefiles prüfen, die Befehle von Hand durchgehen.
Datum: 12.09.2007 18:19
Ja, da wäre noch eins. Für Eclipse 3.3 ist das Plugin natürlich auch nicht gestrickt gewesen. Vermutlich rührt der Fehler daher und lässt sich relativ flott ausmerzen. Wenn sich jemand dem Plugin annehmen möchte, nur zu. Die Sache ist einfacher als man anfangs glaubt. Ich werd in nächster Zeit leider nicht mehr dazu kommen, das Plugin zu aktualisieren.
Datum: 05.10.2007 16:38
I hope you speak english. I have been trying to use your wonderful plugin, i cant get it to generate the MHX file. If you can give more information on how to install this plugin and get it to work this would be far better than softtune. Please help. also do you have a website for the plugin it was very hard to find. Regards Dan Walmsley
Datum: 18.12.2007 15:38
As I mentioned in my last posts, I'm not working on this project anymore. I don't even have compilers and chips for working on it, even if I wanted. Maybe kalinka has an running version now? He had asked me for details before. Sorry, that I can't help.
Datum: 18.12.2007 16:32
hallo zusammen, ich habe auch keine zeit mehr fuer das plugin aufgewendet! Softune ist zwar ein reudiger editor, aber man gewoehnt sich dran. sorry, plugin RIP! C-YA
Datum: 19.12.2007 09:57
Hallo Michael Löffler! Kannst du mir vielleicht verraten wo man Infos zum Plugin-Bau für Eclipse findet? Suche schon eine ganze Weile nach einer Doku oder etwas Vergleichbarem. Auf der Seite www.eclipse.org findet seit geraumer Zeit schon kein Mensch mehr was. Gruß Mandrake
Datum: 09.01.2008 15:39
Hallo Mandrake, habe leider auch keine schlaue Doku gefunden... Based on Michaels plugin I created a new version. The settings are now as much as possible the same as in Softune. I have tested the plugin with Softune V30L33R09 and the MB90F543 controller. Comments are welcome. Cheers, Felix
Datum: 09.01.2008 15:40
Uuups... Hope this time with the attachement
Datum: 11.01.2008 10:38
Felix, great plugin, i have installed it into the plugins directory and now it offers me all the settings we need. However I can not get it to build. Also do you have a website to host the plugin and make it more accessible for others, I would be happy to help you do this on my website, where I have a "Sort of" plugin for an old NEC compiler. I would be grateful if you could provide a quickstart guide as I cant get the plugin to compile. thanks p.s. email dan@walms.co.uk
Datum: 11.01.2008 13:29
Hi Dan, I am just working on a quick start guide. I guess I will start a new thread if I have all the information. What means "I cant get it to build"? I hope I can help you if I have the error messages Eclipse is printing in the console. Please post it and you will get help. BTW, does you have put the path to the fujitsu compiler in your Winxx path variable? Cheers, Felix
Datum: 14.01.2008 11:34
Yes i put "c:\softune\bin;" into my windows path variable. My problem was that i need to select: Project > Properties > C\C++ Build. and then change Builer Type to "Internal Builder" instead of "External Builder". Now I cant solve the problem "**** Build of configuration Release for project test **** **** Internal Builder is used for build **** f2ms test.elf -o test.mhx *** F9015U: File open error (test.elf) Build error occurred, build is stopped Time consumed: 125 ms. " I know that test.elf file is not being generated. When I use all the same settings in softune everything seems to work ok. Regards Dan Walmsley
Datum: 20.01.2008 21:16
Hi Dan, I think you have to change the output format from ELF to ABS. This setting can be found at: C/C++ Build->Settings->Build artifact-> Artifact extension At the moment I have the problem that the linker is not working. I always get the error message: *** ..\init.c(116) E4305L: Unresolved external symbol (_config) Config is a structur which is defined in my code. I think something is missing or wrong in the linker settings, but I don't know what. Any clue? Regards Thomas
Datum: 23.01.2008 19:22
All I get now is *** E4017D : tool execute is failed(fasm907s.exe) ?? Dan Walmsley
Datum: 23.01.2008 22:40
Solved the above problem, I had included some redundant c files!.
Problem now is with the linking or possibly in the asm stage.
i get the following output in the list file
F2MC-16 Family SOFTUNE Linker Control List
2008-01-23 21:29:17 Page: 1
Option File(s)
** no use **
Control(s)
-cpu MB90V540
-w 0
-a
-AL 2
-ra RAM=0x000100/0x0018FF
-ro ROM=0xFE0000/0xFFFFFF
-sc CONST/Const/WORD=0xFF4000
-rg 0
-m Combi.mp1
-mmi
-xlf Combi.mpx
-slf Combi.mps
-mlf Combi.mpm
-o Combi.elf
-ro _ROM_1_=0xfc0000/0xffffff
-ra _RAM_1_=0x100/0x20ff
Input Module(s)
1 userengineer.o(userengineer)
2 mains_int.o(mains_int)
3 interrupt2.o(interrupt2)
4 interrupt1.o(interrupt1)
5 functions.o(functions)
6 Mb90540.o(MB90540)
7 c:\softune\bin\..\lib\907\lib905m.lib(__STD_LIB_divw)
8 c:\softune\bin\..\lib\907\lib905m.lib(__STD_LIB_fadtof)
9 c:\softune\bin\..\lib\907\lib905m.lib(__STD_LIB_fafadd)
10 c:\softune\bin\..\lib\907\lib905m.lib(__STD_LIB_fafaddl)
11 c:\softune\bin\..\lib\907\lib905m.lib(__STD_LIB_fafcmp)
12 c:\softune\bin\..\lib\907\lib905m.lib(__STD_LIB_fafcmpl)
13 c:\softune\bin\..\lib\907\lib905m.lib(__STD_LIB_fafdiv)
14 c:\softune\bin\..\lib\907\lib905m.lib(__STD_LIB_fafmul)
15 c:\softune\bin\..\lib\907\lib905m.lib(__STD_LIB_faftest)
16 c:\softune\bin\..\lib\907\lib905m.lib(__STD_LIB_faftestl)
17 c:\softune\bin\..\lib\907\lib905m.lib(__STD_LIB_faftod)
18 c:\softune\bin\..\lib\907\lib905m.lib(_STD_LIB_fafto)
19 c:\softune\bin\..\lib\907\lib905m.lib(__STD_LIB_fa_itof)
20 c:\softune\bin\..\lib\907\lib905m.lib(__STD_LIB_fashl)
21 c:\softune\bin\..\lib\907\lib905m.lib(__STD_LIB_fashr)
22 c:\softune\bin\..\lib\907\lib905m.lib(__STD_LIB_sprintf)
23 c:\softune\bin\..\lib\907\lib905m.lib(__STD_LIB_strncmp)
24 c:\softune\bin\..\lib\907\lib905m.lib(__STD_LIB_toupper)
25 c:\softune\bin\..\lib\907\lib905m.lib(__STD_LIB_ctype)
26 c:\softune\bin\..\lib\907\lib905m.lib(__STD_LIB_opconv)
27 c:\softune\bin\..\lib\907\lib905m.lib(__STD_LIB_opfc)
28 c:\softune\bin\..\lib\907\lib905m.lib(__STD_LIB_noreentrantf)
29 c:\softune\bin\..\lib\907\lib905m.lib(__STD_LIB_strcpyFN)
30 c:\softune\bin\..\lib\907\lib905m.lib(__STD_LIB_strlenF)
31 c:\softune\bin\..\lib\907\lib905m.lib(__STD_LIB_strncpyFN)
32 c:\softune\bin\..\lib\907\lib905m.lib(__STD_LIB_memcpy)
33 c:\softune\bin\..\lib\907\lib905m.lib(__STD_LIB_strcpy)
34 c:\softune\bin\..\lib\907\lib905m.lib(__STD_LIB_strlen)
35 c:\softune\bin\..\lib\907\lib905m.lib(__STD_LIB_strncpy)
36 c:\softune\bin\..\lib\907\lib905m.lib(__STD_LIB_divul)
F2MC-16 Family SOFTUNE Linker Control List
2008-01-23 21:29:17 Page: 2
37 c:\softune\bin\..\lib\907\lib905m.lib(__STD_LIB_modul)
38 c:\softune\bin\..\lib\907\lib905m.lib(__STD_LIB_modw)
39 c:\softune\bin\..\lib\907\lib905m.lib(__STD_LIB_oextpowt)
40 c:\softune\bin\..\lib\907\lib905m.lib(__STD_LIB_vdblcons)
41 c:\softune\bin\..\lib\907\lib905m.lib(__STD_LIB_abs)
42 c:\softune\bin\..\lib\907\lib905m.lib(__STD_LIB_fafdivl)
43 c:\softune\bin\..\lib\907\lib905m.lib(__STD_LIB_fafmull)
44 c:\softune\bin\..\lib\907\lib905m.lib(__STD_LIB_mull)
Error(s)
*** c:\users\dan\appdata\local\temp\f14642.asm(1726) E4305L: Unresolved
external symbol (_companytext)
*** c:\users\dan\appdata\local\temp\f14642.asm(1740) E4305L: Unresolved
external symbol (_companytext)
*** c:\users\dan\appdata\local\temp\f14642.asm(1746) E4305L: Unresolved
external symbol (_nvwrite)
*** c:\users\dan\appdata\local\temp\f14642.asm(1754) E4305L: Unresolved
external symbol (_clear_lcd)
*** c:\users\dan\appdata\local\temp\f14642.asm(1765) E4305L: Unresolved
external symbol (_zerospanumber)
*** c:\users\dan\appdata\local\temp\f14642.asm(1778) E4305L: Unresolved
external symbol (_cancalchannel)....
....
however these errors repeat 1000s of times also if I look inside the
folder specified I can never find the file!!!
Any ideas what is causing this. It works fine in softune it is probably
some simple setting.
Regards Dan
Datum: 16.03.2008 03:19
Folks, 52 downloads so far :-) thanks! Who is using that plugin? What kind of projects? Does that beast work? Does you need more instructions? Cheers, Felix p.s. should i open a new thread for us 16LXer?
Datum: 17.03.2008 13:49
Hey there Felix! Is it you supporting this project now? I am quite interested in it, though I haven't tried it yet. Softune is used in my company as debugger and compiler, whereas UltraEdit is used to write the code. I have used the YAGARTO toolchain before and came to like Eclipse but alas...no 100% working plugin... If you plan on starting a new thread it would be nice if you could log in as a real user so that it is possilbe to reach you easier :) greets E-Lore
Datum: 16.04.2008 12:09
so is this Project and / or the thread dead now?
Datum: 21.04.2008 08:27
Why should the the project be dead? There are over 90 downloads... I use my plugin for my projects and it works fine for me. Also I got now requests for updates or problem reports. Regards, Felix
Datum: 24.04.2008 10:49
very good...I'll try it out as soon as I got some time! :)
Datum: 29.04.2008 17:51
Hallo Felix Das Plugin 1.0.1 arbeitet eigentlich nicht schlecht. Habe es mit LX (MB90F497) und FX (MB96F346) getestet. Einige Hinweise: -FETOOL=C:\Programme\Softune in Environment Table setzen -INC907=C:\Programme\Softune\lib\907\include in Environment Table setzen -*.ASM and *.C Files werden, falls gross geschrieben nicht erkannt. -Makros für die CPU Definition setzen z.B. _CPU_MB96F346_ Aufgetretene Probleme: -Verlust aller Einstellungen beim Schliessen des Projekts oder von Eclipse -Der Eclipse Indexer will nichts von den definierten Makros innerhalb des Plugins wissen. Wie kann ich dem Indexer die Makros beibringen, damit ich CPU-Varianten-Kompilation verwenden kann ? Variablen setzen und so hat bis jetzt nicht funktioniert. Gruss Daniel
Antwort schreiben
Die Angabe einer Email-Adresse ist freiwillig. Wenn Sie automatisch per Email über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.
Wichtige Regeln - erst lesen, dann posten!
- Suchfunktion und Betreffsuche benutzen - vielleicht gibt es schon einen ähnlichen Beitrag
- Aussagekräftigen Betreff wählen
- Im Betreff angeben um welchen Controllertyp es geht (AVR, PIC, ...)
- Groß- und Kleinschreibung verwenden
- Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang
- JPEG-Dateien (.jpg) nur für Fotos verwenden, Schaltpläne, Screenshots usw. als PNG oder GIF anhängen
Formatierung (mehr Informationen...)
- [c]C-Code[/c]
- [avrasm]AVR-Assembler-Code[/avrasm]
- [pre]vorformatierter Text (z.B. Code in anderen Sprachen)[/pre]
- [math]Formel in LaTeX-Syntax[/math]
- [[Titel]] - Link zu Artikel