Pomalé krokování v MPLAB

Dobrý den,
obcas programuji mikroradice PIC16xx, 18xx. Programy píši v assembleru. Používám MPLAB IDE v. 8.80 ve spojení s MPLAB ICD-2 (originál - žádný klon). Programy ladím v režimu ICD2 - tedy přímo v paměti mikrořadiče.

Celou dobu, co se tímto zabývám, nadávám na velmi pomalé krokování programu při STEP INTO/STEP OVER (v režimu MPLAB ICD 2 - ne tedy v režimu MPLAB SIM!). Jeden krok programu se vykoná v průměru za cca 1 - 2 sec.

Dnes ke mně přišel kamarád, který programuje rovněž v assembleru, ale používá PICKIT3, o kterém jsem si vždy myslel, že je horší, než moje ICD-2 (taky je podstatně levnější). Když viděl to moje pomalé krokování, nechtěl tomu věřit. Tvrdí, že u jeho PIKITu není žádná znatelná prodleva mezi jednotlivými kroky a dokonce, že když podrží klávesu F7 (STEP INTO), tak mu ta zelená šipka - program counter, běží přes výpis programu prakticky plynule!

Počítač mám sice starší (PENTIUM4/2,8GHz) + WIN XP, ale tím to snad ani být nemůže …

Kmitočet procesoru, který by to snad mohl ovlivnit, mám nastaven určitě správně (příklad z dneška - PIC18F14K22, interní oscilátor f=16MHz). Správnost kmitočtu jsem pro jistotu kontroloval osciloskopem (na výstupu, který je k tomu určen), vše je OK.

Mohu prosím vědět, jaké s tímto máte zkušenosti? Pokud je to totiž pravda, tak mám možná někde v MPLABu něco špatně nastaveno. Jenže jsem několikrát procházel všemožná nastavení MPLABu a nepřišel jsem na nic.

Děkuji za ochotu.
Vlasta.

Cau,debug pouzivam velice zridka a kdyz jsem ho pouzit tak jsem na tom stejne jaky ty … :unamused: ,
mam taky XP ale PK2, s PK3 jsem to neskousel

Zdravím,

debug s PK2 používám a je to opravdu pomalejší záležitost. hledal sem nastavení a nikde nic, ale ono to ani moc rychlé být nemůže. jednak PK2 neběží plnou rychlostí USB, PK3 už běží plnou (ale jistotu uplně nemám). a při jednom kroku při debugu se musí přenášet docela dost informací, tak nějak všechny hodnoty registrů z PICu a vyzobrazit v MPLABu, takže jeden krok tu vteřinu zabere no… proto používám MPLAB SIM pro kontrolu a ověření funkce a debug už pak používám tak že spustim program a zastavuju ho v předem nastavenejch breakpointech a zkontroluju hodnoty v registrech.

Takže by se z toho dalo logicky vyvodit, že možná:

  1. základní deska onoho staršího PC má nejspíš jen USB1.1, nebo má obojí porty a ICD-2 je zapojen v pomalejším (nebo je zapojen např. v pomalém USB HUBu - pokud tedy onen ICD-2 vůbec má Full-speed USB)
  2. že ta XP možná jsou jen SP1 (USB2.0 podporoval až SP2). Stálo by za ověření - verze XP se dá zjistit snadno, značku a typ základní desky musí upřesnit tazatel.

Verze XP se pozná buď podle sestavení (Spustit - cmd.exe - napsat příkaz “ver”, SP2 se hlásí jako “Microsoft Windows XP (Verze 5.1.2600))”, nebo klasicky ve Vlastnostech “Tento počítač - Vlastnosti - Obecné”; Výrobce a typ základní desky, pokud není znám, prozradí např. programy CPU-Z nebo Everest Home (a mnoho dalších).

Našel jsem k tomu ještě nějaké “tipy a triky” staršího data - ovladače se musí instalovat v jistém daném pořadí
sisko.colorado.edu/ASEN4519/MPLA … lation.htm