Forum: Mikrocontroller und Digitale Elektronik PIC24FJ64GB004 eclipse


von Sascha P. (poggie)


Lesenswert?

Hi Jungs,

ich bin gerade in Spanien und arbeite dort an der Uni Granada an einem 
Projekt was den PIC24FJ64GB004 benutzt . Hardware ist schon vorgegeben 
ich soll den nun Programmieren. Würde dieses gerne in Eclipse (Windows 
7) machen. hat einer von euch schon Erfahrungen welche Toolchain und 
vielleicht auch wie man das alles einrichten kann.
Da die Hardware gerade erst produziert wird war eigentlich geplant das 
ich den PIc erst mal mit proteus simuliere,,,,aber das scheint auch 
irgendwie nicht zu funktionieren.
Vielleicht habt ihr ja nen paar nützliche Tips für mich.

PS: ich habe eben mal Sdcc installiert. Das werde ich jetzt erst mal 
ausprobieren....nachdem die letzten 2 Tage nichts wirklich geklappt hat 
hoffe ich das das jetzt vielleicht funktioniert.

PS: MPLab ist im Vergleich zu eclipse ja wohl voll fürn a....
PS: bin auch schon über C30 gestolpert allerdings habe ich das auch 
nicht in  eclipse eingebunden bekommen....es kamen immer error messages

Danke
Sascha

von Markus M. (Firma: EleLa - www.elela.de) (mmvisual)


Lesenswert?


von (prx) A. K. (prx)


Lesenswert?

Sascha P. schrieb:

> Projekt was den PIC24FJ64GB004 benutzt
...
> PS: ich habe eben mal Sdcc installiert. Das werde ich jetzt erst mal
> ausprobieren....

SDCC und PIC24??

von Sascha P. (poggie)


Lesenswert?

habe auch gemerkt das sdcc nicht funtkioniert .....bin nun dabei c30 
compiler zu installieren... funktioniert auch soweit schon ganz ok.

kennt sich einer damit aus?

also es gibt 2 möglichkeiten wenn ich ein neues projekt erstelle:

PIC c30 project -> c30 hex toolchain
PIC c30 project -> c30 lib toolchain

da ich zum programmieren ja das hex file brauche habe ich hex gewählt.

main erstellt usw....pfade für includes festgelegt pic30-gcc eingestellt 
und dann versucht die header datei einzubinden.

wenn ich nun aber irgendetwas aus der header datei verwenden will z.B. 
PORTA

kommt immer:

**** Build of configuration Hex for project asfshs ****

**** Internal Builder is used for build               ****
pic30-gcc.exe xyz.o main.o -o asfshs.cof
main.o(.text+0x4): In function `main':
C:\Users\Sascha\workspace\asfshs\Hex\..\main.c:17: undefined reference 
to `PORTA'
Build error occurred, build is stopped
Time consumed: 468  ms.

PS: nicht über den komischen projektnamen wundern :)


vielleicht habt ihr ja ne idee



grüße
sascha

von OH (Gast)


Lesenswert?

Warum Eclipse? Weils modern ist/sein soll alle Sachen damit zu machen?

Es muß erst mal ein Programm gefunden werden, was das MPLAB ersetzt. Das 
funktioniert immer und das sehr gut. Vielleicht hast du auch nur noch 
nicht alle Punkte verstanden?

Im Bezug zu PICs ist Eclipse voll fürn A... und nicht andersrum.

Tschau Oerni

von Sascha P. (poggie)


Angehängte Dateien:

Lesenswert?

da ist mein code....

wie gesagt ....alles erst mal nur zum testen....aber der meckert jetzt 
wenn ich PORTA nehme nicht aber wenn ich nur SRbits.DC nen wert zuweise

voll komisch

habe die header datei mit ins eclipse projekt verzeichnis kopiert und 
xyz.h ist auch nur zum testen....habe in xyz.c ne for schleife gemacht

das läuft alles super nur wenn ich funktionen aus der pic24fj header 
datei verwenden will klappt der build nicht

ich habe nochmal die header datei angehangen


1
/*
2
 * main.c
3
 *
4
 *  Created on: 15.04.2010
5
 *      Author: Sascha
6
 */
7
#define  __PIC24FJ64GA004__
8
9
//#include <C:\Program Files (x86)\Microchip\MPLAB C30\support\PIC24F\h\p24FJ64GA004.h>
10
#include "p24FJ64GA004.h"
11
#include "xyz.h"
12
13
14
int main(void) {
15
16
  //TRISAbits.TRISA0 = 0 ;
17
  PORTA = 0b11111111;
18
  //PORTAbits.RA0 = 1;
19
SRbits.DC = 0 ;
20
//PORTBbits.RB10 =100;
21
22
23
  int i = peter;
24
25
  while (1) {
26
27
    delay(10);
28
29
  };
30
  return 0;
31
32
}

von Sascha P. (poggie)


Lesenswert?

