Wiebo
For Every Existing Problem Exists a Solution, Just Try To Find It...
Hoi, ik heb een vraagje. Heeft er al eens iemand gehoord over een bootloader die MPLAB-Compatible is? Heb daar eens tijd achter zitten zoeken en vond daar toch nergens niets van op het net. Nu ben 'k zelf reverse-engineering aan 't doen voor toepassing op een 16F877A. Vind iemand dit interessant om evt. te helpen hierbij??
Gebruik:
- Voor schakelingen waarbij de USART gebruikt wordt, zonder FlowControl
- Zelf voorwaarde invoegen in SW waarbij men naar de laatste 256bytes in program memory springt
Voordelen:
- Geen extra pennen nodig om in circuit te programmeren
- MPLAB Compatible, dus geen picstart nodig na 1e maal programmeren, omdat deze reageerd als een PICSTART+
- Veeeeel kortere programmeertijd (nog testen)
Nadelen:
- Enkel Program memory en EEprom memory zijn te programmeren (config bits en IDLocs kan je "Virtueel" programmeren)
Wouter van Ooijen
Wouter van Ooijen: VOTI webwinkel, docent HvU (Technische Informatica); C++ on mictrocontrollers blog
Als ik me goed herinner gebruikt the MPLAB protocol hardware handshake, dus het zal moeilijk worden. En het is ook behoorlijk complex, dus met 256 instructies? En ik snap ook niet wat je bedoelt met 'geen extra pinnen nodig voor programmeren'. De pinnen die je gebruikt voor programmeren zijn juist her-bruikbaar voor je applicatie, terwijl je bij een bootloader altijd iets moet doen om de bootloader danwel de applicatie op te starten.
En voor een bootloader die geen (I/O) pinnen gebruikt: google eens naar ZPL.
Wiebo
For Every Existing Problem Exists a Solution, Just Try To Find It...
Tja, voor zover ik ben en 'als' het lukt heb ik voorlopig volgende antwoorden:
die 256 instructies probeer 'k aan te houden, miss worden het er meer, maar da's bij de 16F877 geen probleem met 8k words. 
Wat ik bedoel met 'geen pennen extra' is dat je RB6 en RB7 (en evt.RB3) volledig vrij te kiezen hebt. Deze worden anders gebruikt voor extern te programmeren, terwijl nu de seriële poort gebruikt wordt (Als het om een toepassing gaat die er een gebruikt tenminste)
Een gebruiker zou dan wel moeten zorgen, dat bij een bepaalde voorwaarde het programma naar vector 0x1F00 'branched' of springt. De meeste toepassingen hebben toch ergens wel een drukknopje staan hè? bijvoorbeeld, schakel de spanning uit, houd 1 of meerdere knoppen ingedrukt en schakel de spanning weer aan. Nu kan onmiddelijk bij initialisatie het programma checken of er 1 of meerdere toetsen worden ingedrukt en zo de toepassing starten, of naar de bootloader jumpen. Indien het bootloaderprogramma gestart wordt, kan je gewoon in MPLAB "Enable Programmer" kiezen.
Maar binnekort meer hierover...
Groeten allen! 
Wouter van Ooijen
Wouter van Ooijen: VOTI webwinkel, docent HvU (Technische Informatica); C++ on mictrocontrollers blog
Op 4 februari 2004 23:26:27 schreef Wiebo:
Wat ik bedoel met 'geen pennen extra' is dat je RB6 en RB7 (en evt.RB3) volledig vrij te kiezen hebt. Deze worden anders gebruikt voor extern te programmeren
Die worden anders alleen *tijdens het programmeren* gebruikt voor het programmeren.
Wiebo
For Every Existing Problem Exists a Solution, Just Try To Find It...
Yep, weet ik wel, maar je moet iedere keer de baantjes naar deze pennen onderbreken dmv een jumper of iets dergelijks, anders gaat het programmeren ook niet 100% zonder fouten verlopen vanwege belastingen op de pennen...
Heb terminal in de vuilbak gegooid, heb nu veeeeeel beter programma gevonden om de communicatie te onderzoeken:
http://download.com.com/3120-20-0.html?qt=docklight&tg=dl-20
Tis wel een evaluatieversie, maar ze 's onbeperkt te gebruiken, werken alleen enkele functies niet van. Nu weet ik intussen ook al ongeveer hoe de "FlowControl" gebruikt wordt van de PS+
Groeten...
de Wiebo 
Wouter van Ooijen
Wouter van Ooijen: VOTI webwinkel, docent HvU (Technische Informatica); C++ on mictrocontrollers blog
Op 5 februari 2004 17:26:16 schreef Wiebo:
Yep, weet ik wel, maar je moet iedere keer de baantjes naar deze pennen onderbreken dmv een jumper of iets dergelijks, anders gaat het programmeren ook niet 100% zonder fouten verlopen vanwege belastingen op de pennen...
Dat hangt van je programmer af. Als er tussen de PIC pin en de rest van de schakeling een weerstand zit van zo'n 2k2 of meer gaat het bij mij altijd goed (Wisp628).
Wiebo
For Every Existing Problem Exists a Solution, Just Try To Find It...
Het is dat wat ik bedoel hè
de mogelijkheden zijn dan al veel minder, ook al delen RB6 en RB7 geen andere hardware. Alleen verlies je 2 pennen met pull-ups, en deze 2 pennen beschikken ook over de "interrup-on-pin-change"-functie. Ok, geen probeem als je deze als input gaat gebruiken, maar er vallen weer een aantal mogelijkheden weg indien je deze echt als output wil gebruiken, en zeker als er LED's moeten aangedreven worden, of een optocoupler die zijn mA's nodig heeft.
De Wisp628, is dat echt een ontwerp van jouzelf? Misschien wel leuk als je deze ook MPLAB-compatibel kon maken. Zou dan direkt ene bestellen. :d Miss iets voor in de toekomst? De Wisp-88 op basis van de 16F88? 
Groeten! 
Wiebo 
Wouter van Ooijen
Wouter van Ooijen: VOTI webwinkel, docent HvU (Technische Informatica); C++ on mictrocontrollers blog
> maar er vallen weer een aantal mogelijkheden weg indien je deze echt als output wil gebruiken, en zeker als er LED's moeten aangedreven worden, of een optocoupler die zijn mA's nodig heeft.
Een opto is vaak met ene paar mA wel tevreden, en er is in bijna ieder ontwerp wel een paar functies te vinden die via zulke weerstanden kunnen. Ik heb iig nog nooit die pennen 'ongebruikt' moeten laten op ICSP mogelijk te maken.
> De Wisp628, is dat echt een ontwerp van jouzelf?
natuurlijk. en de oudere WISP ook.
> Misschien wel leuk als je deze ook MPLAB-compatibel kon maken.
Waarom? Het is een belachelijk protocol, langzaam, vereist handshakes, en werkt slecht over USB. Als Microchip het nu eens mogelijk maakt exteren software binnen MPLAB te gebruiken..
Wiebo
For Every Existing Problem Exists a Solution, Just Try To Find It...
HET WERKT!!! en nog goed en gebruiksvriendelijk ook! Da hebben ze extra moeilijk laten lijken, maar eigelijk is 't protocol heel simpel, geen hardware handshaking en dergelijke... Anyway, is nog veel aan te verbeteren, verder doen.
groeten, Wiebo
Wouter van Ooijen
Wouter van Ooijen: VOTI webwinkel, docent HvU (Technische Informatica); C++ on mictrocontrollers blog
Op 8 februari 2004 15:38:14 schreef Wiebo:
HET WERKT!!!
Je bedoelt dat jij iets werken hebt gekregen? heb je een webpage met resultaten?
Wiebo
For Every Existing Problem Exists a Solution, Just Try To Find It...
Inderdaat, het werkt juist heel goed! Voor het moment heb ik het volgende probleem: Heb 16F877A en 16F874A's genoeg liggen, alleen heeft m'n PicStartje SW versie 2.30.00 en die ondersteunt de A-versies niet. Op het moment kan ik deze nog niet updaten, maar heb net men sampelkes ontvangen, dus ben nu bezig met de 18F452. Eens alles in orde is zet ik alle details in een verslag. Heb wel webpage, maar die heb 'k trug blanco gemaakt en zal deze daar ook voor gaan gebruiken. Ik laat zeker nog iets weten.
Groeten, Wiebo
Wouter van Ooijen
Wouter van Ooijen: VOTI webwinkel, docent HvU (Technische Informatica); C++ on mictrocontrollers blog
> Inderdaat, het werkt juist heel goed! Voor het moment heb ik het volgende probleem: Heb 16F877A en 16F874A's genoeg liggen, alleen heeft m'n PicStartje SW versie 2.30.00 en die ondersteunt de A-versies niet.
Ik verkoop die upgrade-kits voor de PS+. Maar een Wisp628 is goedkoper 
Wiebo
For Every Existing Problem Exists a Solution, Just Try To Find It...
Op 10 februari 2004 14:52:48 schreef Wouter van Ooijen:
Ik verkoop die upgrade-kits voor de PS+. Maar een Wisp628 is goedkoper
Klopt, maar ik kan m'n PicStart+ toch niet gaan weggooien, zo'n duur ding... Updaten dus... 
Ondertussen heb 'k volgende functies van de PicStart aan het werken gekregen op een bootloader memory space van bijna 256 words:
- HardWareReset van een Toepassing met bootloader via MPLAB (Mits verwaarloosbare aanpassing van schakeling, schema's volgen nog...)
- Programmeren en Verifiëren van Virtuele Config. Bits
(Virtueel: Deze worden in een RAM geprogrammeerd om geen problemen te krijgen bij een totale verificatie van de PIC. Deze zijn bij de 16F877(A) ontoegankelijk voor SW)
- Programmeren en Verifiëren van Virtuele ID Locations
- Programmeren en Verifiëren van het FLASH program memory
en dit over de in te stellen range (Programmeren is nog niet getest)
- Programmeren en Verifiëren van het EEPROM data memory
- Flash Erase Functie (nog niet Geïmplementeerd)
- Blank Check (nog niet Geïmplementeerd)
Mocht 'k nog ergens memory kunnen vrijmaken, dan zal ik dit zeker implementeren, maar deze functies worden niet feel gebruikt. Bij de 18F-serie zal dit wel lukken, omdat je met minder words meer kan doen.
Nu PicStart zien ge-update te krijgen, dan kunnen we aan 't testen gaan...
Groeten, de Wiebo
Enkele foto's op http://home2.pi.be/p4u13227/Main/
Wiebo
For Every Existing Problem Exists a Solution, Just Try To Find It...
Eh voila seh, lang geleden! intussen weer volop trug aan het programma gewerkt en 'k moet zeggen, 't bolt perfect! 'k denk dak in iedere toepassing die een seriële poort heeft deze virtuele PicStart+ ga verstoppen in de laatste 256 bytes, makkelijk bij debuggen... 
groetjes! Wiebo
PS: miss zet 'k alles op website als 'k eens tijd heb...
Hola mensen ik zoek sinds kort ook een PicStart+ vervanger. (toeval?) Ik had een site gevonden in russisch die een picstart+ heeft reverse engineered en de schema's en firmware aanbieden. Helaas is de controller van de PS+ een pic17 en die kan ik zelf dis niet programmeren met mijn simpele pic16f84 en pic18 programmers. (pic17 is toch antiek?) Verder kon ik helemaal niks vinden op internet. Ik zou graag wat hulp kunnen gebruiken van jullie.
Behalve PS+ kan mijn MPLAB ook nog 'PM3', 'ICD 2' en 'Pro Mate 2" gebruken om te programmeren. Zelfbouw vervangers van ieder van deze zijn ook erg welkom.
Wiebo
For Every Existing Problem Exists a Solution, Just Try To Find It...
misschien kan je een ICD I zelf bouwen, er zijn verschillende uitvoeringen op het net beschikbaar. Enkel de print etsen en een geprogrammeerde 16F876 er op en juuuw...
(de SW hiervoor vind je in de MPLAB-directory)
google maar eens en zie wat je vind... 
of eens zien op http://www.inkoopacties.net/ia/w4t1qwqf 'k heb daar een IA lopen, miss is er iets bij dat je kan gebruiken...
Groetjes Wiebo
Wiebo
For Every Existing Problem Exists a Solution, Just Try To Find It...
Op 14 oktober 2004 09:51:00 schreef Zom-B:
Hola mensen ik zoek sinds kort ook een PicStart+ vervanger. (toeval?) Ik had een site gevonden in russisch die een picstart+ heeft reverse engineered en de schema's en firmware aanbieden.
En heb je die site nog? lijkt me vrij interessant gezien 'k nog paar 17C44's heb met PicStart+ SW versie 3.11
Groetjes, Wiebo