Obsah nápovědy

  • Než začnete
  • Podporované programátory
  • Menu programu UP
  • Tipy a triky
  • Použití ICSP
  • FAQ - často kladené otázky


Než začnete

  • Co je to UP
  • Hardwarové a softwarové požadavky
  • Instalace softwaru

Obsah nápovědy


Program UP

Program UP je jednotný ovládací software společný pro všechny programátory firmy ASIX s.r.o. Je určen k programování mikrokontrolérů a některých nejčastěji používaných sériových pamětí. Pracuje v operačních systémech Windows 95/98/ME, Windows NT/2000/XP.


Požadavky na systém

Programátory s paralelním portem

  • PC kompatibilní počítač, doporučen procesor alespoň Pentium 100 MHz
  • Operační systém Windows 95/98/98 SE/ME/NT/2000/XP
  • Volný paralelní port pro připojení požadovaného programátoru

Programátory s rozhraním USB

  • PC kompatibilní počítač, doporučen procesor alespoň Pentium 233 MHz
  • Operační systém Windows 98 SE/ME/NT/2000/XP
  • Volný USB port pro připojení požadovaného programátoru


Instalace programu

Upozornění: Pokud jste uživateli systému Windows NT/2000/XP, přečtěte si, prosím, pozorně celou tuto kapitolu. Předejdete tím možným problémům při pozdějším používání programu.

Instalační balík je ke stažení na stránkách ASIX. Při instalaci lze zvolit vytvoření ikony na pracovní ploše Vašeho počítače a dále přiřazení souborů s příponami přípony .HEX (Intel HEX File Format) a .PPR (Projektorý soubor) aplikaci UP. Přiřazení souborů je užitečné, pokud si přejete otevírat soubor kliknutím přímo v Průzkumníku nebo jiném souborovém manažeru. V místní nabídce souboru (kliknutí pravým tlačítkem myši na soubor) je pak také možné naprogramovat součástku bez nutnosti spouštět aplikaci UP.

Pro více informací o ovládání programu UP z příkazové řádky viz používání programu z příkazové řádky.
Pro popis formátu souborů používaných programem viz popis Intel HEX File Format.

Informace pro uživatele operačních systémů Windows NT/2000/XP:

  • Program používá ke své činnosti driver asixio.sys, který musí být nejprve nainstalován. Driver se automaticky nainstaluje při prvním spuštění programu UP. Proto je třeba, aby program měl při prvním spuštění práva administrátora.
  • Program používá pro ukládání nastavení soubor s příponou .INI umístěný společně se spustitelným souborem. Tento soubor musí mít nastavena přístupová práva pro zápis.

Programátory s rozhraním USB

USB zařízení musí mít nejprve nainstalovány drivery, než mohou být použity. Instalace driverů pro USB programátory se provádí zvlášť od instalace programu UP a dokud nejsou USB drivery řádně nainstalovány nelze ovládací software použít.


Podporované programátory

Programátory podporované aplikací UP

  • PRESTO
  • PICQUICK
  • PICCOLO
  • PICCOLO Grande
  • CAPR-PI
  • PVK Pro-P

Obsah nápovědy


PRESTO

  • Popis programátoru
  • Podporované typy součástek
  • Popis připojení podporovanýách součástek
  • Popis pinů programátoru
  • Doporučené pracovní napětí programátoru

Popis programátoru

presto PRESTO je velmi rychlý, spolehlivý, cenově dostupný programátor s širokými možnostmi použití pro všechny typy mikrokontrolérů PIC® s pamětí flash a velké množství ostatních nejpoužívanějších mikrokontrolérů PIC® firmy Microchip, dále vetšinu nejpoužívanějších mikrokontrolérů AVR® firmy Atmel, sériových pamětí s rozhraním I2C, MicroWire a SPI, všech obvodů používajících rozhraní JTAG popsané souborem ve formátu SVF (např. obvody CPLD firmy Xilinx nebo mikrokontroléry AVR rodiny ATmega) a procesorů eCOG1 firmy Cyan Technology.

Už žádné problémy s připojením

S programátorem PRESTO už nikdy nebudete řešit problém jak připojit programátor k Vašemu PC! Sériové a paralelní porty byly postupně vytlačeny flexibilnějším rozhraním USB a nyní máte příležitost poznat výhody USB i s našimi programátory. Programátor PRESTO nepotřebuje díky USB žádné externí napájení. Navíc je programátor PRESTO díky originální konstrukci i mimořádně rychlý.

PRESTO používá, přes výraznou různorodost všech podporovaných rodin součástek, pro všechny jediný konektor pinově kompatibilní se všemi našimi předchozími programátory. Na nových pinech programovacího konektoru programátoru naleznete i pin LVP, který Vám umožnuje naprogramovat nové procesory PIC® i bez potíží spojených s napájením procesoru 13V.

Odpadá nutnost zdlouhavé a nebezpečné manipulace s mikrokontrolérem při ladění programu! PRESTO jednoduše propojíte s aplikací. U programátoru PRESTO máte navíc jistotu, že připojený programátor nebude nijak ovlivňovat běh aplikace - pokud si ovšem budete přát, PRESTO může mikrokontrolér např. resetovat.
PRESTO minimalizuje riziko poškození připojené aplikace, mikrokontroléru nebo programátoru při nesprávném zapojení díky vestavěným nadproudovým a přepěťovým ochranám.

Žádný programátor nebyl nikdy vhodnější pro sériovou výrobu i vývoj. Tlačítko na programátoru umožnuje pracovat, aniž by bylo potřeba pracovat s ovládacím programem. Komfortní ovládací program za Vás udělá všechny potřebné operace pro nové programování: přečte opravený datový soubor nebo upraví sériové číslo přesně podle Vašich požadavků.

Podporované typy součástek

  • všechny typy v současné době používaných mikroprocesorů PIC® podporující rozhraní ICSP® s pamětí flash a většinu ostatních typů
  • nejpoužívanější procesory AVR® podporující interface Low Voltage Serial Downloading.
  • mikrokontroléry MSP430 a CCxxxx od Texas Instruments s Flash pamětí
  • většina mikrokontrolérů Cypress PSoC CY8C2xxxx
  • sériové EEPROM paměti 24Cxx
  • sériové EEPROM paměti 25Cxx
  • sériové EEPROM paměti 93Cxx
  • procesory eCOG1
  • Součástky s rozhraním JTAG, které jsou programovatelné pomocí SVF nebo XSVF souboru
    • CPLD - Xilinx (XC95xx, CoolRunner, ...), Altera a další
    • FPGA configurační paměti Flash PROMs - Xilinx (XC18Vxx, XCFxxS)
    • Atmel ATmega


PRESTO

Popis připojení podporovaných součástek

Procesory PIC

Číslo pinu | Jméno signálu | Programovací konektor
1 | -MCLR | VPP/-MCLR1)
2 |  | nepoužito (klíč zabranující chybnému připojení konektoru)
3 | VCC | VCC
4 | GND | GND
5 | RB7 | DATA
6 | RB6 | CLOCK
7 |  | nepoužito
8 | RB3/RB4/RB5 | LVP1)

typapp
typapp
typapp
typapp
typapp
typapp

Poznámky:
  • 1) Pro programování procesorů PIC je třeba použít buď LVP nebo HVP programovací algoritmus. Pro HVP je třeba připojit pin Vpp a pin LVP uzemnit (lze připojit na LVP pin programátoru). Některé typy procesorů LVP algoritmus nepodporují, pak pin LVP není třeba připojovat. Pro LVP algoritmus je třeba připojit Vpp i LVP (na Vpp je po dobu programování log.0 a log.1 (není statické)).

Procesory AVR

Číslo pinu | Jméno signálu | Programovací konektor
1 | -RESET | VPP1)
2 |  | nepoužito (klíč zabranující chybnému připojení konektoru)
3 | VCC | VCC
4 | GND | GND
5 | MOSI | MOSI
6 | SCK | CLOCK
7 | MISO | MISO
8 |  | nepoužito

typapp

Poznámky:
  • 1) Během programovaní procesorů AVR je nutné držet procesor v resetovaném stavu: během programovaní PRESTO na pinu VPP aplikuje log.0, reset procesoru lze však provést i v aplikaci.

Paměti I2C

Číslo pinu | Jméno signálu | Programovací konektor
1 |  | nepoužito
2 |  | nepoužito (klíč zabranující chybnému připojení konektoru)
3 | VCC | VCC
4 | GND | GND
5 | SDA | DATA1)
6 | SCK | CLOCK
7 |  | nepoužito
8 |  | nepoužito

Poznámky:
  • 1) Programátor během práce na I2C sběrnici povoluje na pinu DATA pullup o velikosti cca 2,2kΩ.

Paměti SPI

Číslo pinu | Jméno signálu | Programovací konektor
1 | #CS | VPP
2 |  | nepoužito (klíč zabranující chybnému připojení konektoru)
3 | VCC | VCC
4 | GND | GND
5 | DI | DATA
6 | CLK | CLOCK
7 | DO | MISO
8 |  | nepoužito

Paměti Microwire

Číslo pinu | Jméno signálu | Programovací konektor
1 | CS | VPP
2 |  | nepoužito (klíč zabranující chybnému připojení konektoru)
3 | VCC | VCC
4 | GND | GND
5 | DI | DATA
6 | CLK | CLOCK
7 | DO | MISO
8 | ORG | LVP1)

Poznámky:
  • 1) Tento pin vybírá organizaci paměti po 8-mi bitových nebo 16-ti bitových slovech. Uživatel si v programu UP zvolí jakou organizaci chce použít a na pinu LVP pak PRESTO dává k dispozici odpovídající logickou hodnotu. Pokud je paměť připojena v aplikaci napevno nebo u ni nelze organizaci vybrat, pin LVP zůstane nepřipojen.

Cyan Technology eCOG1

Číslo pinu | Jméno signálu | Programovací konektor
1 | CS | VPP1)
2 |  | nepoužito (klíč zabranující chybnému připojení konektoru)
3 | VCC | VCC2)
4 | GND | GND
5 | MOSI | MOSI
6 | CLK | CLOCK
7 | MISO | MISO
8 | LOADB | LVP

typapp

Poznámky:
  • 1) Signál CS je nutné používat pouze při přístupu k více procesorům pomocí jediného konektoru. Při klasickém zapojení jediného procesoru může mít signál logickou hodnotu 1 a to i při odpojení programátoru / debuggeru, signál CS se pak nemusí připojovat.
  • 2) VCC musí být 3.3V, napájení musí být vždy z aplikace.
  • 3) Pro programování procesorů eCOG je k dispozici program PreCOG volně ke stažení na stránkách www.asix.cz nebo na dodaném instalačním CD-ROM.

JTAG

Číslo pinu | Jméno signálu | Programovací konektor
1 | volitelný | VPP1)
2 |  | nepoužito (klíč zabranující chybnému připojení konektoru)
3 | VCC | VCC2)
4 | GND | GND
5 | TDI | MOSI
6 | TCK | CLOCK
7 | TDO | MISO
8 | TMS | LVP

Poznámky:
  • 1) Na signálu VPP může být vybrána funkce SCK nebo TRST popsaná v souboru formátu SVF nebo volitelná funkce uživatelem (log.1, log.0, tristate, různé během programování a po dokončení programování)
  • 2) Napájení při programování pomocí JTAG je vždy z aplikace vzhledem k velmi častému použití jiné než 5V logiky.
  • 3) Lze programovat a testovat součástky, již vývojový software poskytuje data ve formátu SVF nebo XSVF. Formát XSVF je doporučován pouze pro CPLD Xilinx rodiny XC9500, zatímco SVF je doporučován pro všechny ostatní. Ovládací software pro PRESTO při použití JTAG je k stažení na stránkách www.asix.cz nebo na dodaném instalačním CD-ROM.

Popis pinů programátoru

Číslo pinu | Potisk na programátoru | Popis funkcí
1 | VPP (13V) | obousměrný datový pin, umožňuje připojit 13V maximální zatížení 13V zdroje 50mA, softwarová nadproudová ochrana při cca 100mA 3)
2 | nepoužito (klíč zabraňující chybnému připojení konektoru) |
3 | VDD | napájení výstupních bufferů PRESTO napájení musí být v rozmezí 2.7V - 5.5V pro zachování správné činnosti PRESTO softwarová přepěťová detekce při cca 7.5V1) volitelný výstup 5V z USB, maximální zatížení 100mA, softwarová nadproudová ochrana při cca 150mA3), při podmínce dodržení 5V±5%2) smí odebírat proud pouze programovaná součástka obsahuje vždy alespoň 1kΩ pulldown k zemi, kterým lze rychleji vybít kapacity v aplikaci4)
4 | GND | společná datová a napájecí zem
5 | DATA/MOSI | obousměrný datový pin, obsahuje programovatelný pulldown cca 100kΩ nebo pullup cca 2.2kΩ
6 | CLOCK | třístavový výstupní datový pin
7 | MISO | vstupní datový pin, obsahuje pulldown cca 100kΩ
8 | LVP | obousměrný datový pin