OH schrieb:
> Warum Eclipse? Weils modern ist/sein soll alle Sachen damit zu machen?
>
> Es muß erst mal ein Programm gefunden werden, was das MPLAB ersetzt. Das
> funktioniert immer und das sehr gut. Vielleicht hast du auch nur noch
> nicht alle Punkte verstanden?
>
> Im Bezug zu PICs ist Eclipse voll fürn A... und nicht andersrum.
>
> Tschau Oerni

ich bin einfach die eclipse oberfläche auto vervollständigen usw gewöhnt 
.....geht das denn auch alles in mplab?
mir scheint mplab noch im entwicklungsstadium

vielleicht hast du ja recht und ich sollte wirklich mplab verwenden....
gibts aus deine sicht noch andere gründe die für mplab und gegen eclipse 
sprechen ?

von OH (Gast)


Lesenswert?

1. Voll integrierter Debugger mit z.B. dem ICD3 (145,-€), d.h. 
neuerdings auch Anzeige von Werten und Adressen bei Mouseover wenn 
Programm gestoppt ist, nicht nur über das Watchwindow oder SFR-Watch.
2. Integrierter Simulator, wenn man mal ohne PIC was probieren möchte.
3. Umfangreicher Stimulus beim Simulator, d.h. z.B. Pulssequenzen oder 
auch nur Einzelimpulse an Pins simulieren.
4. Volle Integration von C18/C24/C30/CCSC inkl. Hilfe, Brennen, 
Debuggen.

Was willst du als Debugger benutzen? Kann dir nur Originalware 
d.h.ICD2/ICD3/RealIce usw. empfehlen.
ICD3 ist m.m.N. momantan das Beste. Erheblich schneller wie der ICD2 und 
billiger wie der RealIce oder PM3.

5. Wird dein Gerät von Eclipse unterstützt? Bitte nicht von hinten durch 
die Brust ins Auge eine Lösung im Inet suchen. So ist kein 
professionelles Arbeiten möglich. Ein ICD bindet sich bei der 
Installation vollautomatisch ein, spielt sich automatisch seine 
benötigte Firmware auf (das geschieht bei jedem Familienwechsel 
(16/18/24/dsPIC) und vor allem holt sich sämtliche SFR Registerstände 
beim Debuggen aus dem PIC nicht bröckchenweise auf Anfrage.


Tschau Oerni

von Markus M. (Firma: EleLa - www.elela.de) (mmvisual)


Lesenswert?

Du kannst ja unter Eclipse coden, aber verlange nicht dass sich der 
Kompiller oder Debugger da einbinden lassen.

Ausserdem, mit Strg+Space kommt auch bei MPLAB ein Pull-Down Menü mit 
den Möglichkeiten. Steht zwar viel Schrott drin, aber immerhin kommt 
was.

Microchip möchte in irgend einer Zukunft ebenfalls Eclipse verwenden. So 
zumindest deren Entwickler und deren Aussage vor 2 Jahren.

von OH (Gast)


Lesenswert?

@Markus
War das ernstgemeint mit Eclipse als Oberfläche? Hoffe mal, dass da nur 
welche ihre Tagträume ausgelebt haben.
Man fängt dann an Eclipse und die JRE zu installieren und ärgert sich 
über den lamen Schrott. Muß man eigentlich noch CygWin für Eclipse 
installieren wenns unter Win laufen soll oder ist das in den 
Installerpaketen langsam mal mit drin?
Meine Erfahrungen damit sind schon etwas länger her.
Tschau Oerni

von morph1 (Gast)


Lesenswert?

Lähmend ist das unter Windows immernoch (im direkten Vergleich zur 
Linuxvariante) dafür ists deutlich bequemer geworden.

von Markus M. (Firma: EleLa - www.elela.de) (mmvisual)


Lesenswert?

Ich nutze sehr gerne Eclipse. Bei mir arbeitet es schnell. Ich habe 
einen Laptop mit CodeDuo 2,5GHz und 4GB Ram mit XP.

Auch in der Installation ist alles drin.

Ich nutze es mit einem STM32, was es alles für Installationen braucht 
habe ich in dem Artikel STM32 beschreiben.

Ich kann keine Wartezeiten gebrauchen, wenn ich nur 300ms auf einen 
Aktion warten muss, dann wäre die Umgebung für mich Schrott, aber 
Eclipse ist kein Schrott

von Sascha P. (poggie)


Lesenswert?

ich benutze jetzt mplab mit icd 2 debugger.

ist zwar immer noch nicht so 100% zumal das ding nicht unter win7 läuft
eclipse finde ich beim proggen übersichtlicher und bei strg leertaste 
kommt nur das was man auch gebrauchen kann....bei mplab kommt da ne 
ganze liste mit 100 möglichkeiten

ka oder ist das auch nur einstellungssache?
ich werde mich jetzt mal ein wenig in das PICDEM.net2 board einarbeiten. 
Das wurde mir von der Firma zusammen mit dem ICD 2 
bereitgestellt...später werde ich dann nen pic24 proggen.....so 
zumindest der plan.

kennt Ihr noch ne gute Seite wo nen paar Programmierbeispiele für C 
gegeben sind?

habe bislang http://www.fernando-heitor.de gefunden. ist auch alles 
super erklärt aber vielleicht gibts ja noch etwas besseres


grüße

von Markus M. (Firma: EleLa - www.elela.de) (mmvisual)


Lesenswert?

Microchip-Forum? Da müsste einiges zu lesen sein.

von OH (Gast)


Lesenswert?

Tschuldigung, war länger weg.
MPLAB mit ICD 3 läuft bei mir unter Windowa 7 64Bit, i5-760, 4GB Ram 
ohne Probleme. Desgleichen auf einem Vista 32Bit.
Der Installer vom MPLAB muß zwingend auf C: liegen, sonst lässt es sich 
nicht installieren. Der Bug zieht sich schon ewig durch.

@Markus
Bei 300ms Wartezeit fange ich schon an nervös mit den Fingern zu 
trommeln und hol mir zwischenzeitlich Kaffee ;-)
STM32 mache ich übrigens mit der Ride7 Umgebung. Die hat mir am besten 
zugesagt. Habe mir mal den Primer2 zum spielen geholt.
Tschau Oerni

