Forum: Mikrocontroller und Digitale Elektronik Ein Editor für SDCC.


von skorpionx (Gast)


Lesenswert?

Seit ungefähr einem Jahr programmiere ich meinen PIC mit dem SDCC. Ich 
möchte  bei dem Compiler bleiben wegen Unterstützung für viele andere 
Prozessoren. Auch für AVR.  Jetzt bin ich nach der Suche nach einem 
komfortablen Editor. Gestern habe ich zwei Kandidaten downgeladen: 
Geany und SciTe.  Vielleicht hat jemand Erfahrung mit denen.
Wie kann man den SDCC an diesen Editoren anbinden? Zurzeit starte ich 
die Kompilierung mit einer Batchdatei mit dem Inhalt:
sdcc -mpic16 -p18f258 --obanksel=2 --optimize-cmp --optimize-df  can.c

Für eventuelle Ratschläge wäre ich dankbar…

von E. B. (roquema) Benutzerseite


Lesenswert?

Ich verwende den PsPad Editor, ist zwar eher für 
Webseitenprogrammierung, hat aber einiges an Funktionen und gefällt mir 
ganz gut.
Ich nutze ein einfaches Makefile, welches ich für jedes Projekt anpasse 
und den SDCC zum Programmieren von 8051ern.
In jedem ernsthaften Editor kann man den Compiler einstellen und auch 
Parameter übergeben. Oder eben das Makefile aufrufen, und das macht dann 
den Rest.
Ich empfehle Dir, mit einem Makefile zu arbeiten. Ist flexibler.
Programmierst Du wirklich AVRs mit dem SDCC?

Programmers Notepad ist auch noch ein netter Editor, den nutze ich für 
allgemeine Arbeiten...

von Sven P. (Gast)


Lesenswert?

Makefiles würden da erheblich helfen. Auch der Umgang mit der 
Kommandozeile ist ratsam.

Ansonsten: kwrite, kate, vim, emacs.

von skorpionx (Gast)


Lesenswert?

Ich habe gerade den PsPad Editor geladen. Er sieht sehr interessant aus.
Ich programmiere zurzeit nur den PIC aber denke ich auch über die AVR
nach. Und das sollte auch unter den freien SDCC passieren.

von holger (Gast)


Lesenswert?

SDCC unterstützt keine AVR.

von skorpionx (Gast)


Lesenswert?

Von sdccman.pdf:

SDCC (Small Device C Compiler) is free open source, retargettable, 
optimizing ANSI-C compiler by Sandeep Dutta designed for 8 bit 
Microprocessors. The current version targets Intel MCS51 based 
Microprocessors (8031, 8032, 8051, 8052, etc.), Dallas DS80C390 
variants, Freescale (formerly Motorola) HC08 and Zilog Z80 based MCUs. 
It can be retargeted for other microprocessors, support for Microchip 
PIC, Atmel AVR is under development. The entire source code for the 
compiler is distributed under GPL. SDCC uses ASXXXX & ASLINK, an free 
open source retargetable assembler & linker. SDCC has extensive language 
extensions suitable for utilizing various microcontrollers and 
underlying hardware effectively.

von holger (Gast)


Lesenswert?

auf

http://sdcc.sourceforge.net/

AVR and gbz80 targets are no longer maintained.

von Eddy C. (chrisi)


Lesenswert?

Und hier:

http://sdcc.sourceforge.net/index.php#Download

"AVR and gbz80 targets are no longer maintained."

von Eddy C. (chrisi)


Lesenswert?

Huch :-) LOL

von skorpionx (Gast)


Lesenswert?

>In jedem ernsthaften Editor kann man den Compiler einstellen und auch
>Parameter übergeben. Oder eben das Makefile aufrufen, und das macht dann
>den Rest.

Den PsPad gefällt mir. Wie kann ich im Editor „den Compiler einstellen“? 
Wie kann ich das Makefile direkt vom Editor aufrufen?  Ein kurzes 
„Kochrezept“…

von Sven P. (Gast)


Lesenswert?

Wenn ich mich recht entsinne, haben die das AVR-Ziel zugunsten des 
AVR-GCC abgetreten.

von Christian R. (supachris)


Lesenswert?

Es gibt auch ein SDCC PlugIn für Eclipse...

von DerElektrischeReiter (Gast)


Lesenswert?


von skorpionx (Gast)


Lesenswert?

>... und code::blocks Unkompliziert und schnell.

Danke für den Supertyp!

Im Vergleich zum Beispiel habe ich diverse Änderungen unternommen.

Meine ursprüngliche Batchdatei für die  Komandozeile:
 sdcc -mpic16 -p18f258 --obanksel=2 --optimize-cmp --optimize-df  can.c
Mit der Option -p18f258 wird den Typ von meinem  Prozessor  festgelegt.
Dann statt (den anderen Prozessortyp bitte vergessen…):
  #include <pic16/pic18f452.h>
sollte in *.c  stehen:
  #include <p18cxxx.h>
Der Compiler inkludiert dann automatisch die richtige Datei.
Meine Option von der Komandozeile habe ich in der Zeile
Project -> Build options->Other options:
  -p18f258 --obanksel=2 --optimize-cmp --optimize-df
eingetragen.
Nach Den Beschwerden vom Linker musste ich noch in
Project -> Build options->Linker settings
   C:\sdcc\lib\pic16\libc18f.lib
eintragen.

Danach ist „Build“ fehlerfrei gelaufen und die can.hex Datei wurde 
generiert.
Das alles war unter „Build target: Release“

Nach dem Umschalten auf  „Build target: Debug“ kam die Medung:
-------------- Build: Debug in CanProjekt ---------------

Linking stage skipped (build target has no object files to link)
Nothing to be done.

Vielleicht hat jemand eine Idee…

von skorpionx (Gast)


Lesenswert?

In:
Project->Properties->Build targets->Debug
bei „Build target files“  habe ich Häkchen gesetzt und jetzt läuft
Build bei „Build target: Debug“ ohne Fehler:

Linking native: bin\Debug\CanProjekt.sys
message: using default linker script 
"C:\Programme\gputils\lkr\18f258.lkr"
Process terminated with status 0 (0 minutes, 0 seconds)
0 errors, 0 warnings

Wie kann aber den Debuger mit einem Erfolg starten …

von K. J. (Gast)


Lesenswert?

Hi ich benutze Piklab ist für sdcc schon vorbereitet und diev. andere 
pic Compiler.

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
Noch kein Account? Hier anmelden.