Poznámky:
  • 1) Software může pouze upozornit na přepětí, nelze však odpojit napájení od programátoru.
  • 2) Pro dodržení přesnosti napájení 5V±5% musí být programátor připojen přímo do počítače nebo do HUBu s externím napájecím zdrojem.
  • 3) Programátor po předem stanovené době od připojení zdroje napětí provede kontrolu stavu nadproudové detekce a připadně odpojí zdroj napětí. Pokud software nedá programátoru podnět k odpojení zdroje napětí, programátor sám na stav přepětí nereaguje. To otevírá uživateli možnost připojit i značně velké kapacity na napájení v aplikaci - stav nadproudu se zkontroluje až po jejich nabití.
  • 4) Ovládací software obsahuje dva parametry související s velikostí kapacit na napájení v připojené aplikaci: "Delší čas pro připojení napětí při ICSP: zapnutí a vybití". Potřebnou dobu k zapnutí lze přibližně odvodit z maximálního nabíjecího proudu 100mA, potřebnou dobu k vybití z velikosti obsaženého vybíjecího rezistoru v programátoru o velikosti 1kΩ.

Doporučené pracovní napětí programátoru

VDD z aplikace | 2.7V - 5.5V
I/O piny kromě MISO | 0V - VDD, s výjimkou případu VPP=13V
MISO | 0V - 5.5V včetně případu odpojeného PRESTO od aplikace


PICQUICK

  • Popis programátoru
  • Podporované typy součástek

Popis programátoru

picquick PICQUICK je velmi rychlý, levný a spolehlivý vývojový programátor firmy ASIX pro mikrokontroléry PIC® a sériové paměti EEPROM (Microchip). Jednou z největších výhod programátoru PICQUICK je podpora všech řad a typů mikrokontrolérů PIC.

Zvolte si součástku, která nejlépe odpovídá Vaší aplikaci a můžete si být jisti, že PICQUICK ji bude podporovat. Navíc je implementována podpora EEPROM pamětí Microchip (s rozhraním I2C a MicroWire). Tyto paměti jsou často používány k rozšíření paměti systému s mikrokontrolérem. PICQUICK by navržen jako velmi flexibilní zařízení tak, aby bylo možné přidat podporu nových součástek. Od jeho uvedení na trh byly prakticky všechny nové součástky přidávány pouze pomocí upgrade softwaru.

Nejsou tedy zapotřebí upgrade firmware ani žádné nákladné zásahy do hardware, což uživateli přináší další cenové výhody ve srovnání s jinými programátory. Upgrade software je pro všechny uživatele k dispozici zdarma. Obsahuje podporu nových součástek, nové funkce a případné změny programovacích algoritmů, pokud jsou firmou Microchip vyžadovány.

PICQUICK přímo podporuje In-Circuit Serial Programming (ICSP) pomocí vyhrazeného konektoru a kabelu, který je v ceně jako standardní součást dodávky. Proudové omezení pro napájecí a programovací napětí minimalizuje riziko poškození programované součástky při chybě obsluhy.

Podporované typy součástek

  • všechny typy v současné době používaných procesorů PIC®
  • sériové paměti 93Cxx a 24Cxx


PICCOLO

  • Popis programátoru
  • Podporované typy součástek

Popis programátoru

piccolo PICCOLO je velmi levný vývojový programátor mikrokontrolérů Microchip PIC® s pamětí Flash v pouzdře s 18 vývody. Větší součástky (s 28 a 40 piny) lze programovat pomocí

konektoru a kabelu ICSP (programování součástek osazených na desce plošných spojů). PICCOLO je ideální programátor zvláště pro začátečníky, studenty a amatéry. Je určen pro všechny, kteří se nehodlají zdržovat konstrukcí programátoru ať už podle vlastního návrhu, nebo převzatého z některé z publikací, ale chtějí se rovnou věnovat užitečné činnosti, a mít přitom jistotu, že při nákladech srovnatelných s materiálem budou mít programátor stoprocentně vyhovující programovacím specifikacím firmy Microchip (kategorie Development) s komfortním obslužným programem.

Podporované typy součástek

  • všechny používané procesory PIC® s pamětí Flash, přímo v programátoru pouze typy v pouzdře s 18ti vývody


PICCOLO Grande

  • Popis programátoru
  • Podporované typy součástek

Popis programátoru

piccolo grande PICCOLO GRANDE je velmi levný vývojový programátor mikrokontrolérů Microchip PIC® s pamětí Flash v pouzdrech s 18, 28 a 40 vývody. Programovat lze jak neosazené součástky (patice nejsou typu ZIF), tak i zapájené na plošném spoji (ICSP - In-Circuit Serial Programming).

PICCOLO GRANDE je ideální programátor zvláště pro začátečníky, studenty a amatéry. Je určen pro všechny, kteří se nehodlají zdržovat konstrukcí programátoru ať už podle vlastního návrhu, nebo převzatého z některé z publikací, ale chtějí se rovnou věnovat užitečné činnosti, a mít přitom jistotu, že při srovnatelných materiálových nákladech budou mít programátor stoprocentně vyhovující programovacím specifikacím firmy Microchip (kategorie Development) a s komfortním obslužným programem.

Podporované typy součástek

  • všechny používané procesory PIC® s pamětí Flash, přímo v programátoru pouze typy v pouzdře s 18, 28 a 40 vývody


CAPR-PI

  • Popis programátoru
  • Podporované typy součástek

Popis programátoru

Podporované typy součástek

  • Všechny používané procesory PIC® s pamětí Flash, které nemohou mít na pinu MCLR/Vpp výstupní I/O funkci.
    Omezení se týká procesorů např. PIC16F627/628.


PVK Pro

  • Popis programátoru
  • Podporované typy součástek

Popis programátoru

pvk pro PVKPro je vývojový a výukový kit s programátorem pro PIC16F84A na jedné desce. Je určen pro studijní a výukové účely a pro úvodní seznámení s problematikou PIC - práce v reálném čase, I/O, multiplex displeje, snímání tlačítek apod.

Deska obsahuje vše, co je potřeba pro typické aplikace mikrokontroléru:

  • obvody napájení
  • oscilátor
  • resetovací obvod
  • čtyřmístný sedmisegmentový displej LED
  • 8 LED diod
  • 8 tlačítek

Všechny uživatelské piny je možno pomocí DIP přepínačů propojit s periferiemi na desce nebo externě - signály procesoru jsou vyvedeny na konektor. Deska se připojuje k počítači prostřednictvím paralelního portu.

Podporované typy součástek

  • PIC16F83 / 84 / 84A
  • s omezením PIC16F627 / 628
    Programátor PVK-Pro nemůže vyhovovat programovacím specifikacím procesorů, u kteréch může pin MCLR pracovat jako I/O.

Procesory PIC16F627/628 nesmí být programovány nebo testovány v programátoru PVK Pro, pokud mají pin MCLR nastaven jako I/O. Mohlo by dojít ke zničení programované součástky nebo i hardwaru programátoru.

Nastavit pin -MCLR jako I/O je pro použití v této desce bezúčelné, proto nemožnost programovat takto nastavené procesory není příliš omezující.


Přehled menu programu

Přehled menu

Menu je součástí téměř každého programu pro Windows. Promocí menu lze vybírat funkce, které program nabízí. Akce menu mohou být vyvolány kliknutím myší na příslušnou položku menu nebo pomocí klávesnice stisknutím klávesy <ALT> společně s klávesovou zkratkou zvýrazněnou v menu.

Menu je rozděleno do následujících kategorií:

  • Soubor
  • Úpravy
  • Zobrazit
  • Součástka
  • Nastavení
  • Nápověda

Obsah nápovědy


Menu Soubor

Menu Soubor obsahuje následující položky:

  • Nový
  • Otevřít...
  • Otevřít další soubor
  • Načíst soubor znovu
  • Uložit
  • Uložit jako...
  • Import datové paměti...
  • Export datové paměti...
  • Otevřít soubor s datovou pamětí automaticky
  • Nový projekt
  • Otevřít projekt...
  • Uložit projekt...
  • Zavřít projekt...
  • Poslední projekty
  • Načtení kalibrační informace...
  • Uložení kalibrační informace...
  • Export do bin...
  • Ukončení programu

Soubor -> Nový

Klávesová zkratka: Ctrl+N

Založí nový prázdný soubor. Pokud právě používaný soubor nebyl uložen, program nejprve nabídne jeho uložení.

Soubor -> Otevřít...

Klávesová zkratka: Ctrl+O

Pomocí standardního dialogového okna Windows otevře existující soubor na disku. Podporované soubory viz popis formátu Intel HEX souborů. Soubory s příponou HEX a A43 jsou načítány jako HEX, ostatní jako BIN.

Soubor -> Otevřít další soubor

Importuje další HEX nebo BIN soubor s volitelným offsetem. Tato funkce je užitečná, pokud uživatel potřebuje načíst do paměti součástky další soubor. Soubory s příponou HEX a A43 jsou načítány jako HEX, ostatní jako BIN.

Soubor -> Import datové paměti...

Pomocí standardního dialogového okna Windows umožní přečíst obsah datové EEPROM paměti z jiného souboru. Tento soubor, bez ohledu na jeho obsah, je čtený od adresy nula, jako kdyby obsahoval pouze datovou EEPROM paměť. Soubor normálně vygenerovaný překladačem tedy takto nelze korektně načíst.
Tuto funkci program obsahuje pouze z důvodů kompatibility se starším software, který ukládal obsah datové EEPROM paměti do vedlejšího souboru. Z dnešního pohledu je tato funkce zbytečná, protože obsah všech pamětí se má (dle doporučení firmy Microchip) ukládat pouze do jediného souboru.

Soubor -> Načíst soubor znovu...

Klávesová zkratka: Ctrl+R

Opětovně načte právě otevřený soubor z disku. Funkci je vhodné použít, pokud víte, že soubor na disku byl změněn a chcete tyto změny načíst do programu.

Pokud používáte nastavení "Kontrolovat změny v hex souboru" (viz nastavení programu), program na změnu otevřeného souboru upozorní sám a nabídne jeho znovunačtení.

Soubor -> Uložit

Klávesová zkratka: Ctrl+S

Uloží soubor na disk. Pokud chcete uložit soubor pod jiným názvem, než pod jakým byl otevřen, použijte funkci Uložit soubor jako.... Program může při ukládání přeskakovat nevyužité oblasti paměti a také může některé zvolené oblasti neukládat, viz nastavení programu.

Soubor -> Uložit jako...

Pomocí standardního dialogového okna Windows uloží otevřený soubor na disk pod novým jménem. Program může při ukládání přeskakovat nevyužité oblasti paměti, a také může některé zvolené oblasti neukládat, viz nastavení programu.

Soubor -> Export datové paměti...

Umožňuje exportovat obsah datové paměti do samostatného hex souboru. U procesorů firmy Atmel je to jediná možnost jak lze uložit datovou pameť do souboru. U ostatních procesorů lze vyexportovat obsah datové paměti současně s pamětí kódu použitím volby Soubor/Uložit.

Soubor -> Otevřít soubor s datovou pamětí automaticky

Pokud je zvolena tato volba, program UP současně s načítáním HEX souboru pro paměť programu automaticky načte HEX soubor pro datovou paměť. Tato volba je aktivní pouze pokud je načtený samostatný soubor pro datovou paměť.

Soubor -> Nový projekt

Klávesová zkratka: Shift+Ctrl+N

Funkce vytvoří nový projekt.
Používání projektových souborů je vhodné zejména pokud často střídáte programování několika typů součástek, nebo používáte několik různých programátorů. Projektový soubor obsahuje všechna tato nastavení a umožňuje tak jejich hromadné načtení.

Soubor -> Otevřít projekt

Klávesová zkratka: Shift+Ctrl+O

Pomocí standardního dialogového okna Windows otevře již existující projekt z disku. Pokud s projektem byl otevřený některý další soubor, je tento načten také.

Soubor -> Uložit projekt

Klávesová zkratka: Shift+Ctrl+S

Uloží projekt pomocí standardního dialogového okna Windows pod novým názvem. Ukládání samotného projektu pod stejným názvem se provádí automaticky, stejně jako např. ukládání nastavení programu.

Soubor -> Zavřít projekt

Klávesová zkratka: Shift+Ctrl+W

Ukončí práci s aktuálně otevřeným projektem, uloží projektový soubor na disk a program se vrátí do stavu, ve kterém byl před vytvořením nového projektu.

Soubor -> Poslední projekty

Pod touto položkou je zapamatováno posledních 5 otevřených projektů, kliknutím na jméno projektu se projekt načte.

Soubor -> Načtení kalibrační informace...

Pomocí standardního dialogového okna Windows otevře soubor s kalibrační informací a načte tuto informaci do paměti.

Soubor -> Uložení kalibrační informace...

Pomocí standardního dialogového okna Windows program vytvoří soubor s kalibrační informací součástky, kterou přečte ze součástky vložené v programátoru. Tuto kalibrační informaci lze po smazání součásky znovu nahrát pomocí příkazu načtení kalibrační informace.

Pro více informací o podpoře programu UP pro práci s kalibrační pamětí viz samostatná kapitola o kalibrační paměti.

Soubor -> Export do bin...

