Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Z debuggerem działa, a bez nie

mby 31 Paź 2010 22:41 747 3
  • #1 31 Paź 2010 22:41
    mby
    Poziom 8  

    Witam. Mam układzik prosty na dspic30. Problem polega na tym, że układ wyraźnie działa w trybie debuggera - używam pickit2. Po wypięciu debuggera układ nie działa. Układ jest poprawnie zasilony, kwarc wraz z dwoma kondensatorami poprawnie podpięty. Mam źle zrobiony układ resetu, ale po podaniu VDD na MCLR układ również nie rusza. Co śmieszniejsze - zmierzyłem napięcie na pinie OSC1 względem masy. Wynosi ono około 2V przy zasilaniu 4,5V. Wygląda więc na to że generator działa. Kwarc to 12MHz. Podaje konfiguracje:

    Code:

            config __FOSC, CSW_FSCM_OFF & HS

            config __FWDT, WDT_OFF             

            config __FBORPOR, PBOR_OFF & MCLR_EN
                                               
                                               
            config __FGS, CODE_PROT_OFF   

    próbowałem też
    Code:

    config __FOSC, CSW_FSCM_OFF & XT
    .
    oraz wiele innych rodzajów konfiguracji.
    Co może być powodem takiego zachowania pica?
    Prosze o pomoc.[/code]

    0 3
  • #2 01 Lis 2010 08:58
    kubus_puchatek
    Poziom 17  

    obejrzyj wygenerowany listing. prawdopodobnie z powodu jakiejś głupoty typu niezadeklarowanej zmiennej w zasięgu czy innego takiego kompilator nie wygenerował kawałka kodu ASM i nie umieścił w hex-ie. W efekcie w trybie debugera wykonuje się na PC poprawnie bo jest śledzony kod C ale za to w procku nie ma odpowiednich dla danego kawałka kodu C instrukcji asemblera.

    0
  • #3 01 Lis 2010 12:52
    mby
    Poziom 8  

    Cały projekt był pisany w asm :)

    Generalnie nie ma ani jednego ostrzezenia w listingu. Martwi mnie tylko to:

    Dynamic Memory Usage

    region address maximum length (dec)
    ------ ------- ---------------------
    heap 0 0 (0)
    stack 0x864 0x79c (1948)

    Maximum dynamic memory (bytes): 0x79c (1948)

    Czy to normalne ze wyrzucil taka ilosc potrzebnej pamieci na stacku?

    0
  • #4 01 Lis 2010 18:27
    kubus_puchatek
    Poziom 17  

    w takim razie nie bardzo pomogę. Ten opisany przeze mnie numer znam z NEC 78K i z AVR na GCC a nie siedzę od dłuższego czasu na PIC więc nie pomogę :/

    0