PIC Bootloader över IR
PIC Bootloader över IR
Hej!
Jag tänkte försöka flasha en pic 16f1827 över IR, och då endast envägskommunimation PC-PIC.
Har inte hittat något liknande på nätet och undrar därför om någon av er har något tips.
Tänkte att det kan fungera såhär:
-initiera/resetta PIC:en manuellt, den väntar då på RX
-starta uppladdning på PC-programmet.
Om PIC:en får fel i överföringen blir det förstås felflashat, medn eftersom bootloadern finns kvar är det väl bara att flasha om om det går snett?
Någon?
Jag tänkte försöka flasha en pic 16f1827 över IR, och då endast envägskommunimation PC-PIC.
Har inte hittat något liknande på nätet och undrar därför om någon av er har något tips.
Tänkte att det kan fungera såhär:
-initiera/resetta PIC:en manuellt, den väntar då på RX
-starta uppladdning på PC-programmet.
Om PIC:en får fel i överföringen blir det förstås felflashat, medn eftersom bootloadern finns kvar är det väl bara att flasha om om det går snett?
Någon?
Re: PIC Bootloader över IR
Precis som du säger, så blir det svårt med omsändningar med envägskommunikation. Dock så gäller det att ha bra koll på checksummor och liknande så det iallafall kan detekteras om det går galet, så det inte blir skumma bitfel bara. Det bästa är om du har något som kan signalera visuellt till användaren att nedladdning är klar och ok. T.ex en LED eller liknande.
Kan du inte berätta mera om avsikten och vad det skall användas till. Det brukar vara enklare att svara på frågor och ge förslag då.
Kan du inte berätta mera om avsikten och vad det skall användas till. Det brukar vara enklare att svara på frågor och ge förslag då.
Re: PIC Bootloader över IR
Antar att du tänkte köra 38khz ir. då har du ca 1.8ms/bit => 555 bitar/sec
Sedan bör du sända med någon typ av felkorrigering eftersom du inte kan återsända.
Jag hade kört dubbelriktat i alla fall, återsändning löser mycket problem.
Har tyvärr inte sett någon färdig lösning.
Sedan bör du sända med någon typ av felkorrigering eftersom du inte kan återsända.
Jag hade kört dubbelriktat i alla fall, återsändning löser mycket problem.
Har tyvärr inte sett någon färdig lösning.
Re: PIC Bootloader över IR
En modul med, precis som Micke_S säger, en 38khz IR-mottagare. Den har en IR-sändare också, men jag tänkte köra denna via den signalmodulator som finns i 16f1827 (mixa CCP4 och med seriell data och skicka det till en IR-LED), på så sett spar jag komponenter. Nackdelen är väl att man inte kan använda den som sändare om man inte kan modda bootloadern så att den konfigurerar porten. Kollade nu igenom databladet http://ww1.microchip.com/downloads/en/D ... 41391C.pdf sidan 201 och det verkar som att man kanske kan göra det genom sätta några register innan bootloadern börjar.vfr skrev:Precis som du säger, så blir det svårt med omsändningar med envägskommunikation. Dock så gäller det att ha bra koll på checksummor och liknande så det iallafall kan detekteras om det går galet, så det inte blir skumma bitfel bara. Det bästa är om du har något som kan signalera visuellt till användaren att nedladdning är klar och ok. T.ex en LED eller liknande.
Kan du inte berätta mera om avsikten och vad det skall användas till. Det brukar vara enklare att svara på frågor och ge förslag då.
Jag är kass på programmering, finns det några enkla bootloaders som jag modda så att jag sätter alla register som behövs innan bootloadern initierar eusarten, som kan ta med i PBP som jag kör?
Re: PIC Bootloader över IR
Min avsikt var mera gällande varför det ska köras just IR ochi vilket sammanhang. Det är ju mycket enklare med kabel, så det måste finnas något starkt argument.
Re: PIC Bootloader över IR
En sak (som inte i sig svarar på dina frågor men i alla fall) är att det nog är första
gången en tråd med en PIC ur "Enhanced Mid-range" kommer upp på forumet. Jag
tror inte att det är speciellt många som har använt dom eller som har någon
annan erfarenhet av dom. Det är absolut inget som helst fel på dom (tvärt om)
men det kostar på lite att vara "early adopter"...
Arkitekturen i dessa gör att de ligger lite imellan de gamla PIC16 och PIC18.
Istället för 4 banker har de 32 (!) banker, men å andra sidan har de ett speciellt
kommando för att sätta önskad bank direkt istället för två BCF/BSF i den vanlig
PIC16.
Men, som sagt, du är ju först så det är igentligen du som ska svara på frågor om dom...
gången en tråd med en PIC ur "Enhanced Mid-range" kommer upp på forumet. Jag
tror inte att det är speciellt många som har använt dom eller som har någon
annan erfarenhet av dom. Det är absolut inget som helst fel på dom (tvärt om)
men det kostar på lite att vara "early adopter"...

Arkitekturen i dessa gör att de ligger lite imellan de gamla PIC16 och PIC18.
Istället för 4 banker har de 32 (!) banker, men å andra sidan har de ett speciellt
kommando för att sätta önskad bank direkt istället för två BCF/BSF i den vanlig
PIC16.
Men, som sagt, du är ju först så det är igentligen du som ska svara på frågor om dom...

