Co potřebujeme: MPLAB verse 7 nebo tak nějak - stáhnout z www.microchip.com když si to nainstalujete, musí se tomu říct, s čím vlastě chcete pracovat. Talve věc má dvě součásti: assembler a likner. Assembler udělá ze zdrojového kódu tzv. objetc code, což je takový pefabrikát. S tím dále pracuje Linker který k tomu může přidat knihovny, různě manipulovat s adresami atd. atd. U MPLAB se musí nastavit "Tool Suite", což je soprava nástrojů pro práci Nastavíme Microchip ASM30 Tool Suite ta se skládá z assembleru pic30-as.exe a linkeru pic30-ld.exe Najdete to v C:\Program Files\Microchip\MPLAB ASM30 Suite\bin\ pokud jste MPLAB nainstalovali do defaultních adresářů Musíte tam zadat cestu k linkeru a k assembleru Samozřejmě, někde se také zadá součástka - 30F2010 Pro práci potřebujeme tři file: 1. include file p30f2010.inc Ten obsahuje definice všech možných proměnných a symbolů, je v C:\Program Files\Microchip\MPLAB ASM30 Suite\supprot\inc Samozřejmě ho můžete nechat na místě, ale je asi rozumnější si ho překopírovat do nějakého adresáře 2. include file p30fxxxx.inc Ten obsahuje jenom jakési přepínátko, asi by to šlo i bez něj, když potom v hlavním programu includ-neme p30f2010.inc rovnou 3. Linker file p30f2010.gld Ten je v C:\Program Files\Microchip\MPLAB ASM30 Suite\supprot\inc opět doporučuji zkopírovat do nějakého adresáře. podle tohoto file pracuje linker při používíní přerušení budeme muset některé jeho části upravit. Až si zapnete MPLAB, musíte udělat Project. To je věc,která drží pohromadě zdrojové file, include file, linker script, nastavení prostředí atd. atd. atd. zadáte název a potom adresář, ve kterém ten projekt má být. Nejrozumnější je do něj dát všechny potřebné file. Dále musíte udělat zdroják. Má extensi .s !!!!!! Nejrozumnější je podívat se na příklady. V okénku Project (Source files Header Files Object files Linker scripts ...) je potom zapotřebí udělat "add file to project" a to: zdroják do Source Files include file do Heder Files linker script do Linker scripts -cvakne se na to pavým tlačítkem a "addne" se to. Program se přeloží v Project - Build all. To vyrobí úplně všechny potřebné file včetně .hex Pokud chceme simulovat (a to chceme) dáme debugger- select tools - MPLAB SIM Potom si otevřeme okénka, která chceme vidět - View File registers (to je paměť RAM, je funkční až od 0800 ) Special Function Registers Watch - sem si můžete nacvakat, co chcete vidět No a spustí se to Debugger - Step Into (F7) Mačkáním tlačítka se posunujeme dál a dál k dalším instrukcím Breakpoint zadáme v okénku se zdrojovým textem, cvakneme na řádek s instrukcí pravým tlačítkem myši Pokud chcete "všechno znovu", je v Debugger Reset - zde nejlépe Procesor reset. Můžete udělat i Clear Memory ale pozor, pokud si "clearnete" program Memory, musíte to celé přeložit znovu. Ono vás to prostě bere vážně. Tlačítka jako Run - Halt - Animate snad už nemusím připomínat. pokud najdete nějakou chybu opravíte a přeložíte, bude si debbuger pamatovat poslední pozici a odtud bude pokračovat. pokud to chcete od začátku, je nutno dát Reset procesoru No a zbytek snad nějak odhadnete, jste přeci chytří ! V tomto adresáři je několik příkladů v podadresářích. V podadresářích je vždy příslušný projekt se zdrojovými file, Include file a Linker script file. Pokud přesunete adresář někam jinam, musíte samozřejmě nastavit i source, include a linker file v příslušném projektu ! V každém adresáři ...\...\xxxxx je pávě jeden projekt Pokud pouzivate nejake preruseni, pak JE NUTNO linker script file upravit. A protoze assembler hleda include file v aktualnim adresari, je rozumne si include dat take do aktualnich adresaru projektu Když budete přecházet mezi jednotlivými projekty, má MPLAB jednu nepříjemnou vlastnost. pamatuje si Linker File z naposledy použitého projektu, takže je to zapotřebí vždy znovu "addnout" do toho aktivního projektu. Možná se to dá někde vypnout, nevím. ..\prvni základní nastavení programu, kopírování bloku dat z ProgramEEprom do RAM poznámky o tom, jak se píše program, direktivy assembleru, některé základní finty. Vše uděláno jako poznámky ve file mov_stringu.s Procesor není NIJAK NASTAVEN z hlediska hardware - to až v ...\druhy a dalších file Úmyslně je udělán zápis na špatnou adresu (word na lichou) a procesor pak generuje přerušení Pustit v simulátoru, je to jen pro demonstraci ..\cyklbuf adresování pomocí cyklického bufferu. Čteme z EEPROM programu řetězec, a "do kolečka" to zapisujeme do RAM. Též jen pro cvičné účely, hardware není nastaven. Pustit v simulátoru ! Tohle celé je na procvičení Program Space Visibility ...\dioda_blika blikani diodou na portu RB jedno kde - blikají všechny bity. Tohle už doopravdy funguje, dá se to nacpat do dsPICa. Pokud byste to chteli zkouset, potrebujete nejnovejsi versi UP k Prestu (ještě není v distribuci) Zde je nastaven čítač 1, používá se přerušení, v linker script je nastaveno příslušné návěští ....\UART tohle dokolečka vysílá řetězec na sériový port. Po 2 sec se zapne vysílání dalšího řetězce. Čas 2 sec se dělá čítačem 1, UART je nastaven na 2400 Bd. Konec řetězce je označen 0 , konec úplně všeno dvěma 0 Fakt to funguje ! Při simulaci si dejte Debbugger - Settings - UART1 IO a zde zaškrtněte Enable Uart Output - Window V okénku Output pak přibude záložka SIM Uart1, a zde vidíte, co vám to vysílá ***************************** K tomu, abyste rozuměli programům, je třeba alespoň trochu prolistovat file dspic30F2010.pdf ke stažení na www.microchip.com nebo na Ozeášovi. Oni to pořád nějak vylepšují, máte tam dvě verse. Ale budete to tahat šíleně dlouho, radši to stáhněte z Microchip Dále tam je adresář Podrobne ve kterém jsou podrobně rozepsány jednotlivé moduly dsPICa. Až si trochu počtete v tom základním file, bude vám to jasnějčí. Jo, a příručku dspic30F2010.pdf si už pomalu tiskněte, budeme to potřebovat. Tak přeji krásné programování !