Ik vroeg me af of ik binnen redelijk korte tijd zelf een programmer en uploadprogramma, samen met een simpel mini-OS'je (incl. terminal interface) kan maken voor dsPIC33's. Of dat ik gewoon de spullen van Microchip moet gebruiken.

Ik heb datzelfde een paar jaar geleden ook voor AVR's gedaan. Dat was vrij pijnloos en binnen een paar weken gepiept.

Ik was echter aan het zoeken naar een krachtigere microcontroller die toch nog in DIP behuizing leverbaar is. En na wat zoeken leek de dsPIC33 serie me de beste keuze, en ik heb nu alles aangeschaft om daarmee aan de slag te gaan.

Maar daar ik deze keer alle communicatie over Ethernet wil doen en toch graag wil weten hoe dat nu allemaal werkt, leek het me een goed idee om dat allemaal zelf te maken.

Aan de ene kant hebben die dsPIC33's al een ingebouwde bootloader, die zo te zien redelijk eenvoudig te gebruiken is. Maar aan de andere kant zijn de benodigde hardware, protocols en zeker ook de assembleertaal toch wel een heel stuk ingewikkelder dan bij een AVR.

Ook is het opvallend, dat geen enkele hobby-programmer en uploadprog die dsPIC's ondersteunt. Dat kan natuurlijk zijn omdat ze niet vaak door hobbyisten gebruikt worden.

Kortom, denken jullie dat dat te doen is, of kan ik dat maar beter laten?

het programmeren is een vak apart.
Het zal wel kunnen maar dat kost waarschijnlijk een hoop tijd.

wat betreft de software dit zal je waarschijnlijk prima zelf kunnen doen.

Ik denk dat dit wel te doen moet zijn. De dspic heeft een eigen bootloader die is vrij eenvoudig te gebruiken. En verder: Is een OS niet wat overdreven voor deze processor?

Mooi, dan ga ik dat proberen.

Ik heb ik ieder geval een mini-OS'je nodig, omdat ik tijdens het runnen via Ethernet met dat ding wil kunnen communiceren en spullen wil kunnen up- en downloaden. En dat lijkt me het minst ingewikkelde onderdeel.

Ok. Ik heb het volgende plan gemaakt:

1. Een simpele seriele progger om via WinPic een PIC18F2450 (met full-speed USB) te kunnen programmeren. (Geen probleem.)

2. Een simpel programma voor die PIC om via USB de poorten digitaal te kunnen aansturen, zodat ik via ICSP een andere PIC kan programmeren. (Aardig ingewikkeld, maar dat lukt me wel.)

3. Een printje met die PIC, een USB connector, een ZIF-socket en een 5-polige ICSP connector, om andere PIC's te kunnen proggen. Dan kan ik dat ook via een laptop doen en kan ik alle PIC varianten die ik wil gebruiken proggen zonder voor ieder type een adapter te maken. Eventueel met een seriele EEPROM, zodat ik daar alvast het binaire programma in kan zetten. (Geen probleem.)

4. Een programmeerprogramma om al die PIC's zo te proggen. (Lastig, een hoop werk, maar dat lukt me wel.)

5. (Optioneel: ) bootloaders maken voor PIC's die dat niet hebben, of een andere bootloader voor een PIC die er wel al 1 heeft. Die bootloader moet dan natuurlijk compatibel zijn met die in de dsPIC33. (Redelijk ingewikkeld, geeft wel flexibiliteit.)

6. Een programmeerprogramma om via die USB PIC een PIC met bootloader te kunnen programmeren. (Redelijk eenvoudig, als ik het voorgaande heb.)

7. Een printje met een dsPIC33, een ENC28J60 Ethernet controller, een EEPROM en voldoende ruimte voor additionele electronica. (Goed te doen.)

8. Een mini-OS voor de dsPIC33 met TCP/IP stack en terminal emulator of command-line interpreter, de mogelijkheid om de EEPROM te lezen en beschrijven en de mogelijkheid om via de bootloader de PIC zelf weer te programmeren (in blokken) met de inhoud van de EEPROM. (Lastig, maar dit wil ik graag doen.)

9. Printjes en progjes maken om die dsPIC's te gebruiken voor de besturing van dingen thuis en (vliegende) modelbouw! :D

Phew! Dat is wel een hoop werk. Kan dat niet simpeler?

Edit: stap 1 tot 4 en 6 kan ik natuurlijk overslaan door die progger van Microchip te kopen, maar dan weet ik niet hoe het werkt.

Bij nader inzien heb ik toch maar de PickKit2 besteld.