Fórum témák
» Több friss téma |
Sziasztok!
Bootloader ügyben itt nézzetek körül.http://www.microchipc.com/PIC16bootload/#introduction Üdv!
Sziasztok!
Szeretném elkészíteni ezt a tiny bootloadert (Tiny bootloader) PIC18f252-re annyi kivétellel, hogy én RS485-re akarom implementálni. Módosítanom kellett az asm kódot az RTS vonal kezelése miatt, így egy picit a bootloader is nagyobb lett pár word-el. Sikerült is megírni, viszont az a probléma, hogy a C18-ban megírt futtatandó programom bootloaderrrel való feltöltése után a bootloader újra már nem működik. Vagyis a CHECK PIC felismeri a PIC-et, de a íráskor ERROR-ba áll ki. Akkor újra bootloader beégetés, majd megint be tudom égetni a saját C18-as programomat 1 alkalomig. Gyanítom, hogy a futtatandó C programom felülír valamit a bootloaderben, illetve nem is abban hanem a memória első részében. Azt írja a szerző: Idézet: „If you write your software in assembler the program must have in the first 4 words of memory a GOTO to the start of the main program. This is how most of the ASM programs look anyway. So in assembler it should look something like this: PIC18F goto Main org 0 goto Main If you use a (C/Basic/...) compiler, some of them may require a special directive to allows coexistence with a bootloader; but then again, most of them will work without specifying anything. ” De C18-ban mit kell átírnom, vagy változtatnom? A hozzászólás módosítva: Aug 21, 2014
Sziasztok!
Vásároltam egy SmartGLCD (V1.51)-es boardot, amihez külön égetőm nincs csak egy USB kábelem... Az eszközhöz a mikroC Pro for PIC környezet szeretném használni. A problémám: a mikroC-vel lefordítom a programot, és a kapott HEX filet beégetem a SmartGLCD-be, az Tools menüben lévő mikroBootloader programmal. Ez rendben le is megy, viszont a board nem csinál semmit (várakozás, RESET, USB kábel ki/be után se). A SmartGLCD weboldaláról letölthető példát próbáltam működésre bírni (próbáltam egyéb programokat is, ugyanaz a végeredmény). Mit csinálok rosszul ? Kerestem különböző fórumokon megoldást a problémámra, de nem találtam Informatikus vagyok, nem pedig elektronikai szakember, csak 'szórakozni' szeretnék a SmartGLCD-vel (ezért is esett erre a boardra a választásom), úgyhogy előre is bocs a nagyon kezdő, alap kérdések miatt
Azért nem csinál semmit , mert valószínű nem hozzá való verziójú programot tettél fel rá.
Egy példaprogram van csak, kimondottan ehhez a verziójú boardhoz, szóval ezt biztos nem rontottam el
Hi!
Remélem, tudok segíteni /nem késtem el vele/! Bővebben: Link Röviden: vannak PICek, amiknél a kimenő portbitek simán PORTx névre, vannak, ahol LATx névre hallgatnak. Az 1.50-es board def 18F8722, az 1.51 18F87K22 motorú... Átkoztam a MikroE-t nem keveset, hogy a definíciókat b@sznak rendesen supportálni. Ha informanus vagy, rájössz, hová kell tenni a csatolt lomokat /segítség: az xml egy Board Def a glcd könyvtárába, a másik a fordítóé USES/P18./ Ezután már elindul majd az LCD, de a háttérvilágosság az nem Végigszopkodtam ezt a dolgot. A két fájl nélkül csak a hátteret tudtam megszólaltatni. A fájlokban viszont nincs benne a 3 háttérvonal definíciója. Azt is elküldöm, én hogyan oldottam meg. De egy informanus biztosan jobban megoldja. Nem tudom az XML hová kapcsolódik, mit kell esetleg csinálni még, így az LCD controller részhez kerültek a definícióim. Az én bajom most az, hogy 'alig' pár zojjektumot bírok csak használni, ha SD kártyát is akarok. Na, meg a loader beállításai... ha kézzel átírom, akkor is visszaáll 115,2 kBaudra, a hajam elhullik, mikor töltöm a projektet. Nem t'om, beforgatták a kódba a visszaírást, avagy regbe koszol... Sok sikert! Péter
+++érdekességek:
valahogy implementálni kellene a RAM-os dolgot...Bővebben: Link
Sziasztok!
Hol tudom beállítani az MPLAB8-ban hogy a bootloadert hova tegye? Az MCHPUB projektet próbálgatom, de a bootloader kódot a memóriában a kód section-ba rakta be, nem a boot section-ba. A HID bootloader jó helyre pakolja be, de nem találom hol lehet beállítani.
Közben rájöttem a megoldásra.
Más, meg lehet oldani valahogy hogy egy parancsal bootloader módba rakom az egységet? Tehát most HID eszközként működik a PIC, 3 ledet lehet vele kapcsolgatni. Definiálnék egy parancsot, amit ha megkap a PIC akkor újra indulna bootloader módba. Első körben arra gondolok, hogy eepromba lementek egy jelző bitet, és resetkor ezt figyelném. Ez járható út? Viszont amíg nincs rajta az user program, addig nincs mi bootloader módba tegye az eszközt, tehát nem tudok rátölteni se... Esetleg második lehetőségnek még mindíg ott a gomb... Egyébb ötlet?
Nálam úgy van hogy 10mp bootliader után indul a program. Meghivasa meg egy végtelen ciklus a főprogramban es watchdog. Ha nincs főprogram akkor is watchdog resetelget örökre. Persze ezt a bootloaderbe kell beleírni.
A hozzászólás módosítva: Ápr 15, 2016
Üdv Uraim. Adott egy eszköz. Frissíteni szeretném, mivel a PIC-ről le lett vakarva az érték. Van rajta boiotloader. Hogy tudom rátölteni a legegyszerűbben a hex-et?
Jó kérdés, opcom klón,csak sajnos zárolva lett, és nem engedi vissza a gyári programot. Elméletileg PIC18FG458 van benne, de a pickit nem érzékeli.
Sziasztok!
Próbálok pic18f46k22 höz találni bootloadert. Sajnos nem nagyon értek a programozáshoz. Tudna valaki segíteni? Elég nagy bajban vagyok. Családi okok miatt még az agyam sem fog. De az élet megy tovább. Természetesen nem kérném ingyen. |
Bejelentkezés
Hirdetés |