Pomocí této funkce lze do vybraného souboru zapsat holá binární data z paměti programu nebo datové EEPROM paměti. Pro zapisovaná data lze zvolit zarovnávání po 16 nebo 8 bitech na slovo.

Soubor -> Ukončení programu

Standardní klávesová zkratka Windows: Alt+F4
Klávesová zkratka: Alt+X

Tímto příkazem se program ukončí.

Upozornění: Pokud byl otevřený sobor změněn, program se při ukončení dotáže, zda má změny uložit. Pokud je ukončení programu vynuceno příkazem vypnout počítač a program nedostane potvrzení od uživatele, systém jej po určité době násilně ukončí bez možnosti uložit otevřený soubor nebo nastavení.
Pokud program právě pracuje s hardware, odmítá všechny systémové požadavky na vypnutí a může být systémem označen jako program, který neodpovídá.


Menu Úpravy

Menu Úpravy obsahuje následující položky:

  • Vyplnění hodnotou...
  • Vložení textu...
  • Vybranou oblast doplnit instrukcí RETLW

Úpravy -> Vyplnění hodnotou...

Vyplní oblast paměti zadanou hodnotou. Funkce se používá zejména pro vymazání (samé jedničky) či vynulování (samé nuly) dané oblasti, lze však vyplňovat libovolnou zadanou hodnotou nebo náhodnými čísly.

Při zvolení funkce Vyplnit hodnotou, program přednastaví vybranou paměť podle aktivního okna.

Pokud byla před zvolením funkce Vyplnit hodnotou označena nějaká oblast paměti, program tuto oblast přednastaví pro vyplnění. Pro označení oblasti viz hexeditory.

Úpravy -> Vložení textu...

Umožňuje vložit na zvolené místo paměti text kódovaný v kódu ASCII. Konce řádků lze kódovat jako znaky NULL, CR, LF nebo CR+LF.
Lze vyplňovat jednotlivé byte, nebo ukládat do instrukcí RETLW (týká se jen paměti programu).

Při zvolení funkce Vyplnit hodnotou, program přednastaví vybranou paměť a počáteční buňku podle aktuálního okna a vybrané buňky.

Úpravy -> Vybranou oblast doplnit instrukcí RETLW

Vybranou oblast paměti doplní na instrukci RETLW.
Funkci lze použít pouze z otevřeného hexeditoru, funkce je též dostupná v místní nabídce (pravé tlačítko myši) editoru.

Oblast paměti je možné označit přidržením klávesy Shift spolu s kliknutím myši nebo posunem pomocí kurzorových kláves. Více viz hexeditory.


Menu Zobrazit

Menu Zobrazit obsahuje následující položky:

  • Paměť programu
  • Paměť EEPROM
  • Konfigurační paměť
  • Zobrazení paměti programu
  • Zobrazení paměti EEPROM
  • Zobrazení konfigurační paměti

Zobrazit -> Paměť programu

Zobrazí nebo skryje okno hexeditoru paměti programu. Více o hexeditorech viz samostatná kapitola.

Zobrazit -> Paměť EEPROM

Zobrazí nebo skryje okno hexeditoru datové EEPROM paměti. Více o hexeditorech viz samostatná kapitola.

Zobrazit -> Konfigurační paměť

Zobrazit nebo skryje okno konfigurační paměti. Více o hexeditorech viz samostatná kapitola.

Zobrazit -> Zobrazení paměti programu

Klávesová zkratka: F10

Zobrazí hexeditor paměti programu. Pokud je hexeditor již zobrazen, je přesunut na popředí. Více o hexeditorech viz samostatná kapitola.

Zobrazit -> Zobrazení paměti EEPROM

Klávesová zkratka: F11

Zobrazí hexeditor datové EEPROM paměti. Pokud je hexeditor již zobrazen, je přesunut na popředí. Více o hexeditorech viz samostatná kapitola.

Zobrazit -> Zobrazení konfigurační paměti

Klávesová zkratka: F12

Zobrazí editor konfigurační paměti. Pokud je editor již zobrazen, je přesunut na popředí. Více o editorech viz samostatná kapitola.


Menu Součástka

Menu Součástka obsahuje následující položky:

  • Programování
  • Čtení
  • Ověření
  • Smazání
  • Ověření smazání
  • Výběr součástky

Součástka -> Programování

Klávesová zkratka: Shift+F5

  • Naprogramovat vše
    Klávesová zkratka: F5
    Smaže, zkontroluje smazání, naprogramuje a zkontroluje celou součástku. Před operací je provedena kontrola Device ID, a Code/Data Protection
  • Naprogramovat vše kromě paměti EEPROM
    Klávesovou zkratku lze přiřadit v dialogu Nastavení -> Klávesové zkratky
    Provede totéž, jako Naprogramovat vše s výjimkou mazání, programování a kontroly datové EEPROM paměti. U součástek bez datové EEPROM paměti, není tato funkce dostupná a programování se provádí pomocí funkce Programovat Vše.
    V některých případech při použití Code nebo Data Protection není možné tuto funkci použít. V takovém případě program nabízí možnost smazat celou součástku a naprogramovat i datovou EEPROM paměť (daty, která jsou aktuálně v editoru)
  • Naprogramovat paměť programu
    Klávesovou zkratku lze přiřadit v dialogu Nastavení -> Klávesové zkratky
    Smaže, zkontroluje smazání, naprogramuje a zkontroluje programovou paměť.
  • Naprogramovat paměť EEPROM
    Klávesovou zkratku lze přiřadit v dialogu Nastavení ->>Klávesové zkratky
    Smaže, zkontroluje smazání, naprogramuje a zkontroluje datovou EEPROM paměť.
  • Naprogramovat konfigurační paměť
    Klávesovou zkratku lze přiřadit v dialogu Nastavení -> Klávesové zkratky
    Naprogramuje a zkontroluje konfigurační paměť.
  • Naprogramovat rozdílově
    Klávesová zkratka: Ctrl+F5
    Tato funkce naprogramuje součástku rozdílově, to znamená, že součástku vyčte a přeprogramuje pouze buňky, kde se obsah součástky a editoru neshoduje. Pokud má součástka aktivní Code/Data Protection, rozdílové programování nemá smysl, a místo něj program provede kompletní programování se smazáním součástky.
    Tuto funkci musí programovaná součástka podporovat, proto není dostupná pro všechny součástky.
  • Naprogramovat rozdílově paměť EEPROM
    Klávesovou zkratku lze přiřadit v dialogu Nastavení -> Klávesové zkratky
    Tato funkce naprogramuje datovou paměť rozdílově, funkce této položky je stejná jako u rozdílového programování paměti programu.Tuto funkci musí programovaná součástka podporovat, proto není dostupná pro všechny součástky. Pokud má součástka aktivní Code/Data Protection, rozdílové programování nemá smysl, a místo něj program provede kompletní programování se smazáním součástky.
    Rozdílové programování paměti EEPROM je nutné použít u procesorů AVR, pokud uživatel potřebuje přeprogramovat pouze datovou paměť bez předchozího mazání součástky.
  • Sériová výroba
    Klávesovou zkratku lze přiřadit v dialogu Nastavení -> Klávesové zkratky
    Zobrazí okno pro jednoduché programování několika kusů součástek stejným nebo velmi podobným programem (až na seriové číslo atp.). Viz serializace výroby.

Některé položky mohou být pro určité typy součástek nedostupné.

Součástka -> Čtení

Klávesová zkratka: Shift+F6

  • Přečíst vše
    Klávesová zkratka: F6
    Přečte celou součástku.
  • Přečíst vše kromě EEPROM
    Klávesovou zkratku lze přiřadit v dialogu Nastavení -> Klávesové zkratky
    Přečte celou součástu kromě EEPROM paměti.
  • Přečíst paměť programu
    Klávesovou zkratku lze přiřadit v dialogu Nastavení -> Klávesové zkratky
    Přečte paměť programu.
  • Přečíst paměť EEPROM
    Klávesovou zkratku lze přiřadit v dialogu Nastavení -> Klávesové zkratky
    Přečte datovou EEPROM paměť.
  • Přečíst konfigurační paměť
    Klávesovou zkratku lze přiřadit v dialogu Nastavení -> Klávesové zkratky
    Přečte konfigurační paměť.

Některé položky mohou být pro určité typy součástek nedostupné.

Součástka -> Ověření

Klávesová zkratka: Shift+F7

  • Oveřit vše
    Klávesová zkratka: F7
    Porovná celou součástku s obsahem editorů.
  • Ověřit vše kromě EEPROM
    Klávesovou zkratku lze přiřadit v dialogu Nastavení -> Klávesové zkratky
    Porovná součástku kromě EEPROM paměti s obsahem editorů.
  • Ověřit paměť programu
    Klávesovou zkratku lze přiřadit v dialogu Nastavení -> Klávesové zkratky
    Porovná paměť programu s obsahem editoru programové paměti.
  • Ověřit paměť EEPROM
    Klávesovou zkratku lze přiřadit v dialogu Nastavení -> Klávesové zkratky
    Porovná datovou EEPROM paměť s obsahem editoru datové EEPROM paměti.
  • Ověřit konfigurační paměť
    Klávesovou zkratku lze přiřadit v dialogu Nastavení -> Klávesové zkratky
    Porovná konfigurační paměť s obsahem editoru konfigurační paměti.

Některé položky mohou být pro určité typy součástek nedostupné.

Součástka -> Smazání

Klávesová zkratka: Shift+F8

  • Smazat vše
    Klávesová zkratka: F8
    Smaže celou součástku.
  • Smazat paměť programu
    Klávesovou zkratku lze přiřadit v dialogu Nastavení -> Klávesové zkratky
    Smaže paměť programu. Pokud je aktivní Code/Data Protection, nelze tuto funkci použít.
  • Smazat paměť EEPROM
    Klávesovou zkratku lze přiřadit v dialogu Nastavení -> Klávesové zkratky
    Smaže datovou EEPROM paměť a zkontroluje ji. Pokud je aktivní Code/Data Protection, nelze tuto funkci použít.

Po funkci mazání se automaticky provádí kontrola smazání. Protože ale mazání součástky je v drtivé většině případů bezchybné, v nastavení programu lze vynutit vynechání této kontroly (Nastavení -> Nastavení programu -> Programování -> ...).

Součástka -> Ověření smazání

Klávesová zkratka: Shift+F9

  • Oveřit smazání všeho
    Klávesová zkratka: F9
    Ověří, zda je celá součástka správně smazaná.
  • Ověřit vše kromě EEPROM
    Klávesovou zkratku lze přiřadit v dialogu Nastavení -> Klávesové zkratky
    Ověří, zda je celá součástka mimo datové EEPROM paměti správně smazaná.
  • Ověřit paměť programu
    Klávesovou zkratku lze přiřadit v dialogu Nastavení -> Klávesové zkratky
    Ověří, zda je paměť programu správně smazaná.
  • Ověřit paměť EEPROM
    Klávesovou zkratku lze přiřadit v dialogu Nastavení -> Klávesové zkratky
    Ověří, zda je datová paměť EEPROM správně smazaná.
  • Ověřit konfigurační paměť
    Klávesovou zkratku lze přiřadit v dialogu Nastavení -> Klávesové zkratky
    Ověří, zda je konfigurační paměť správně smazaná.

Některé položky mohou být pro určité typy součástek nedostupné.

Součástka -> Výběr součástky...

Klávesová zkratka: F4

Dialogové okno slouží k výběru součástky. U některých typů pamětí je po vybrání typu nutné zadat organizace dat.

V dialogovém okně pro výběr součástky jsou zobrazeny pouze ty součástky, které podporuje vybraný programátor. Pokud vybranou součástku nelze programovat ve vybraném režimu pomocí ICSP, režim ICSP se automaticky vypne.
Pro výběr součástky, kterou daný programátor nepodporuje, je třeba nejprve zvolit jiný programátor.


Menu Nastavení

Menu Nastavení obsahuje následující položky:

  • Nastavení programu
  • Výběr zařízení
  • Výběr jazyka
  • Klávesové zkratky

Nastavení -> Výběr jazyka

Klávesová zkratka: Ctrl+K

Pomocí standardního dialogového okna lze vybrat nový soubor s lokalizací, což umožňuje používat jednu istalaci programu v různých jazykových mutacích.

Nastavení -> Klávesové zkratky

Klávesová zkratka: Ctrl+K

Pomocí tohoto dialogového okna lze měnit či definovat nové klávesové zkratky.


Menu Nápověda

Menu Nápověda obsahuje následující položky:

  • Nápověda k programu
  • Zkontrolovat aktualizace na Internetu
  • ASIX s.r.o. na internetu
  • Informace o programu

Nápověda -> Nápověda k programu

Klávesová zkratka: F1

Tímto příkazem se vyvolá nápověda, kterou právě čtete. Nápovědu lze vyvolávat z různých míst programu, vždy stisknutím klávesy F1.

Nápověda -> Zkontrolovat aktualizace na Internetu

Program se připojí k Internetu a zkontroluje zda používáte aktuální verzi programu.

Nápověda -> ASIX s.r.o. na Internetu

Otevře internetové stránky ASIX s.r.o..