von Sascha P. (poggie)


Lesenswert?

OH schrieb:
> Tschuldigung, war länger weg.
> MPLAB mit ICD 3 läuft bei mir unter Windowa 7 64Bit, i5-760, 4GB Ram
> ohne Probleme. Desgleichen auf einem Vista 32Bit.



Problem ist ich habe nur den ICD 2 (nicht ROHS)zur Verfügung dafür gibt 
es wohl nur Treiber für win32 somit läuft das Ding nicht unter Win7-64 
bit.

Zur Zeit lasse ich das Ganze in ner Virtuellen Maschine unter WinXP 
laufen.
Prblem ist nur das sich der ICD2 immer mal wieder disconnected...und ich 
ihn neu anstecken muss.

von OH (Gast)


Lesenswert?

Das Problem kann ich beim ICD2 bestätigen. Wenn man mal in der falschen 
Reihenfolge das Target gesteckt oder die Betriebsspannung unterbrochen 
hat, hat sich der ICD2 aufgehangen. Im schlimmsten Fall wird ein 
USB-Port dauerhaft blockiert und dann hilft nur noch den PC neu zu 
starten. Da die Dinger auch keinen sicheren Ausgangstreiberschutz haben 
und ich ständig welche für die Produktion reparieren muß, habe ich auf 
ICD3 umgestellt. Der basiert auf einem FPGA und hat sichere 
Ausgangstreiber. Bis jetzt, rund 8 Monate, ist er noch nicht einmal 
hängengeblieben. Deshalb habe ich ihn auch privat gekauft.
Tschau Oerni

von Markus M. (Firma: EleLa - www.elela.de) (mmvisual)


Lesenswert?

Der ICD2 hatte ich auch mal. Irgendwie konnte ich mich damit nicht 
anfreunden. Der Real-ICE hingegen hat gut funktioniert.

von Sascha P. (poggie)


Lesenswert?

OH schrieb:
>Wenn man mal in der falschen
> Reihenfolge das Target gesteckt oder die Betriebsspannung unterbrochen
> hat, hat sich der ICD2 aufgehangen.

Was ist denn die Richtige Reihenfolge?
Habe nen Eval board....das wir über ein Netzteil versorgt....dann ist 
der ICD2 über ein Kabel mit dem Board verbunden und der ICD2 mit dem 
Laptop per USB
Ich ziehe nun immer die Verbindung zwischen ICD2 und Eval Board ab.


>Da die Dinger auch keinen sicheren Ausgangstreiberschutz haben
> und ich ständig welche für die Produktion reparieren muß, habe ich auf
> ICD3 umgestellt.

Was muss ich den dabei Beachten? Was sind Scenarios wo die Dinger kaputt 
gehen ?


Grüße

von OH (Gast)


Lesenswert?

Szenario für Zerstörung der Ausgangstreiber:
unter Spannung stecken oder ziehen. Dabei wird die Masse als letzte 
gesteckt oder als erste gezogen. Dadurch verschiebt sich der Massebezug 
von CLK und DATA -> das wars dann. Mehrfach passiert. Da helfen z.B. ein 
paar Schutzdioden am Kabel auf der Seite des ICD. Da sind als Treiber 
nur 74HCT126 verbaut und die vertragen rein gar nichts. Als 
Privatbastler achtet man vielleicht noch drauf, in der Produktion wird 
drauflos geschuftet ohne Rücksicht auf Verluste, da passiert so was eben 
häufiger.
Vor allem wenn mit Testpunkten und Kontaktnadeln gearbeitet wird, kann 
man nicht 100%ig sicherstellen, das die Masse immer im richtigen Moment 
dran ist, nur durch separate Hardwarelösung möglich

Szenario zum Aufhängen des USB:
z.B. wenn man denkt es geht nichts mehr und trennt den ICD2 vom USB, 
wenn das MPLAB noch eine Verbindung als Debugger/Programmer hat. Bei mir 
jedenfalls hat sich dann der USB des PC aufgehangen und das 
nachvollziehbar unter XP.

Tschau Oerni

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.