Ein Editor für SDCC.

Gast #1303862
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…
Persönliche Seite #1304107
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...
Gast #1304242
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.
Gast #1305216
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“…
Gast #1306548
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…
Gast #1306730
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 …

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