Nápověda -> Informace o programu

Zobrazí okno s informacemi o programu.


Nastavení programátoru PRESTO

Okno Nastavení programátoru PRESTO

Obecné nastavení

Napájení v klidu

  • Žádné / Externí: Programátor na VDD pinu neposkytuje žádné napětí. Spouštět / zastavit program lze pouze při externím napájení z připojené aplikace.
  • Interní 5V: Programátor na VDD pinu poskytuje 5V. Aplikace může být napájena z tohoto pinu.

Napájení během programování

  • Externí 3 až 5V: Programátor nebude dodávat žádné napětí do aplikace, naopak bude napájet svoje vstupně výstupní obvody z napětí aplikace.
  • Interní 5V: Programátor na VDD pinu poskytuje 5V pro programovanou součástku.

Nastavení spojené s procesory PIC

Ovládání pinu -MCLR

Těmito tlačítky lze ovládat logickou hodnotu přítomnou na pinu -MCLR během klidu, pokud je přítomno napájení.

Způsob programování

  • HVP: Bude použito klasické programovaní s přítomnými 13V na -MCLR/VPP
  • LVP: Bude použito programování pomocí LVP pinu, na -MCLR/VPP jsou přítomny pouze logické hodnoty 0 a 1.

Algoritmus programování

  • Auto: Algoritmus bude vybrán podle aktuálně přítomného napětí na VDD.
  • Ucc=5V: Bude použit vždy algoritmus pro rychlé 5V programování.
  • Ucc=3 až 5V: Bude použit vždy algoritmus pro pomalé programování pracující ale při všech napájecích napětích.

PE

Pro součástky PIC24 a dsPIC33 je možné zvolit metodu programování pomocí CheckBoxu PE. PE je Programming Executive, tato metoda bývá rychlejší.

Nastavení spojené s procesory AVR a 8051

Frekvence oscilátoru

Během programování procesorů AVR musí být připojený externí oscilátor nebo funkční interní oscilátor. Maximální rychlost komunikace s procesorem je pak závislá na frekvenci oscilátoru.

Zrychlené programování s pomalými hodinami

Po smazání součástky jsou naprogramovány pojistky tak, že je nastavena maximální frekvence interního oscilátoru, poté může programátor se součástkou komunikovat vyšší rychlostí. Při programování součástky s použitým pomalejším oscilátorem tato volba umožňuje dosáhnout kratších časů programování. Tato volba má vliv pouze při programování celé součástky neboť na konci programování je třeba naprogramovat požadované hodnoty konfigurační paměti.

Inverzní RESET

Pokud je volba aktivní, programátor generuje inverzní RESET signál vzhledem ke standardní polaritě signálu na součástce.

Nastavení spojené s paměťmi I2C

Rychlost I2C sběrnice

Zvolte maximální možnou rychlost I2C sběrnice. PRESTO během práce na I2C sběrnici zapíná interní pullup o velikosti 2.2kΩ.

Adresa I2C pamětí

Zvolte adresu programované I2C paměti na sběrnici.


Použití ICSP

ICSP

ICSP (In-Circuit Serial Programming) je způsob programování mikrokontrolérů PIC, který umožňuje programovat součástky, které jsou už osazeny na desce plošných spojů. Pro programování procesorů PIC lze použít dva různé algoritmy: HVP (s +13V na Vpp) nebo LVP (s použitím pinu LVP). Programovací algoritmus LVP lze zakázat v konfiguračním slově součástky. Procesory mají z výroby povolen algortmus LVP, proto při prvním programování je nutno ošetřovat i vstup LVP (po dobu programování pomocí algoritmu HVP musí být vstup LVP v log.0).

Použité piny při programování

V případě použití algoritmu HVP (13V na Vpp)
  • Pin -MCLR/VPP musí být oddělen od resetovacích obvodů (např. resistorem 10kΩ). Během programování je na tento pin přivedeno programovací napětí (VPP) +13V, náběžná hrana a napěťová úroveň Vpp nesmí být aplikací ovlivněna.
  • Pin LVP (pokud ho programovaná součástka má) musí být držený v log.0!!
  • Piny RB6 a RB7 nesmí během programování aplikace ovlivňovat.

V případě použití algoritmu LVP (bez 5V)
  • Piny RB6, RB7, LVP a -MCLR/VPP nesmí být během programování aplikací ovlivněny. Všechny piny jsou během programování v různých logických úrovních.
Algoritmus LVP podporuje zatím pouze programátor PRESTO.

Maximální zatěžování jednotlivých pinů programátoru aplikací
 | PRESTO | PICQUICK | PICCOLO | CAPR-PI
CLK & DATA, VPP @ 0V/5V | 24mA | 4mA | 4mA | 8mA
Vpp @ 13V | 50mA1) | 50mA1) | cca 1mA | cca 1mA

1) Platí pouze pro součástky s flash pamětí. U součástek OTP může aplikace zatěžovat max. 1mA.

Na datových pinech probíhají průběhy rychlostí i několika MHz a aplikace nesmí žádným výrazným způsobem ovlivňovat rychlosti průběhů.

Možnosti napájení

Ve všech případech je samozřejmě nutné zapojit společnou datovou a napájecí zem (GND).
Napájení programovaného procesoru může být
  • externí z aplikace
  • interní z programátoru 5V
Externí napájení z aplikace nelze použít u některých typů procesorů, které mají pin -MCLR/VPP konfigurovatelný i jako I/O.
Interní napájení lze použít pouze v případě, pokud aplikace nebude z napájecího pinu (Vcc) programátoru odebírat příliš velký proud.
Programátor | Max. odběr aplikace z programátoru
PRESTO | 90mA1)
PICQUICK | 10mA1)
PICCOLO | 50mA

1) Programátor obsahuje softwarovou nadproudovou ochranu. Při znatelném překročení maximálního zatížení po dobu delší než velkou (nastavení v programu UP v položce Nastavení programování -> delší časy pro zapínání napětí při použití ICSP) programátor napájení vypíná. Programátor PICQUICK kontroluje přetížení pouze při zapnutí napětí Vdd a Vpp, programátor PRESTO kontroluje stav přetížení po celou dobu zapojeného napájení.

  • U programátoru PRESTO je podpora pro externí napájení zabudována přímo v hardware. Programátor napájí vstupní a výstupní obvody napětím, které je připojeno na pinu Vdd. Napětí může být i nižší než 5V. Prosíme, věnujte však při návrhu zvýšenou pozornost tomu, které typy lze při nižším než 5V napájení, nejen provozovat, ale i programovat.
  • U programátorů PICQUICK a PICCOLO (GRANDE) lze externí napájení použít trikem, kdy pin Vdd na programátoru zůstane nezapojen. Je však nutné dodržet, aby napájecí napětí v aplikaci a v programátoru bylo shodné (=5V).
  • Programátor CAPR-PI je stavěn pouze pro podporu externího napájení a jiné zapojení není možné. Pracuje pouze při napájecím napětí 5V.
Pokud jsou v aplikaci na napájecím pinu přítomny kapacity, které brzdí rychlost zapnutí a vypnutí napájení, je nutno aby v ovládacím programu UP byly nastaveny delší předpokládané časy nabití a vybití.
Programátor | Nabíjecí proud | Vybíjecí proud
PRESTO | odpovídá 50Ω | odpovídá 1kΩ
PICQUICK | odpovídá 50Ω | odpovídá 10kΩ
PICCOLO | odpovídá 50Ω | žádný
Orientační doba pro nastavení do programu je příbližně t[µs] = 2.5 × C[µF] × R[Ω] .
Např. pro aplikaci s kondenzátorem 33µF programovanou programátorem PRESTO je potřebná doba pro nabíjení 2.5×33×50=4125µs a pro vybíjení 2.5×33×1000=82.5ms.

Doporučené zapojení pinu -MCLR/VPP

Doporučené zapojení s přihlednutím k doporučenému zapojení uvedeném v datasheetu Microchip. doporučené zapojení
Velikostí R a C lze nastavit dobu držení procesoru v resetu. Diodou se dosáhne rychlého vybití kondenzátoru C při vypojení napětí Vdd. Zenerovou diodou se omezuje působnost programovacího napětí +13V z programátoru.
Odstraněním součástek R, C a diody lze dosáhnout jednoduššího zapojení, které nemá žádné zpoždění.

ICSP konektor na programátorech

Všechny programátory ASIX používají pro programování algoritmem ICSP jednotný konektor s piny v rastru 2.54mm. Tento konektor má 6 nebo 8 pinů (podle typu programátoru) s 5 resp. 7 signály. Rozšířená verze konektoru (8 pinů) obsahuje navíc signál LVP, který je použit při programování algoritmem LVP.
Číslo pinu | Jméno signálu | Programovací konektor
1 | -MCLR | VPP/-MCLR
2 |  | nepoužito (klíč zabraňující chybnému připojení konektoru)
3 | VCC | VCC
4 | GND | GND
5 | RB7 | DATA
6 | RB6 | CLOCK
7 |  | nepoužito
8 | RB3/RB4/RB5 | LVP

Propojovací ICSP kablíky

ICSPCAB

6 pin <-> 5×1 pin

icspcab

ICSPCAB66

6 pin <-> 6 pin

icspcab66

ICSPCAB8

6 pin <-> 7×1 pin

icspcab8


Tipy a triky

Zde najdete nejrůznější návody, jak efektivně využívat program UP.

  • Ovládání programu pomocí zpráv
  • Spuštění programu z příkazové řádky
  • Práce s kalibrační pamětí
  • Serializace výroby
  • Formát Intel HEX souborů
  • Používání více spuštěných programů UP nebo ostatních utilit

Obsah nápovědy


Používání více spuštěných programů UP

Používání více spuštěných programu UP

Spouštění více programů UP

Program UP při běžném používání může být spuštěn pouze jednou: každé další spuštění programu pouze pošle parametry z příkazové řádky nebo nějakým jiným způsobem zviditelní předchozí spuštěný program UP.
Program UP lze spustit vícekrát pod jiným názvem třídy okna - ty programy, které budou mít stejný název třídy okna spolu budou komunikovat. Jméno třídy okna se programu sdělí pomocí příkazové řádky parametrem /w. Parametry programu při spouštění z příkazové řádky jsou popsány na této stránce.

Příklad použití

První program UP lze spustit běžně pomocí zástupce v nabídce start.
Druhý program UP lze spustit z příkazové řádky příkazem up /w "druhy up"

Přístup více spuštěných programů UP k jednomu programátoru

K jednomu programátoru může přistupovat vždy nejvýše jeden program (v případě programátoru PRESTO jsou k dispozici i různé utility). U programátorů připojených k paralelnímu portu počítače je pouze na uživateli aby ochránil dva programy od společného přístupu k jednomu programátoru. V případě programátorů připojených k rozhraní USB se o přístupová práva stará operační systém. V případě spuštěného programu UP operační systém nedovolí jinému programu v přístupu k zvolenému programátoru. Program UP nedovoluje jinému software k přístupu k PRESTO, např. proto, že neustále kontroluje stav tlačítka a stav napětí na napájecím pinu.
Programu UP lze zakázat a uvolnit programátor pro jinou aplikaci pomocí dialogu výběr programátoru. V menu zvolte výběr programátoru. Po dobu, co je dialog zobrazen, může jiný program přistupovat k programátoru. Při zrušení dialogu nedojde k ztracení rozpracovaných dat.


Serializace výroby

Pro usnadnění programovaní několika kusů součástek se stejným obsahem paměti (nebo s jemnými rozdíly, viz sériová čísla) je v programu implementována funkce Sériová výroba.

Sériová výroba

Menu: Součástka -> Programovat -> Sériová výroba

Funkce je dostupná i z panelu nástrojů v nabídce pod ikonkou programovat.

V okně sériové výroby lze programovat stisknutím tlačítka Naprogramovat, což je ekvivalentní vyvolání příkazu Naprogramovat vše, popř. Naprogramovat vše kromě EEPROM, podle výběru Neprogramovat datovou EEPROM.

V okně sériové výroby je zobrazen též čítač sériové výroby, který může být zobrazen také na stavovém panelu, viz Nastavení programu. Čítač sériové výroby počítá počet programovaných součástek bez ohledu, zda-li bylo programováno provedeno v módu sériové výroby či standardním způsobem.

Sériová čísla

Funkce sériová čísla zapisuje před programováním / po naprogramování / na příkaz uživatele sériová čísla, nebo jinou sekvenci dat, do předem určené oblasti paměti.

