Atollic "Temporary breakpoint 1, main () at ../src/main.c:16" Hatası

Başlatan pwr_24, 16 Haziran 2019, 00:39:27

pwr_24

Merhaba ubuntu işletim sistemi üzerinde stm32f0 serisine başladım. Basit bir LED yapma programını debug ettiğimde bu hatayı alıyorum. Çözümü nasıldır. Teşekkürler
#include "stm32f0xx.h"

void wait (int x)
{
	volatile int i,j;
	for (i=0; i<x; i++)
	{
j++;
	}
}


int main(void)
{
RCC->AHBENR|=RCC_AHBENR_GPIOCEN;
GPIOC->MODER|=GPIO_MODER_MODER6_0;
GPIOC->OTYPER &= ~(GPIO_OTYPER_OT_6);
GPIOC->OSPEEDR|=GPIO_OSPEEDER_OSPEEDR6;
GPIOC->PUPDR &=~(GPIO_PUPDR_PUPDR6);


  while (1)
  {
GPIOC->BSRR|=GPIO_BSRR_BS_6;
wait(112000);
GPIOC->BRR|=GPIO_BRR_BR_6;
wait(100000);
  }
}

Temporary breakpoint 
1, main () at ../src/main.c:16
16	RCC->AHBENR|=RCC_AHBENR_GPIOCEN;
No breakpoint number 2.

Tagli

TrueStudio projesini zipleyip paylaşırsan bir deneyelim. main başında breakpoint olması normal, galiba temporary dediği o. Ben asıl "No breakpoint number 2." kısmından şüpheleniyorum.
Gökçe Tağlıoğlu

pwr_24

Alıntı yapılan: Tagli - 16 Haziran 2019, 01:13:06TrueStudio projesini zipleyip paylaşırsan bir deneyelim. main başında breakpoint olması normal, galiba temporary dediği o. Ben asıl "No breakpoint number 2." kısmından şüpheleniyorum.
Debug işlemini yapıyorum ama kendiliğinden başarılı sonucu verip debug i bitiremiyor. Mecbur ben disconnect ediyorum ve daha sonra karta yukledigim komut çalışıyor ilginç biçimde.

Tagli

Gece dalgınlıkla saçmalamışım. Elimizde kart olmadan debug yapmayı denemek mümkün olmayacak muhtemelen.

Benim de TrueStudio'da sürekli karşılaştığım bir sorun var. Kırmızı kareye basıp "terminate" dediğimde bazen session'u kaldırmıyor ve C görünüşüne geçmiyor. C görünümüne geçiş yine yukarıdan tıklanıp yapılabilir ama bir daha debug da başlamıyor, "zaten mevcut bir session var" gibi bir hata veriyor. Bu olduğunda, sol üstteki uygulama ağacından uygulamaya sağ tık yapıp "terminate & remove" demek gerekiyor. Sinir bozucu bir durum. 9.0.0'dan veri denediğim her versiyonda var bu sorun (Ubuntu'da kullanıyorum).

TrueStudio'nun bir diğer eksiği ise debug etmeden sadece kod at diyememek. Acaba senin bahsettiğin bu mu? Kod atmak için debug'ı başlatmak gerekiyor. Normalde (üstteki paragrafta anlattığım sorun olmazsa) terminate'e basıldığında işlemci resetleniyor ve yeni kod çalışmaya başlıyor. Aslında debug başlatıldığında zaten yeni kod işlemciye atılıyor.
Gökçe Tağlıoğlu

pwr_24

Alıntı yapılan: Tagli - 16 Haziran 2019, 09:30:28Gece dalgınlıkla saçmalamışım. Elimizde kart olmadan debug yapmayı denemek mümkün olmayacak muhtemelen.

Benim de TrueStudio'da sürekli karşılaştığım bir sorun var. Kırmızı kareye basıp "terminate" dediğimde bazen session'u kaldırmıyor ve C görünüşüne geçmiyor. C görünümüne geçiş yine yukarıdan tıklanıp yapılabilir ama bir daha debug da başlamıyor, "zaten mevcut bir session var" gibi bir hata veriyor. Bu olduğunda, sol üstteki uygulama ağacından uygulamaya sağ tık yapıp "terminate & remove" demek gerekiyor. Sinir bozucu bir durum. 9.0.0'dan veri denediğim her versiyonda var bu sorun (Ubuntu'da kullanıyorum).

