Forum: Mikrocontroller und Digitale Elektronik Keil Demo und FX2


von Peter (Gast)


Lesenswert?

Hallo,

wie wirkt sich das aus, wenn ich die Keil Demo mit 4 kByte Limit 
verwende?

Angenommen ich will den FX2 mit 2 Endpunkten und Quad-Buffer verwenden, 
dann hab ich ja schonmal 2 x 4 x 512 Bytes = 4 kByte.
Kann ich dann noch einen Quellcode dazu schreiben? Oder wars das dann 
alleine durch die Speicherreservierung?

Auf der Cypress-Seite steht was von 4 kByte Object-Code, also nehme ich 
an, dass die USB-Endpunkte nicht dazu gezählt werden. Vlt. hat das ja 
jemand schon ausprobiert und weiss das genau?

Gruß Peter

von Christian R. (supachris)


Lesenswert?

Die Endpoints zählen da nicht. Ich nutz die schon seit Jahren. Keil sagt 
immer was von etwa 2500 Bytes für meine Firmware (Slave FIFO plus ein 
Vendor Request und ein paar Abfragen in der TD_POLL() damit die sich 
richtig an- und abmeldet).
Wenn du mehr brauchst kannst du auch SDCC nehmen. Bei den 
Beispielprojekten werden auch die USB Descriptoren extra behandelt, 
damit die nicht die 4k sprengen.

von Peter (Gast)


Lesenswert?

Hallo Christian,

Danke für die hilfreiche Info. Den SDCC will ich lieber nicht nehmen, da 
einfach jeder sein eigenes Brötchen backt und zuviele Portierungen im 
Inet umherschwirren.

Ich fange jetzt erstmal mit der Keil Demo an. Da ich nur ein paar Pins 
des FX2 abfragen und an den PC schicken will, sollte die 4 k Begrenzung 
nicht stören - mal sehen.

Gruss Peter

von Christian R. (supachris)


Lesenswert?

Achso, nee das reicht da dicke. Mit dem SDCC hab ich auch mal versucht, 
aber da wird man wahnsinnig, alleine die Konvertierung der Header 
Dateien ist sehr fehlerträchtig. Angeblich gehts, aber naja...

von asdf (Gast)


Lesenswert?

Da muss man nichts konvertieren, man kann z.B. fx2lib benutzen, 
funktioniert problemlos.

https://github.com/mulicheng/fx2lib

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.