Sériová čísla mohou být:

  • počítána
    Počítaná sériová čísla mohou být vkládána vždy pouze na jedno zvolené místo v součástce, např. do paměti programu, datové EEPROM nebo do ID pozic. Sériové číslo je vždy chápáno jako číslo v desítkové nebo šestnáctkové soustavě a může být kódováno jako 4-bitová kombinace (po jednom až čtyřech do jednoho slova) nebo ASCII znak (jeden nebo dva do slova), případně při používání paměti programu lze zvolit zarovnání do RETLW xx instrukce.
    Následující sériové číslo může být o předem stanovenou konstantu vyšší nebo nižší (např. po sériovém číslu 0054 může jít 0055) nebo následující číslo bude počítáno pseudonáhodné pomocí algoritmu LSFR. V případě, že je zvoleno kódovat sériové číslo v BCD a zároveň se počítají sériová čísla pomocí generátoru pseudonáhodných čísel, všechny kombinace které nevyhovují BCD se přeskakují. Polynomy, které generátor pseudonáhodných čísel používá jsou pro sériová čísla
    • dlouhá 1 cifru (4bity): 0xC
    • dlouhá 2 cifry (8bitů): 0xB2
    • dlouhá 3 cifry (12bitů): 0xCBD
    • dlouhá 4 cifry (16bitů): 0xA751
    • dlouhá 5 cifry (20bitů): 0xD83C6
    • dlouhá 6 cifry (24bitů): 0xED6FB2
    • dlouhá 7 cifry (28bitů): 0xE61FE9E
    • dlouhá 8 cifry (32bitů): 0xA9CC6743
    Způsob řazení sériových čísel
    Pro pořadí bytů (slov) sériového čísla lze použít několik nejpoužívanějších formátů. Sériové číslo "123456" kódované v ASCII bude pak vypadat v těchto formátech
    • lo hi Lo Hi 36 35 34 33 32 31 (tj. v ASCII "654321")
    • Hi Lo hi lo 31 32 33 34 35 36 (tj. v ASCII "123456")
    • hi lo Hi Lo 35 36 33 34 31 32 (tj. v ASCII "563412")
    • Hi Lo hi lo 32 31 34 33 36 35 (tj. v ASCII "214365")
    Poslední dva formáty jsou vhodné pokud se bude později sériové číslo číst z paměti organizované po slovech 16bitů dlouhých.
  • vkládána ze souboru
    Jedno sériové číslo může být rozmístěné do více částí součástky. (např. vlastní sériové číslo přímo v programu, adresa zařízení v datové EEPROM paměti a znovu sériové číslo uložené v ID pozicích pro možnost přečtení sériového čísla ze zamknuté součástky)
    Viz formát souboru se zadáním sériových čísel.

Formát souboru se zadáním sériových čísel

Soubor je textový a velmi snadno vytvořitelný jiným programem. Doporučená přípona souboru je *.SN nebo *.TXT.

  • Bílé znaky jsou mezera, tabelátor, konec řádku (CR+LF).
  • Komentář jakýkoli řetezec, který neobsahuje dvojtečku ':' nebo středník ';'
  • Záznam sériového čísla má tvar
    komentář label: datový záznam, datový záznam, ..., datový záznam;
  • Label je řetězec identifikující sériové číslo. Tento řetězec je povinný. Label nesmí obsahovat bílé znaky, dvojtečku, středník.
  • Datový záznam je složen z adresy a datových položek obsažených postupně za touto adresou.
    Každá položka může být zapsána v hexadecimálním tvaru (např. 2100), nebo může být explicitně zadána číselná soustava ve které je číslo zadáno (např. b'10101010' znamená totéž co h'AA', d'170' nebo jen samotné AA) nebo i jako samotný ASCII znak (pak d'65' a 'A' znamená totéž)
    např. 2100 05 55 54 znamená do datové EEPROM paměti uložit na adresy 00 až 02 data 05h, 55h, 54h.

    Paměť kam se uloží sériové číslo může být také specifikována slovem CODE. nebo PROG. nebo P. pro programovou paměť nebo DATA. nebo EE. nebo E. pro datovou paměť nebo ID. nebo I. pro ID pozici. Tato slova jsou následována adresou ve specifikované paměti.
    např. EE.00 05 55 54 znamená do datové EEPROM paměti uložit na adresy 00 až 02 data 05h, 55h, 54h Poznámky:
      Pro konfigurační paměť není žádný specifikátor, nemělo by to ani žádný smysl
      dsPIC - zadává se adresa 24-bitového slova pro všechny adresy (tzn. interní dsPIC adresa 24h je zde 12h), u EEPROM se zadává adresa 16-bitového slova, tzn. tak jak jdou v procesoru jedna po druhé.
      Samostatné paměti (I2C, SPI) mají jen paměť CODE, v případě specifikace neexistující paměti bude hlášena chyba.

  • Komentář je nepovinný.
  • V případě, že celý záznam sériového čísla neobsahuje dvojtečku, je ignorován (je brán pouze jako komentář)
    toto je pouhy komentar;

Příklad souboru:

komentar na zacatek;

sn1:          0000     34 45 56 67,
              2100     01 02 03 04;  toto bylo seriove cislo 1
sn2:          0000     45 56 67 78,      2100     02 02 03 04;
sn3:          0000     56 67 78 89,      2100     03 02 03 04;

poznamka

sn4:          0000     67 78 89 9A,      2100     04 02 03 04;
sn5:          0000     78 89 9A AB,      2100     05 02 03 04;
sn6:          0000     78 89 9A AB,      2100     06 02 03 04;
sn7:          0000     78 89 9A AB,      2100     07 02 03 04;

sn8:	 code.0001 3F00 3F01 3F02 3F03,  data.0002 'x' '4' '2';
sn9:	 prog.0001 3F00 3F01 3F02 3F03,  e.0002 'x' '4' '3';


Používání programu z příkazové řádky

Používání programu UP z příkazové řádky

Program sám ošetří, aby byl spuštěn vždy pouze v jedné instanci. Pokud je spuštěna druhá instance programu, parametry z příkazové řádky se předají první instanci a ta je provede.

Přehled parametrů

up.exe [{/ask | /q}] [{/e soubor_s_eeprom.hex | [/noe]}] [{/p | [/pdiff] | [/o]} soubor.hex | soubor.ppr] [/eeonly] [/part jméno_součástky] [/erase] [/w[nd] up_window_class] [/cfg] [/devid] [/blank] [/verify soubor] [/s SN_programátoru]

Legenda:
Text, který je tučně se píše přímo na příkazovou řádku tak, jak je napsán.
Text, který je kurzívou je třeba nahradit odpovídajícím parametrem. Např. jméno souboru se nahradí skutečným jménem souboru, který má být otevřen.

Text uzavřený ve složených závorkách oddělený znakem | označuje výběr pouze jedné z uvedených možností, tj. { A | B } znamená "zvolte buď A nebo B".
Text v [hranatých závorkách] označuje nepovinný parametr - může být uveden, ale také nemusí.

  • /ask Ask. Používá se ve spojení s /p. Program se před programováním součástky vždy zeptá, jestli má pokračovat, i když je v nastavení programu požadováno, aby se neptal. Zároveň je v dialogu oznámen i vybraný typ součástky.
  • /q; /quiet Quiet mód. Program se na nic neptá, v případě potřeby zobrazení dialogu skončí chybou. Viz návratové kódy programu.
  • /e soubor EEPROM soubor. Zadání případného souboru s daty EEPROM paměti. Pokud má jméno souboru v těle mezery, je třeba jméno souboru uzavřít uvozovkami. Tento parametr je možné použít pouze společně s parametry /o nebo /p.
  • /noe No EEPROM. Přeskočí programování EEPROM. Pokud je tento parametr použit při programování procesoru MSP430, je vynecháno programování a mazání informační paměti.
  • /p soubor Programovat. Zadaný soubor se naprogramuje. Pokud jméno souboru obsahuje mezery, je třeba jej uzavřít mezi uvozovky.
  • /pdiff soubor Programovat rozdílově. Zadaný soubor se naprogramuje. Pokud jméno souboru obsahuje mezery, je třeba jej uzavřít mezi uvozovky.
  • /o soubor Otevřít. Zadaný soubor je otevřen, nepovinný parametr. Pokud jméno souboru obsahuje mezery, je třeba jej uzavřít mezi uvozovky.
  • /eeonly Provede zvolenou operaci jen s pamětí EEPROM, u MSP430 jen s Informační pamětí.
  • /part jméno Vybere v UPu zvolenou součástku.
  • /erase Smaže součástku.
  • /wnd jméno třídy Jiné jméno třídy okna. Pomocí tohoto parametru lze spustit program UP najednou více než jednou. Každá nová instance spouštěného programu UP musí mít jiné jméno třídy.
  • /cfg Pokud je tento parametr použit společně s parametrem /p, naprogramuje se pouze konfigurační paměť. To je užitečné např. při programování procesorů AVR, které je možné nejprve přepnout na rychlejší oscilátor a následně naprogramovat mnohem rychleji.
  • /devid Pokud je tento parametr použit společně s parametrem /p, pouze se zkontroluje Device ID součástky.
  • /blank Zkontroluje smazání součástky a podle výsledku vrátí chybovou hodnotu.
  • /verify soubor Provede verifikaci součástky.
  • /s SN_programátoru Umožňuje vybrat programátor podle sériového čísla. Sériové číslo se zadává tak jak je zobrazeno v UPu nebo natištěno na programátoru, např. 016709 nebo A6016709.

Při několika rozpracovaných projektech se může stát, že program je nastaven na jinou součástku (nebo i programátor), než uživatel předpokládal. Pak je vhodné používat projektové soubory, (.PPR), ve kterých je uloženo veškeré nastavení programu a cesta k pracovnímu souboru.

Otevření souboru

up.exe Jméno souboru

up.exe soubor.hex
up.exe "C:\My Documents\Rozpracované projekty\PICy\Můj nejnovější projekt\blikátko.hex"

Naprogramování souboru do součástky

up.exe /p Jméno souboru

up.exe /p soubor.hex
up.exe /p "C:\My Documents\Rozpracované projekty\PICy\Můj nejnovější projekt\blikátko.hex"

Návratové hodnoty programu

0 | - Vše proběhlo bez problémů.
1 | - Chyba souboru. Např. soubor nenalezen, soubor má špatný formát.
2 | - Chyba zařízení. Test komunikace byl neúspěšný, chyba při komunikaci.
3 | - Chyba při přípravě programování. Nelze smazat součástku, apod.
4 | - Chyba při programování.
5 | - Chyba při verifikaci.
6 | - Programování neproběhlo z důvodu potřeby interakce s uživatelem.
7 | - Chyba Device ID.

Ovládání programu UP pomocí zpráv systému Windows

Program UP lze ovládat pomocí zpráv systému Windows. Po zaslání zprávy spuštěný program UP provede požadovanou akci.
Zprávy se musí posílat oknu, které lze identifikovat podle jeho třídy "up v1.x". Typ zprávy je vždy WM_USER. Příkaz se identifikuje podle wParam, parametry podle lParam.

Přehled příkazů

(* Messages to UP
 * These messages should be sent to Window identifiable by its class "up v1.x"
 * Almost all messages responses 0=false=failed=can't; 1=true=done=OK=can
 * WM_USER:
 *    wParam = 0   lParam = 0; does anything, only returns 1
 *                 lParam = 1; SetForegroundWindow()
 *                 lParam = 2; maximizes and SetForegroundWindow()
 *    wParam = 1   lParam = any; Does programming all contents of file; Result is same as on command line
 *    wParam = 2   lParam = any; Does programming without eeprom;       Result is same as on command line
 *    wParam = 3   Does programming (with erase)                        Result is same as on command line
 *                 lParam |= 1; of main code memory
 *                 lParam |= 2; of data eeprom memory
 *                 lParam |= 4; of configuration memory
 *    wParam = 4   Does reading                                         Result is 1 - ok
 *                 lParam |= 1; of main code memory                               0 - failed
 *                 lParam |= 2; of data eeprom memory
 *                 lParam |= 4; of configuration memory
 *    wParam = 5   Does differential programming                        Result is 1 - ok
 *                 lParam |= 1; of main code memory                               0 - failed
 *                 lParam |= 2; of data eeprom memory
 *                 lParam |= 4; of configuration memory
 *    wParam = 6   Does verification                                    Result is 1 - ok
 *                 lParam |= 1; of main code memory                               0 - failed
 *                 lParam |= 2; of data eeprom memory
 *                 lParam |= 4; of configuration memory
 *    wParam = 7   Does erasing                                         Result is same as on command line
 *                 lParam |= 1; of main code memory
 *                 lParam |= 2; of data eeprom memory
 *                      wParam = 1,2,3,4,5,6,7 are 'thread blocking'!
 *    wParam = 15  lParam = any;                                        Result is always 1
 *                 Does the same like Button GO was pressed
 *                 (even using another programmer than PRESTO)
 *    wParam = 16  query for capability
 *    wParam = 17  do requested action
 *        wParam = 16 and 17 has same lParam values:
 *                 lParam = 0; MCLRControl_Run
 *                 lParam = 1; MCLRControl_Stop
 *                 lParam = 2; MCLRControl_Reset
 *                 lParam = 8; Actual voltage on Presto
 *                              0 = Unknown
 *                              1 = 0V
 *                              2 = ~2V
 *                              3 = 5V
 *                              4 = >6V
 *    wParam = 32  reinitialization of UP
 *                 lParam |= 1; reload settings (=reload project/ini file or registry)
 *                 lParam |= 2; reload language file
 *                 lParam |= 4; recreate programmer        (like programmer was changed)
 *                 lParam |= 8; reload programmer settings (like port settings)
 *                 lParam |=16; reload selected part
 *                 lParam |=32; reload hex file
 *                 lParam |=64; recreate all dialog windows (adjust their size when reloading part)
 *                 lParam == 0x0100; refresh part specific windows
 *                 lParam == 0x0200; refresh all editors
 *                 lParam == 0x0300; refresh project captions
 *    wParam = 33  lParam |= 1; save all project settings
 *    wParam = 48  actual file save (like Ctrl+S is pressed)
 *                 lParam |= 1; main code memory will be saved
 *                 lParam |= 2; data eeprom memory will be saved
 *                 lParam |= 4; configuration memory
 *                     (for AVRs |=4 is not possible and (1+2) is not possible)
 *    wParam = 56, lParam = 0; will return the handle of the UP main form
 *)
{===================================================================================================}
(*
 * WM_CLOSE:      will close the program
 *)

