Sida 1 av 1

Kommer programminnet att räcka till (PIC16F628, C)

Postat: 27 juni 2005, 11:01:05
av Schnegelwerfer
Jag tänkte gå över till C nu i mina mikrokontrollerprojekt, eftersom jag börjat tröttna på att hacka assembler...

En STK500 kommer att inhandlas så småningom, men för tillfället tänkte jag prova på att programmera PIC:ar i C.

Jag tänkte att en HW-keylogger för inbyggnad i tangentbord kunde vara ett lagom projekt att börja med, men jag vet inte hur stor den kompilerade programkoden kan förväntas bli. Helst vill jag använda en PIC16F628, eftersom gratiskompilatorn jag tänker använda tillåter maximalt 2kb kompilerad kod. Jag kommer även bara att behöva ett fåtal I/O-portar

Nödvändiga funktioner i programmet:

* Mjukvaruimplementerad I2C mot seriellt minne.
* Avkodning av tangenbordkommandon (PS/2).
* Igenkänning av lösenord och andra kommandon för att dumpa data
* Igenkänning av Ctrl- och Alt-kommandon, så att dessa inte skickas til datorn när minnet dumpas.

Frågan är alltså om jag kan förvänta mig att klara av att implementera dessa funktioner i C med endast 2kb programminne tillgängligt?

Postat: 27 juni 2005, 11:33:08
av strombom
Vänta här, du kan inte använda en STK500 från Atmel för att programmera Microchips PIC-kretsar...

STK500 används med AVR-kretsarna, och till dem finns gratiskompilatorn GCC som för övrigt inte har några restriktioner vad gäller storlek på kompilerad kod...

/Johan

Postat: 27 juni 2005, 11:40:55
av Hedis
"En STK500 kommer att inhandlas så småningom, men för tillfället tänkte jag prova på att programmera PIC:ar i C."

Han tänker allt rätt. :)

Postat: 27 juni 2005, 11:44:45
av strombom
:oops:

Jag tror att 2kbyte kan räcka.

/Johan

Postat: 27 juni 2005, 11:46:03
av Schnegelwerfer
Hehe.. jag kanske var lite otydlig i inlägget.

Jag har alltså redan en PIC-programmerare, och tänker använda denna för att föra över HEX-filen.

Någon som har en susning om minnet kommer att räcka till?

Postat: 27 juni 2005, 11:49:14
av strombom
Jag lyckades få en pic12c508 att kommunicera med ett tangentbord på under 500byte kod, assembler visserligen men jag tror det kan gå.

/Johan

Postat: 27 juni 2005, 11:56:12
av Schnegelwerfer
Jo, jag tror också att det kan fungera. Jag har hittat en I2C-rutin i C på Piclist, och jag kan ju alltid kompilera den och se hur mycket plats den tar...

Postat: 27 juni 2005, 22:51:52
av gurgalof
sen måste du lägga upp källkod, schema och bilder!!! :D

Postat: 27 juni 2005, 23:26:21
av Schnegelwerfer
Givetvis! :D
Schemat blir inte så spektakulärt, en PIC16F628, ett seriellt I2C-EEPROM, en konding, ett par pullup-motstånd samt en polyswitch överströmsskydd som slår om runt 100mA. Det är ju inte så kul att bränna upp någonting på moderkortet bara för att PIC:en kreperar!

(Tack $tiff för att du berikat mitt ordförråd med "kreperar") :D

Tyvärr har jag lite andra projekt jag ska göra klart innan jag sätter tänderna i detta.