Keil Program atma / Debug Hatası

Başlatan engineer42, 05 Kasım 2022, 16:51:28

engineer42

Merhabalar,

Nuvoton M031LC2AE için Keil üzerinde çalışma yapıyorum. Keil bugüne kadar herhangi bir hata vermezken bugün program yüklerken arada "Failed to verify at ...." deyip programı yüklemiyor. Aynı pcb için nerdeyse 10 gündür debug yada program atabiliyorken bugün böyle bir hata alıyorum. Acaba Keil de bir yeri kurcaladım mı diye yeni proje oluşturup deniyorum ama durum aynı. Arada bir şaşırıp program atabiliyorum ama çözümünü bulamadım. Daha önce başına gelmiş olan var mı böyle bir durum yada çözüm önerisi var mıdır?

Kırambor

Projenizde options for target'ı açıp debug bölümünde kullanılan debugger seçeneğinin yanındaki settingse bakabilir misiniz? Oradaki işlemci ile sizinki eşleşiyor mu?

engineer42

Sorunu Keil i tekrar yükleyerek çözdüm. Ama başka bir sorun ortaya çıktı. Daha önce aynı donanım ve aynı kod ile uart haberleşmesi yapıyordum. Şu anda ise eğer Timer açıksa veri gönderemiyor Timer açık değilse sürekli saçma sapan şeyler gönderiyor. Alıcı taraf ile haberleşmem kesildiği için neler oluyor diye başka bir uart birimini kullandım ama yine aynı sorun oluştu. Debug yaparken adım adım ilerlediğimde veriyi gönderebiliyor. Kristal i devre dışı bırakıp HIRC ile çalıştırdım ama sorun devam ediyor.
    CLK_EnableXtalRC(CLK_PWRCTL_HIRCEN_Msk);  
    CLK_WaitClockReady(CLK_STATUS_HIRCSTB_Msk);
    CLK_SetHCLK(CLK_CLKSEL0_HCLKSEL_HIRC, CLK_CLKDIV0_HCLK(1));
    CLK->PCLKDIV = CLK_PCLKDIV_APB0DIV_DIV1 | CLK_PCLKDIV_APB1DIV_DIV1;

 		CLK_EnableModuleClock(TMR1_MODULE);
 		CLK_SetModuleClock(TMR1_MODULE,CLK_CLKSEL1_TMR1SEL_HIRC,0);
		
    CLK_SetModuleClock(UART2_MODULE, CLK_CLKSEL3_UART2SEL_HIRC, CLK_CLKDIV4_UART2(4));
    CLK_EnableModuleClock(UART2_MODULE);
    
    SYS_ResetModule(UART2_RST);
     
    SystemCoreClockUpdate();  
				 
        SYS->GPC_MFPL = (SYS->GPC_MFPL & ~(SYS_GPC_MFPL_PC4MFP_Msk | SYS_GPC_MFPL_PC5MFP_Msk)) |    \
                    (SYS_GPC_MFPL_PC4MFP_UART2_RXD | SYS_GPC_MFPL_PC5MFP_UART2_TXD);

        UART_Open(UART2,9600);

        NVIC_SetPriority(UART02_IRQn, 0);
        NVIC_EnableIRQ(UART02_IRQn);
     


 

power20

Uart init, open? rutini timeri, oscyi bozuyor olabilir

engineer42

Alıntı yapılan: Kılıç - 11 Kasım 2022, 16:06:52Uart init, open? rutini timeri, oscyi bozuyor olabilir
Aynı kodlarla daha önce haberleşme yapabiliyordum. Nuvoton örnek kodları çalıştırdığımda da aynı problem oluyor.

power20

Başka timer kullanınız. Örn timer1 değil de timer2 olsun.

engineer42

Alıntı yapılan: Kılıç - 11 Kasım 2022, 16:45:01Başka timer kullanınız. Örn timer1 değil de timer2 olsun.

Daha önce denemiştim tekrar denedim ama çözülmedi. Haberleşmede ki problem frekans kaynaklı görünüyor ama hem kristal hem de dahili osilatör de aynı problem oluyor. Debug yaparken register değerlerini kontrol ediyorum. Reference Manual de bulunan değer ile aynı. Çözümü bulamadım.

Kırambor

Acaba timer'in bir count süresi çok kısa olduğu için işlemciye yükleniyor olabilir misiniz ?