Příklad použití

Následující kód odešle zprávu do programu UP.
var
 window: HWND;
begin
 window := FindWindow('up v1.x', nil);
 Result := SendMessage(window, WM_USER, 0, 0);
end.

Použití knihovny UP_DLL.DLL

Pokocí knihovny up_dll.dll lze se spuštěným programem UP vyměňovat řetezce.
unit up_dll;

interface

Function UP_LoadFile   (FileName: PChar; style: integer): integer; stdcall;
(*
 *   Load File (with extension .hex or .ppr);
 *   Loading of .ppr file can result in loading .hex file too;
 *   Result codes are same like on command line.
 *
 *   Style |= 1; UP will be quiet on file load errors
 *   Style |= 2; UP will do no previous file saving
 *
 *)
Function UP_GetStrValue(ValueName: PChar; Value: PChar; Size: integer): integer; stdcall;
Function UP_GetIntValue(ValueName: PChar; var Value: integer): LongBool; stdcall;
Function UP_SetStrValue(ValueName: PChar; Value: PChar): LongBool; stdcall;
Function UP_SetIntValue(ValueName: PChar; Value: integer): LongBool; stdcall;

Function UP_LoadFile_Wnd(WndClass:PChar; FileName: PChar; style:integer):integer; stdcall;
Function UP_SetStrValue_Wnd(WndClass:PChar; ValueName: PChar; Value:PChar): BOOL; stdcall;
Function UP_SetIntValue_Wnd(WndClass:PChar; ValueName: PChar; Value:integer): BOOL; stdcall;
Function UP_GetStrValue_Wnd(WndClass:PChar; ValueName: PChar; Value: PChar; Size: integer): integer; stdcall;
Function UP_GetIntValue_Wnd(WndClass:PChar; ValueName: PChar; var Value: integer): LongBool; stdcall;
(*
 * All these functions are used for changing internal settings of UP in runtime.
 * UP_GetIntValue, UP_SetStrValue, UP_SetIntValue returns nonzero if successful
 * UP_GetStrValue returns amount of characters to copy into Value string including null terminator
 *       If Size is less than requied size, no characters are copied.
 *)
implementation

function UP_LoadFile;    external 'up_dll.dll';
function UP_GetStrValue; external 'up_dll.dll';
function UP_GetIntValue; external 'up_dll.dll';
function UP_SetStrValue; external 'up_dll.dll';
function UP_SetIntValue; external 'up_dll.dll';

function UP_LoadFile_Wnd; external 'up_dll.dll';
function UP_SetStrValue_Wnd; external 'up_dll.dll';
function UP_SetIntValue_Wnd; external 'up_dll.dll';
function UP_GetStrValue_Wnd; external 'up_dll.dll';
function UP_GetIntValue_Wnd; external 'up_dll.dll';

end.
Popis jmen a hodnot jednotlivých nastavení je ve zvláštním souboru.


Popis Intel HEX File Format

Intel HEX File Format používaný programem UP

Program UP používá pro čtení a ukládání dat soubory ve formátu Intel HEX File (většinou s příponou .HEX).

Podporované kategorie HEX souborů

  • "obyčejný", někdy též Intel 8-bit HEX File, MPASMWIN generuje tento soubor při parametru INHX8M
  • "rozšířený", někdy též Intel 32-bit HEX File, MPASMWIN generuje tento soubor při parametru INHX32

Popis Intel HEX File

Intel HEX jsou textové soubory, které se skládají z řádků.
Každý řádek má následující strukturu: :LLAAAATTDDDD...CC

  • : Tímto znakem (dvojtečka, 0x3A) musí začínat každý řádek souboru.
  • LL Délka záznamu (počet políček DD).
  • AAAA Adresa prvního byte záznamu.
  • TT Typ záznamu. Typy mohou být:
    • 00 - Datový záznam.
    • 01 - Záznam Konec souboru. Každý soubor musí končit tímto záznamem.
    • 02 - Rozšířená segmentová adresa. (pouze 32-bit HEX)
    • 04 - Rozšířená lineární adresa. (pouze 32-bit HEX)
    Existují i jiné typy, 03 a 05, které program UP při načítání ignoruje a při ukládání souboru nepoužívá.
  • DD Data záznamu. Počet bytů musí být přesně LL.
  • CC Kontrolní součet. Kontrolní součet je počítán jako dvojkový doplněk k součtu všech hodnot na řádku.

Datový záznam

Jako příklad poslouží řádek s uloženou konfigurační pamětí 14-bitové součástky.
:02400E00413F30

  • Délka záznamu: 02 - Velikost konfigurační paměti je jedno slovo = 14 bit = 2 byte (zarovnáno na celé byty)
  • Adresa záznamu: 400E - Adresa konfigurační paměti je slovo 2007h, adresováno po bytech tedy 400Eh
  • Typ záznamu: 00 - Datový záznam
  • Data záznamu: 413F - Konfigurační slovo je 3F41h
  • Kontrolní součet: 30 = 02 + 40 + 0E + 00 + 41 + 3F = xxD0; neg D0 = 30

Konec souboru

Jedinou možnou variantou řádku Konec souboru je:
:00000001FF

Rozšířená lineární adresa

Tento řádek obsahují pouze soubory, které potřebují adresovat více než 64 kB adresového prostoru. Například procesory rodiny PIC18F mají uloženou konfigurační paměť na adrese 0x 30 00 00 00.

Pokud je třeba použít tuto adresu, je nutné do HEX souboru vložit řádek s rozšířenou lineární adresou, který obsahuje horních 16 bitů adresy. Dolních 16 bitů je načteno z řádku s datovým záznamem.
:020000040030CA
Tímto řádkem se vybírá konfigurační paměť u součástek rodiny PIC18F.

U rozšířených segmentových záznamů se udává segment, tedy bity 19-4 adresy (segment), které se pak přičítají k adresám z datových záznamů (offset).

Ukládání typu součástky do .HEX souboru

Velmi často se stává, že dojde k záměně mezi vybraným typem součástky a typem součástky, pro kterou byl Intel HEX soubor uložen. Proto program UP obsahuje funkci ukládání typu součástky do souboru.
Program zapíše za konec (viz konec souboru ve formátu Intel HEX souboru) souboru ještě řádek #PART=..... Drtivá většina programů pracujících s Intel HEX soubory takovýto řádek ignoruje, avšak takovýto soubor nelze považovat za vyhovující formátu Intel HEX.


Uchovávání kalibrační informace

Podpora programu UP pro práci s kalibrační pamětí

Práce s kalibrační informací při mazání součástky v UV mazačce

Před mazáním součástky je většinou třeba poznamenat si kalibrační informaci. K tomuto účelu je možné použít funkce "Uložit kalibrační informaci..." a "Načíst kalibrační informaci ...".

Menu: Soubor -> Uložení kalibrační informace...
Menu: Soubor -> Načtení kalibrační informace...

Program obsahuje funkci pro kontrolu správného smazání součástky. Při použití této funkce program zobrazí informace z kalibrační paměti.

Práce s kalibrační pamětí u flash součástek

Při smazání se obsah kalibrační paměti zachovává.

Pokud z nějakého důvodu chcete smazat kalibrační paměť, lze toto provést funkcí "Smazat vše, i kalibrační paměť" (Součástka -> Smazání -> Smazat vše, i kalibrační paměť).

Upozornění: Nové Flash součástky s kalibrační pamětí (např. PIC12F629) obsahují i tzv. bandgap bity, které jsou též součástí kalibrace součástky. Tyto bity se vyskytují v konfiguračním slově a při funkci "Smazat i kalibrační paměť" se také smažou!


FAQ - často kladené otázky

Seznam otázek

Co byste měli vědět o procesorech PIC

1. Okénkové verze PIC (označení JW, resp. CL)
2. A/D převodník - přepnutí kanálu
3. Piny s analogovými periferiemi po resetu
4. Chování TRISE u procesorů se 40 a více piny

Závady při programování a jejich odstranění

5. Programování / čtení / mazání při použití ICSP je velmi poruchové
6. Program hlásí, že Device ID vložené součástky neodpovídá vybrané součástce
7. Program hlásí detekci nadproudu

Používání ICSP a konektoru PRESTO

8. Jak zapojit programované součástky s programátory ASIX
9. Jaký je rozdíl mezi programováním v patici a pomocí ICSP kabelu?

Programování procesorů PIC

10. Co znamená programovací algoritmus HVP a LVP?
11. Lze programovat procesory PIC programátory ASIX pomocí LVP algoritmu?
12. Lze programovat procesory PIC programátory ASIX při napájení nižším než 5V?
13. Proč některé procesory nelze programovat v ICSP režimu?
14. Proč programátor PICCOLO nepodporuje některé typy procesorů, např. PIC12C508?
15. Proč programátor CAPR-PI nemůže programovat některé typy procesorů?
16. Lze na vývojové desce PVKPro používat i jiné procesory, než pouze PIC16F84?

Pokročilé ovládání programu UP

17. Lze nějakým způsobem zautomatizovat programování sériových čísel nebo hardwarových adres apod.?
18. Jakým způsobem se dají ovládat debuggovací funkce programu UP z jiného programu (např. editoru)?

Odpovědi na otázky

1. Okénkové verze PIC (označení JW, resp. CL)

Při programování těchto verzí obvodů neaktivujte Code Protection (ochranu proti vyčtení obsahu paměti programu). U naprosté většiny součástek se totiž Code Protection nedá pomocí UV záření deaktivovat a součástku již nelze znovu naprogramovat.

2. A/D převodník - přepnutí kanálu

Používáte-li A/D převodník pro multiplexované měření více kanálů, nezapomeňte po přepnutí kanálu nechat dostatek času pro nabití kondenzátoru A/D převodníku dříve než spustíte nový převod (např. BSF ADGO). Podrobněji v sekci A/D Converter v datasheetu příslušného typu.

3. Piny s analogovými periferiemi po resetu

Piny, které slouží jako vstupy A/D převodníku, resp. analogového komparátoru se po resetu přepnou do analogového režimu. Mikrokontrolér je "vidí" v log. 0. Oblíbeným omylem je na tuto vlastnost zapomenout: "Když komparátor u PIC16F628 nepoužívám, tak se o něj přece nemusím starat!" Stává se to často např. při převodu programu ze součástky bez analogových periferií na součástku, která je obsahuje (třeba z PIC16F84 na PIC16F628).

4. Chování TRISE u procesorů se 40 a více piny

Registr TRISE procesorů, které obsahují Parallel slave port (např. PIC16F874 a PIC16F877) ovládá mimo jiné i funkci portu D. Opomenutí této vlastnosti vede většinou k nepředpokládanému chování portu D a E.

5. Programování / čtení / mazání při použití ICSP je velmi poruchové

Jedna z velmi častých příčin je přítomnost blokovacích kondenzátorů na napájecím napětí. Během programování je často potřeba součástku resetovat, u některých typů součástek se musí odpojit napájecí napětí. V přítomnosti kondenzátorů může jejich vybití trvat velmi dlouho a tato skutečnost se musí v programu UP vyplnit v nastavení programování, delší časy pro zapínání a vypnání napětí.
I blokovací kondenzátory o velikosti pouze 100nF je třeba v programu hlásit!

6. Program hlásí, že Device ID vložené součástky neodpovídá vybrané součástce

V novějších procesorech PIC se začal uvádět tzv. Device ID - identifikační slovo typu součástky. Toto slovo se skládá se dvou částí, identifikace typu součástky (např. PIC16F876A) a revision součástky. Toto slovo lze běžně číst v programátoru, u rodiny PIC12F a PIC16F se vyskytuje na adrese 2006h (konfigurační slovo je na adrese 2007h), u procesorů rodiny PIC18F se vyskytuje na adrese 3FFFFEh. Program UP před programováním kontroluje, zda se toto identifikační slovo shoduje s předpokládaným identifikačním slovem programované součástky. V případě neshody tuto skutečnost uživateli nahlásí (tzn. pravděpodobně špatně vložená součástka nebo špatně vybraný typ součástky). Hodnota Device ID identifikuje typ součástky a nelze ji měnit ani smazat.

7. Program hlásí detekci nadproudu