TrueStudio'nun bir diğer eksiği ise debug etmeden sadece kod at diyememek. Acaba senin bahsettiğin bu mu? Kod atmak için debug'ı başlatmak gerekiyor. Normalde (üstteki paragrafta anlattığım sorun olmazsa) terminate'e basıldığında işlemci resetleniyor ve yeni kod çalışmaya başlıyor. Aslında debug başlatıldığında zaten yeni kod işlemciye atılıyor.
Aynı sorunu bende yaşıyorum.


Birde benim IDE de toolbar kayboldu. Uğraştım bulamadım show toolbar kısmını

Tagli

Toolbar meselesi GTK3 ile ilgili bir sorun. Tam olarak gidermek mümkün değil, ancak TrueStudio'nun GTK2 ile çalışmasını sağlayıp sorunun etrafından dolaşabiliyorsun.

Şu şekilde: Root altında /opt klasörüne git. Oradan Atolic_TrueStudio.../ide içinde TrueSTUDIO.ini diye bir dosya var. Onun içine aşağıdaki satırları eklemelisin:
--launcher.GTK_version
2
Neresine eklediğin fark etmiyor sanırım. Ben "Atollic TrueSTUDIO for STM32" satırından sonra ekledim bu yukarıdaki iki satırı. Tabi dosyayı değiştirebilmek için root iznine ihtiyacın var.

Sonrasında TrueStudio'yu açtığında ihtiyaç duyduğun toolbar'lar gelecektir.
Gökçe Tağlıoğlu

pwr_24

Alıntı yapılan: Tagli - 16 Haziran 2019, 15:48:34Toolbar meselesi GTK3 ile ilgili bir sorun. Tam olarak gidermek mümkün değil, ancak TrueStudio'nun GTK2 ile çalışmasını sağlayıp sorunun etrafından dolaşabiliyorsun.

Şu şekilde: Root altında /opt klasörüne git. Oradan Atolic_TrueStudio.../ide içinde TrueSTUDIO.ini diye bir dosya var. Onun içine aşağıdaki satırları eklemelisin:
--launcher.GTK_version
2
Neresine eklediğin fark etmiyor sanırım. Ben "Atollic TrueSTUDIO for STM32" satırından sonra ekledim bu yukarıdaki iki satırı. Tabi dosyayı değiştirebilmek için root iznine ihtiyacın var.

Sonrasında TrueStudio'yu açtığında ihtiyaç duyduğun toolbar'lar gelecektir.
Toolbar olayı çok sorun değil ama derlerken çok ilginç komutları başarılı şekilde mcu'ya atıyor ama disconnect yapmadan çalışmıyor varmı çözümü bilmiyorum.

Tagli

Aslında bu normal bir durum. Varsayılan olarak, IDE main'in başına bir breakpoint yerleştiriyor. Normalde debug'u başlatınca kod işlemciye yüklenir. Ama tabi kod main'e gelince (startup.s'teki komutlardan hemen sonra) durur. Yukarıda toolbar'da Resume dersin ve işlemci sanki resetten yeni çıkmış gibi çalışmaya başlar. Elbette daha önce de dediğim gibi, Terminate dersen debugger bağlantısı kopar, işlemci resetlenir ve kod yine çalışmaya başlar.

Ben bu şekilde çalışmasına alıştım, yani Debug dedikten sonra Resume butonuna basmaya. Ama eğer main başına konan breakpoint'i istemiyorsan bunu iptal etmenin bir yolu var sanırım. Emin olmamakla birlikte, Debug Configurations'ta Startup Script kısmına gelip tbreak main satırını başına bir # koyarak devre dışı bırakırsan, main'e breakpoint yerleştirilmesini engelleyebilirsin sanıyorum.
Gökçe Tağlıoğlu

pwr_24