Da, ja se i pomazem onako kako si ti naveo. Ali svako ubacivanje pomocne varijable zahteva ponovni prevod i programiranje MCU-a. Zeleo sam to da izbegnem.
Danas sam probao varijantu sa aktiviranjem SWI ali na triger koji se desava u moda kada se postigne adresa B pod uslovom da je pre toga program prosao kroz A. To je dobro radilo. Sada treba osmisliti SWI proceduru.
Za postavljanje A i B ne treba ponovno prevodjenje programa, Preko BDM linije upisu se adrese u ova dva komparatora. Ostaje mi da u RAM-u odvojim 2 bajta za pointer na varijablu koju zelim da kontrolisem, a SWI procedura ce je procitati i smestiti na jos jedno odvojeno mesto u RAM-u koje ce sadrzati vrednost varijable u trebutku kada se desio triger. Jos ostaje da se u SWI proceduri aktivira sledeca sesija dibagiranja. Procenjujem da ce SWI procedura potrositi oko 40 ciklusa sto na 20MHz iznosi 2us. Ovo moram detaljnije da proverim.
Kada sam mislio na realno vreme smatrao sam da budu zadovoljene 2 stvari: 1) da MCU radi i dalje punom brzinom i 2) da se vrednost varijable dobije na mestu koje je oznaceno u programu. Pri tome nisam mislio da se ono istovremeno pojavi na monitoru, vazno je da znam da je to vrednost u toj tacki programa.
Izbegao bih da ostavim sirove mogucnosti BDC-a jer prosecni programer treba da uci kako on radi da bi ga koristio. Bolje je izdvojiti neke vazne stvari i predstaviti ih razumljivo i da budu lake za koriscenje.
Vrlo mi je interesantna statistika koliko je puta program prosao kroz koju naredu (adresu na kojoj je kod naredbe). Ovo se teoretski moze dobiti ali zahteva da se snimanje jednog ovakvog histograma vrsi mozda i ceo dan. No to je sada sporedno, videcu.
Hvala na trudu.
Pozdrav.