V programátorech PICQUICK a PRESTO je zabudovaná softwarová nadproudová ochrana na napájecích pinech. Programátor po uplynutí nastavené doby (v nastavení programu "delší časy pro zapojení napětí") zkontroluje, zda neprochází vyšší proud než dovolený a případně okamžitě odpojuje napětí. Pokud používáte v aplikaci blokovací kondenzátory, je potřeba tyto časy adekvátně prodloužit. Více o nastavení časů najdete v samostatné kapitole zabývající se zapojením programátorů pomocí ICSP konektoru.

8. Jak zapojit programované součástky s programátory ASIX

Podrobnou stránku popisující detailně zapojení ICSP pro programování procesoru v aplikaci, propojení s programátory ASIX, co si lze dovolit k datovým a napájecím pinům programátoru naleznete na zvláštní stránce zabývající se tímto tématem.
Programátor PRESTO má víceúčelový programovací konektor na kterém jsou sloučeny funkce ICSP (Microchip PIC), ISP (Atmel AVR), JTAG, SPI (sériové Flash EPROM a EEPROM), Microwire i sběrnice I2C. Podrobný popis zapojení jednotlivých součástek najdete v kapitole popisující programátor PRESTO.

9. Jaký je rozdíl mezi programováním v patici a pomocí ICSP kabelu?

Pomocí ICSP konektoru můžete propojit programátor s aplikací a programovat již osazený procesor. Odpadá manipulace s procesorem.
Používání ICSP konektoru má výhodu i při psaní a ladění programu: se zapojeným programátorem lze ovládat polaritu signálu -MCLR a zapojenou desku resetovat / programovat bez nutnosti manipulace s procesorem (platí pouze pro programátory PRESTO a CAPR-PI).
Pokud programátor podporuje oba typy programování (má patici i ICSP konektor), v programu UP se musí nastavit, zda se použije programování v patici nebo pomocí ICSP konektoru.

10. Co znamená programovací algoritmus HVP a LVP?

Klasický programovací algoritmus HVP používá k vstupu do programovacího režimu +13V přivedených na pin procesoru -MCLR/VPP. To s sebou přináší nepříjemnosti, např. s oddělením tohoto napětí při programování v aplikaci.

Programovací algoritmus LVP (dostupný pouze na některých typech) používá ke vstupu do programovacího režimu zvláštní pin LVP. To znemožňuje jeho použití v aplikaci a nutnost existence jednoho pinu na programátoru navíc. Pin -MCLR/VPP musí být přesto stále ošetřen, stačí však, aby byl pouze datový.

Programovací algoritmus HVP je dostupný vždy. Programovací algoritmus LVP lze zakázat při programování konfiguračního slova, nelze ho však zakázat při použití algoritmu LVP. Po smazání součástky a při dodání z továrny je algoritmus LVP vždy povolen.
Z tohoto důvodu by měl být pin LVP i v případě použití algoritmu HVP ošetřen jako vstupní a během programování zde musí být přitomna log.0.

11. Lze programovat procesory PIC programátory ASIX pomocí LVP algoritmu?

Ano, programátor PRESTO má vyveden na ICSP konektoru nový pin LVP. V ovládacím software lze vybrat který algoritmus se má použít: zda klasický HVP při napětí +13V nebo LVP. Nutnost připojit -MCLR/VPP na programovaný procesor zůstává, na tomto signálu jsou však již přítomny pouze hodnoty log.0 a 1.

12. Lze programovat procesory PIC i při jiném než 5V napájení?

Ano, některé typy procesorů PIC podporují programování FLASH paměti i při nižším napájení než je 5V. Obecně lze říci, že jsou to ty, které umějí číst a programovat paměť FLASH přímo z programu procesoru. Zároveň platí, že dosud žádný procesor PIC nelze smazat při zamknuté paměti (CodeProtection nebo DataProtection) při nižším než 5V napájení.
Programovat součástky při nižsím než 5V napájení umožňuje programátor PRESTO, v ovládacím software se volí typ programovacího algoritmu (při napájení 5V nebo nižším).

13. Proč některé procesory nelze programovat v ICSP režimu?

Některé starší procesory, jako např. PIC16C5x, jsou programované paralelně (podobně jako EPROM paměti 27Cxxx), a proto u nich nelze používat sériovou komunikaci a nelze je tedy programovat prostřednictvím ICSP kabelu.

14. Proč programátor PICCOLO nepodporuje některé typy procesorů, např. PIC12C508?

Programátor PICCOLO je velmi levný a jednoduchý programátor. Součástky, které nemají Flash paměť, vyžadují pro programování přesné napětí VPP a navíc odbírají při programování velký proud o tomto napětí, který programátor PICCOLO není schopen poskytnout.

15. Proč programátor CAPR-PI nemůže programovat některé typy procesorů?

CAPR-PI je programátor určený k programování pomocí ICSP kabelu a napájení odebírá přímo z aplikace. Tím je dáno, že napájení procesoru nemůže programátor nijak ovlivnit. Proto CAPR-PI nemůže programovat procesory, které vyžadují připojení napájecího napětí až po připojení programovacího napětí. Takové procesory jsou např. PIC16F627/628.

16. Lze na vývojové desce PVKPro používat i jiné procesory, než pouze PIC16F84?

Ano, ale s jistými omezeními. Testovaný procesor nesmí mít v konfiguračním slově naprogramovánu jinou funkci na -MCLR/RA5 než právě -MCLR. Pokud by byla funkce jiná, procesor nebude možné resetovat (což by ovšem vadilo pouze při ladění), ale zároveň může dojít zkratu při programování součástky.
Součástka musí být uvedena do programovacího režimu z resetu, ale protože PVKPro nedokáže odpojit napájecí napětí, jediný způsob jak resetovat součástku je pomocí -MCLR.
I přes tato omezení však PVKPro nedokáže dodržet programovací specifikace těchto nových procesorů.

17. Lze nějakým způsobem zautomatizovat programování sériových čísel nebo hardwarových adres apod.?

Ano, pomocí funkce Sériová čísla. Použité sekvence sériových čísel nemusí jít na první pohled nijak logicky za sebou: mohou být popsána v textovém souboru. Jeho napsání je otázkou několika málo okamžiků. Sériové číslo není vázáno na jedno umístění - může být na několika místech najednou - třeba v paměti programu i datové EEPROM paměti. Pokud ale použitá sériová čísla vyhovují nějakému logickému uspořádání (jsou hexadecimální nebo dekadická (=BCD), obalená ASCII znaky, instukcemi retlw apod...), mohou být generována rovnou v programu pomocí předepsaných pravidel. Více v kapitole o sériových číslech.

18. Jakým způsobem se dají ovládat základní funkce programu UP z jiného programu (např. editoru)?

  • Pro jednoduché naprogramování lze spouštět program UP z příkazové řádky s parametrem. Program se spustí, naprogramuje a vrátí návratový kód. Více se dozvíte v sekci tipy a triky.
  • Program může být stále spuštěn, minimalizován do lišty a příkazy z příkazové řádky stále přijímá - otevření souboru nebo programování.
  • Na programátoru PRESTO lze použít tlačítko GO např. pro naprogramování součástky. Stačí, aby program UP byl spuštěn a minimalizován do lišty a vybrat správné nastavení - automatické zavírání stavového okna a natáhnutí souboru vždy před programováním.
  • Při spuštěném programu lze pro základní debuggovací akce také přijímat zprávy z jiného programu. Více se dozvíte v sekci tipy a triky.

Obsah nápovědy


==========================================================================================
 Look into some example batch files to see how to work with these settings.
==========================================================================================
==========================================================================================
 This information is provided only for expert users and without any warranty.
==========================================================================================

types are
  string = is string
  integer = signed 32bit value
  boolean = accessed like integers; 0 is false, other value is true

==========================================================================================

Prog.LoadFileBfgProg
    boolean
    If true, hex file is reloaded every time part is programmed

File.AutoCheck
    boolean
    If true, hex file is periodically tested for changes

File.LoadOnModify
    boolean
    If true, when change is detected, question pops up

FileLoad.ClearData
FileLoad.ClearCfg
FileLoad.ClearID
FileLoad.ClearCode
    boolean
    If true, contents of code memory are erased (in UP memory) before new file is loaded;
    all cells not stored in hex file will have its default (blank) state

Part.Name
    string
    Selected part name

Prog.Name
    string
    Selected programmer name
        values are PICCOLO, PICCOLOG, CAPRPI, PVKPROP, PICQUICK, PREST

Prog.BusSpeed
    integer
    Communication speed
        1 = Accelerated
        2 = Fast
        3 = Medium
        5 = Slow

Prog.ICSP
    boolean
    ICSP settings

Prog.PortBase
    integer
    Base address of used LPT port or serial number of device

LanguageFile
    string
    Relative path to used languange file

Project.File
    string
    Project file path

Project.Present
    boolean

Project.Template
    boolean
    If true, user is asked for project name before its saving

HexFile.File
    string
    Opened hex file path

HexFile.Present
    boolean

HexFile.Template
    boolean
    If true, user is asked for name before saving

HexFile.SaveVoid
    boolean
    If true, empty cells are saved too

Prog.QBfrEraseFlash
    boolean
    Question before erasing flash parts

Prog.QBfrProgFlash
    boolean
    Question before programming flash parts

Prog.QBfrProg
    boolean
    Question before programming OTP parts

Prog.QBfrDiffProg
    boolean
    Question before differential programming (of flash parts)

Prog.QBfrProgCP
    boolean
    Warning before programming part with some kind of protection

Prog.CloseStatOnGoodAct
    boolean
    If true, status window is automatically closed after read/verify etc... without errors

Prog.CloseStatOnGoodProg
    boolean
    If true, status window is automatically closed after programming without errors

Prog.SkipBlankForCfg
    boolean
    If true, no blank check of part is performed before programming configuration space

Prog.SkipBlankCheck
    boolean
    If true, no blank check of part is performed before programming

Serial
    integer
    0 = no serial numbers
    1 = serial numbers are from external file
    2 = serial numbers are computed

Serial.Step
    integer
    Stepping of serial numbers

Serial.File
    string
    File name of external file with serial numbers

Serial.File.Next
    string
    Label of serial number

Serial.Length
    integer
    If serial number is computed, serial number length (digits)

Serial.Actual
    (unsigned) integer
    If serial number is computed, actual computed serial number (if decimal, coded as BCD)

Serial.ASCII
    boolean
    If serial number is computed, If true, serial number is stored to part as ASCII characters

Serial.SaveTo
    integer
    1 = code memory
    2 = data memory

Serial.Retlw
    boolean
    If serial number is computed, If true, memory cells are filled with retlw instructions

Serial.Addr
    integer
    If serial number is computed, address where to save

Serial.CPW
    integer
    If serial number is computed, chars per word

Serial.Base
    integer
    If serial number is computer, base of serial number, can be only 10 or 16

Serial.Succ
    integer
    next serial number is
    0 = same
    1 = incremented
    2 = decremented
    3 = random (LSFR)

Serial.Order
    integer
    0 = HiLo hilo
    1 = hilo HiLo
    2 = LoHi lohi
    3 = lohi LoHi

Serial.Write.BeforeProg
    boolean
    If true, current serial number is "written" into opened hex editors just before programming the part.

Serial.Write.AfterProg
    boolean
    If true, current serial number is "written" into opened hex editors after successful programming.

Serial.Succ.AfterProg
    boolean
    If true, next serial number is generated after successful programming

ICSP.LongTime
    boolean
    If true, longer times for switching Vcc are taken

ICSP.LongTime.Time.SwOn
    integer
    Time to wait after Vcc is switched on in microseconds.

ICSP.LongTime.Time.SwOff
    integer
    Time to wait after Vcc is switched off in microseconds.

SpecSettings.PREST.Power
    integer
    0 = idle power supply is None / External
    1 = idle power supply is Internal 5V

SpecSettings.PREST.ProgPower
    integer
    0 = power supply during programming is External 2 to 5V
    1 = power supply during programming is Internal 5V

SpecSettings.PREST.i2cSpeed
    integer
    0 = 100kHz
    1 = 500kHz
    2 = 1MHz
    3 = Maximal

SpecSettings.PREST.i2cAddr
    integer
    0 = first suitable address or N/A
    1 = second suitable address
    etc...

SpecSettings.PREST.LVP
    integer
    0 = HVP method
    1 = LVP method

SpecSettings.PREST.PICAlg
    integer
    0 = automatic selection
    1 = assume VDD = 5V
    2 = assume VDD < 5V

SpecSettings.PREST.AVRXTAL.CLK
SpecSettings.PREST.AVRXTAL.RPT
    integers
    represent maximum AVR oscillator frequency
    values can be found in *.lng files at item
           MainForm.PRESTSpecForm.ComboAVRXTAL.xxx.Items where xxx is minimum
           divisor of system clock of selected AVR's SPI module. This is 2 for
           new AVRs, 3 and 4 for older AVRs and 24 for Atmel's 8051 arch.
           processors.
    These settings can be found in ini file too at
           [SpecSettings.PREST], XTALRpt and XTALClk


Okna hexeditorů