Re: PIC Bootloader över IR
Jag skall använda QFN eller t.o.m. UQFN-kapsel för att få ner storleken. Kortet är nu ca 17x25mm och skall vara väderskyddat, så jag vill undvika kontakter i största möjliga mån. Strömförsörjningen sker via induktion och laddar ett litet LIR2032. Smått skall det vara.vfr skrev:Min avsikt var mera gällande varför det ska köras just IR ochi vilket sammanhang. Det är ju mycket enklare med kabel, så det måste finnas något starkt argument.
Fann i min desperation http://www.picbasic.co.uk/forum/showthread.php?t=12628
Eftersom jag har 0 koll på bootloaders än så fattar jag inte om jag kan köra något liknande det i länken och SEDAN starta bootloadern. Går det? Eller måste Bootloadern ligga först, före config osv?
Tack för alla svar hittills, grymt forum!
Re: PIC Bootloader över IR
> Eller måste Bootloadern ligga först, före config osv?
Det spelar ingen som helst roll hur de ligger, det viktiga är att det finns något sätt
för bootloadern att "starta". Antingen genom att den är det första som körs vid
reset (och sedan anropas applikationen om inget händer), eller att applikationen
har ett sätt att hoppa till bootloadern när något visst händer (t.ex att det kommer
att speciellt kommando "firmware reload" via något kommunikationsinterface).
> före config osv?
För config ? Menar du CONFIG eller menar du någon annan "konfiguration" ??
> Eftersom jag har 0 koll på bootloaders...
Och hur stor är din "koll" på PIC rent generellt ?
> Fann i min desperation http://www.picbasic.co.uk/forum/showthread.php?t=12628
He he, någon som försöker köra en ny PIC med en gammal version av MPLAB som
inte har support för den nya PIC'en. Ja, det gav väl inte speciellt mycket hjälp.
Det spelar ingen som helst roll hur de ligger, det viktiga är att det finns något sätt
för bootloadern att "starta". Antingen genom att den är det första som körs vid
reset (och sedan anropas applikationen om inget händer), eller att applikationen
har ett sätt att hoppa till bootloadern när något visst händer (t.ex att det kommer
att speciellt kommando "firmware reload" via något kommunikationsinterface).
> före config osv?
För config ? Menar du CONFIG eller menar du någon annan "konfiguration" ??
> Eftersom jag har 0 koll på bootloaders...
Och hur stor är din "koll" på PIC rent generellt ?
> Fann i min desperation http://www.picbasic.co.uk/forum/showthread.php?t=12628
He he, någon som försöker köra en ny PIC med en gammal version av MPLAB som
inte har support för den nya PIC'en. Ja, det gav väl inte speciellt mycket hjälp.

Re: PIC Bootloader över IR
Jag har väldigt begränsad kunskap om både programmering och om just 16F1827.
Med c-onfig menar jag configuration bits. Jag måste väl modifiera bootloadern så att jag får rätt carrier frekvens till modulering av IR-led:en? Dessutom måste jag som Micke_S säger få ner baudrate på TX till drygt 550 för att kunna skicka det med en 38KHz carrier.
Jag kan inte skriva en egen bootloader utan har tänk använda någon annans alster.
Tolkar det som att jag får försöka anpassa bootloadern m.a.p. modulatorn och baudrate.
Med c-onfig menar jag configuration bits. Jag måste väl modifiera bootloadern så att jag får rätt carrier frekvens till modulering av IR-led:en? Dessutom måste jag som Micke_S säger få ner baudrate på TX till drygt 550 för att kunna skicka det med en 38KHz carrier.
Jag kan inte skriva en egen bootloader utan har tänk använda någon annans alster.
Tolkar det som att jag får försöka anpassa bootloadern m.a.p. modulatorn och baudrate.
Re: PIC Bootloader över IR
> Med c-onfig menar jag configuration bits.
OK. Men då finns det ingen rellevans i frågan:
"Eller måste Bootloadern ligga först, före config osv?"
Config är just det du säger, ett antal bitar i speciella konfigurationsregister som
styr hur processorn fungerar generellt. De är aldrig något som "körs" och alltså
kan ingeting annat varken köras före eller efter dom, så klart.
Det ser nu ut som att du är ganska ny även på PIC rent allmänt.
Jag tror att du har ganska små chanser att lyckas med det du försöker med,
du vet helt enkelt för lite om det du håller på med, vilket bl.a framgår av
dina frågor som är lite märkligt (men kanske rimliga om man inte vet något
om det man frågar om).
Jag vet helt enkelt inte riktigt var man skulle börja för att hjälpa dig, det är
som att ta den allra första körlektionen i rusningstrafik poå Autobahn...
Det är bättre att läsa sig grunderna hemma på garageuppfarten...
OK. Men då finns det ingen rellevans i frågan:
"Eller måste Bootloadern ligga först, före config osv?"
Config är just det du säger, ett antal bitar i speciella konfigurationsregister som
styr hur processorn fungerar generellt. De är aldrig något som "körs" och alltså
kan ingeting annat varken köras före eller efter dom, så klart.
Det ser nu ut som att du är ganska ny även på PIC rent allmänt.
Jag tror att du har ganska små chanser att lyckas med det du försöker med,
du vet helt enkelt för lite om det du håller på med, vilket bl.a framgår av
dina frågor som är lite märkligt (men kanske rimliga om man inte vet något
om det man frågar om).
Jag vet helt enkelt inte riktigt var man skulle börja för att hjälpa dig, det är
som att ta den allra första körlektionen i rusningstrafik poå Autobahn...

Det är bättre att läsa sig grunderna hemma på garageuppfarten...