K zobrazování obsahu oblastí paměti programované součástky používá program tzv. hexeditory. Program zároveň vybarvuje jednotlivé buňky hexeditorů podle původu obsahu buňky. Při otevírání souboru lze tedy nahlédnout, které buňky byly skutečně v souboru uloženy, při programování, které byly skutečně programovány atd... Barvy pro každý z hexeditorů lze upravovat pro vlastní potřebu (doporučeno zejména na stanicích s pouze 16 barvami), viz nastavení programu, barvy.

Vybrání oblasti v hexeditoru

V editorech programové a EEPROM paměti lze vybírat oblast pomocí držení klávesy Shift. Posléze lze na vybrané oblasti provádět akce vyplnění hodnotou a doplnit instrukcí RETLW dostupné z lokálnínabídky (pravé tlačítko myši).

Editor programové paměti

Menu: Zobrazit -> Paměť programu

Klávesová zkratka pro zobrazení: | F10
Klávesová zkratka pro zavření: | Esc

Editor programové paměti slouží k zobrazení kódu hlavního programu (u procesorů) resp. obsahu součástky u paměťových čipů EEPROM (24xx, 93xx, ...).

Editor datové paměti EEPROM

Menu: Zobrazit -> Paměť EEPROM

Klávesová zkratka pro zobrazení: | F11
Klávesová zkratka pro zavření: | Esc

Editor datové EEPROM slouží k zobrazení některé vedlejší paměťové oblasti součástky, tj. většinou datové EEPROM paměti. Tuto paměť neobsahují všechny součástky, proto mohou volby pro její zobrazení být nedostupné.

Editor konfigurační paměti

Menu: Zobrazit -> Konfigurační paměť

Klávesová zkratka pro zobrazení: | F12
Klávesová zkratka pro zavření: | Esc

Editor konfigurační paměti slouží k zobrazení nastavení, které se též programují do součástky, ale nejsou obsaženy ani v jedné z předchozích oblastí. Taková data neobsahují všechny součástky, proto mohou být volby pro její zobrazení nedostupné.

Pro pokročilé uživatele:

I tato konfigurační oblast, prestože může být reprezentována jako "nastavení" nebo "výběry" je stále pouze paměť, která je rozdělena na jednotlivá slova nebo byty. Proto lze konfigurační oblast zobrazit jako tyto buňky, a to buď nastavením Nastavení -> Nastavení programu -> Editory -> V okně konf. paměti zobrazit přímo konf. slova, nebo přímo dvojitým kliknutím do okna konfigurační paměti.

V okně konfigurační paměti jsou uloženy též tzv. ID pozice součástky. (pozor - nikoliv Device ID součástky). Do ID pozic si může uživatel naprogramovat jakoukoli hodnotu, která může pomáhat při identifikaci součástky, např. sériové číslo. Tyto ID pozice lze vždy přečíst, i když je součástka chráněna Code nebo Data Protection.

Podle doporučení firmy Microchip by se neměly do ID pozic programovat libovolné hodnoty, ale do každé buňky jen předepsaný počet bitů (většinou 4) a zbytek ID pozic by měl obsahovat předepsanou hodnotu. Toto maskování lze v programu zapnout pomocí nastavení Nastavení -> Nastavení programu -> Editory -> Maskovat ID pozice ....

Obsah nápovědy


Nastavení programu

Menu: Nastavení -> Nastavení programu...

Klávesová zkratka: Shift+F10

Nastavení programování

Menu: Nastavení -> Nastavení programu...; záložka Programování

Klávesová zkratka: Shift+F10

V tomto okně lze nastavit veškerá obecná nastavení programování.

(Nastavení týkající se jednotlivých programátorů (např. nastavení komunikačního portu, režim ICSP apod.) jsou v nastavení programátoru; Pro nastavení typu programované součástky, nebo u pamětí výběr organizace, je zvláštní okno pro výběr součástky

  • Načíst soubor .HEX vždy znovu před programováním
    Při zapnutém nastavení program vždy před jakýmkoli požadavkem pro programování součástky přečte aktuální soubor z disku. Pokud je zároveň nastaveno používání sériových čísel se zápisem čísel vždy před programováním, jako první se soubor přečte a teprve pak se připíše aktuální sériové číslo.
  • Zeptat se před smazáním / programováním / programováním OTP / rozdílovým programováním / programováním Code/Data protection
    Sada nastavení ovlivňující, které potvrzovací dialogy bude program vyžadovat a které nikoliv. Program se ptá pouze jednou, kromě případu programování Code/Data protection. Pokud se program před programováním musí uživatele zeptat na doplňující informaci (např. Vložená součástka má aktivní Code Protection, chcete ji smazat celou?), na případné další potvrzování programování již nečeká.
  • Automaticky zavřít stavové okno
    Při zapnutém nastavení program (pokud nedošlo k chybě či varování po dokončení programování / mazání / čtení apod.) zavře stavové okno a nečeká na jeho potvrzení uživatelem.
    Za "čtecí" akce se považuje čtení, verifikace, blank check, za "programovací" akce se považuje programování a mazání.
  • Zvuková signalizace
    Při zapnutém nastavení program vyvolá standardní "systémový výkřik".
  • Programovaní ICSP
    Programování pomocí ICSP kabelu nelze použít na všechny typy součástek, naopak některé typy programátorů vyžadují programování některých součástek jen pomocí ICSP kabelu.
    Pro programování pomocí ICSP kabelu přímo v osazené DPS je nastavení Delší čas pro zapojení napětí, které počítá s delší časovou prodlevou při připojování součástky k napětí. U programátoru PICQUICK se provádí nadproudová ochrana, tzn. po určité časové prodlevě se provede test na nadměrný proud. Tato časová prodleva je při režimu ICSP řízena přímo touto nastavenou hodnotou. Delší než potřebný čas zvyšuje pravděpodobnost zničení součástky při nesprávném zapojení, při kratším čase mohou ještě obvody programátoru detekovat nadměrný proud. Detekce nadměrného proudu je cca 100mA na napájecím i programovacím napětí.
  • Neprovádět blank check
    Konfigurační slovo umí většina přepisovatelných součástek přepsat, aniž by musela být celá součástka smazána. Přeskočením blank check konfiguračního slova se této vlastnosti využívá, takže program bude nesmazané slovo ignorovat. Toto nastavení se netýká programování celé součástky, kde se součástka maže kompletně celá, ale pouze přepisování konfiguračního slova. Přeskakování blank check po smazání je nastavení, které lehce urychlí programování a je vhodné zejména při ladění. Špatně smazaná součástka se také špatně naprogramuje a chyba se odhalí pouze o trochu později - na druhou stranu, součástka se špatně smaže jednou za stovky pokusů.
  • Neprovádět kontrolu naprogramování prázdných pozic na konci paměti
    Pokud je na konci programované paměti oblast, která obsahuje jen defaultní hodnoty, nebude se verifikovat. Tato funkce umožňuje zrychlit verifikaci naprogramované paměti, na obsahu prázdné paměti na konci obvykle nezáleží.
  • Nekontrolovat po programováni
    Tato volba umožňuje zcela vypnout verifikaci naprogramované součástky. Vypnutím verifikace lze dosáhnout značného zrychlení programovacího procesu při vývoji. Volba nesmí být použita ve výrobě, při vypnuté verifikaci nelze zaručit správnost naprogramovaného obsahu.

Nastavení panelů - panelu nástrojů a stavového panelu

Menu: Nastavení -> Nastavení programu...; záložka Panely

Klávesová zkratka: Shift+F10

  • Panel nástrojů je lišta s tlačítky rychlé volby pod výběrem menu programu. Pokud chcete lištu odstranit, možnosti zobrazit nápisy i zobrazit ikony na tlačítkách toolbaru zrušte.
  • Stavový panel (panel ve spodní části okna) lze odstranit. Jsou v něm zobrazeny informace o programátoru, ICSP režimu, součástce, změně souboru od posledního uložení apod. Stavový panel reaguje na dvojité kliknutí a nabídku na pravém tlačítku myši.
  • Počítadlo sériové výroby se zobrazuje na stavovém panelu a ukazuje počet programovaných součástek a počet úspěšně programovaných součástek.

Nastavení ukládání a čtení souborů

Menu: Nastavení -> Nastavení programu...; záložka Soubory

Klávesová zkratka: Shift+F10

  • Styl ukládání souborů
    Slouží k možnosti neukládat vždy všechny oblasti do .HEX souboru, ale pouze některé.
  • Kontrolovat změny v .HEX souboru
    Slouží zejména při ladění programu k opětovnému přečtení souboru po detekci změny data vytvoření souboru.
  • Ukládat typ součástky do .HEX souboru
    Za konec Intel HEX souboru připíše ještě jeden řádek s typem vybrané součástky, pro kterou byl soubor uložen. Takovýto soubor nevyhovuje formátu Intel HEX, avšak většina programů pracujících s Intel HEX formátem tento řádek ignoruje. Více viz popis Intel HEX souborů.
  • Kontrolovat typ součástky při čtení .HEX souboru
    Pokud byl do .HEX souboru uložen i typ součástky a typ součástky v souboru a vybrané se neshodují, program na tuto neshodu upozorní.
  • Do souboru .HEX ukládat i prázdné pozice
    Pokud se nebudou ukládat všechny pozice, výsledný soubor bude menší, ale může dojít k nepříjemnostem, protože za "prázdnou" pozici se považuje taková buňka, která má obsah samé jedničky (tedy FFFh, 3FFFh atd...) což může být i smysluplná instrukce (např. 3FFFh je addlw -1)
    Protože ale program ukládá soubory vždy po větších blocích, osmi nebo šestnácti bytech, výpadek uložení takovéto instrukce je nižší.
  • Inicializovat paměť programu / EEPROM / Cfg / ID před čtením
    znamená, že před čtením souboru se tato oblast vyplní jedničkami a pak se začne soubor číst. Takto se smažou všechny pozice, které v souboru nejsou uloženy.
  • Přečíst paměť EEPROM / ID ze součástky místo čtení ze souboru
    znamená, že program danou oblast pro eliminování chyby přepsání dané oblasti raději vyplní obsahem součástky vložené v programátoru.
    Upozornění! Tato funkce může způsobit práci s programátorem v nečekané chvíli, např. zapnutí programu.

Nastavení barev hexeditorů

Menu: Nastavení -> Nastavení programu...; záložka Barvy

Klávesová zkratka: Shift+F10

Barvy hexeditorů lze měnit podle vlastních potřeb a fantazie.

Nastavení hexeditorů a okna s konfigurací součástky

Menu: Nastavení -> Nastavení programu...; záložka Editory

Klávesová zkratka: Shift+F10

  • Zúžený hexeditor paměti kódu
    Nastavení způsobí zúžení editoru z původních šestnácti buňek na pouze osm. Nastavení je zejména pro malé monitory. Nastavení se může samo změnit při změně součástky.
  • Maskovat ID pozice
    Podle specifikací doporučeno do ID pozic dávat pouze maskovaná data, kde jsou využitelné většinou pouze čtyři bity. Při povolení tohoto nastavení bude program požadovanou bitovou masku zavádět.
  • Přímá editace pojistek
    Doporučeno pouze pro pokročilé uživatele.
    Přímou editací pojistek se rozumí přímé vepsání hodnoty konfiguračního slova. Při zadání "nepřeložitelného" slova program nerozpoznané položky nechá nezměněné, pokud je uživatel sám nezmění. (Většinou se týká pojistek CP, které mají několik bitů, ale pouze dvě hodnoty.)

Sériová čísla

Menu: Nastavení -> Nastavení programu...; záložka Sériová čísla

Klávesová zkratka: Shift+F10

O sériových číslech, možnostech generování a další souvislosti viz zvláštní stránka o sériových číslech.


Výběr programátoru

Výběr programovacího zařízení

Menu: Nastavení -> Výběr zařízení...

Klávesová zkratka: Shift+F4

Tento dialog lze vyvolat i dvojklikem na stavový panel v dolní části okna programu.

Výběr programátoru / portu

V položce Programátor vyberte požadovaný programátor a zvolte požadovaný port. Pokud se vámi požadovaný port nenachází v nabídce, můžete zvolit Jiný a zadat bázovou adresu paralelního portu, kde je programátor připojen.

Režim ICSP

Informuje programátor a program o tom, že bude použito programování pomocí ICSP kabelu. Některé programátory nemohou programovat v ICSP režimu nebo naopak programují pouze v ICSP režimu, a proto nastavení ICSP nemusí jít vždy měnit.

Režim ICSP lze měnit i výběrem z lokální nabídky (pravé tlačítko myši) na stavovém panelu v dolní části okna programu.

Rychlost komunikace

Standardní rychlost komunikace je rychlá. U dlouhých datových kabelů k programátoru je někdy vhodné zvolit rychlost nižší.

Zrychlená komunikace je v některých případech až o polovinu rychlejší než rychlá komunikace, ale na některých počítačích nemusí fungovat nebo může být nespolehlivá.


Klávesové zkratky

Úprava klávesových zkratek

Menu: Nastavení -> Úprava klávesových zkratek...

Klávesová zkratka: Ctrl+K

Pomocí tohoto dialogového okna lze měnit klávesové zkratky nebo definovat nové klávesové zkratky pro nové akce, např. naprogramovat vše kromě paměti EEPROM.

Obsah nápovědy