Picproje Elektronik Sitesi

MİKRODENETLEYİCİLER => ARM => Konuyu başlatan: mr.engineer - 01 Haziran 2020, 17:32:02

Başlık: GCC
Gönderen: mr.engineer - 01 Haziran 2020, 17:32:02
Merhaba,

Daha önce bu ayrımı bilmiyordum. ARM Compiler ve GCC compiler diye iki seçenek varmış. Bir IDE'de GCC compiler ile ARM tabanlı işlemciyi nasıl kodlanıyor? İkisi arasındaki fark nedir?
KEIL'da GCC'yi seçtim ama hata alıyorum. GCC'yi ayrıca indirmem mi gerekiyor?
Başlık: Ynt: GCC
Gönderen: sımışka - 01 Haziran 2020, 20:42:44
GCC bilgisayarınızda olması gerekiyor.

Open the dialog Project - Manage - Project Items - Folders/Extensions.

Prefix: arm-none-eabi-
Folder: C:\Program Files (x86)\GNU Tools ARM Embedded\6 2017-q2-update\

http://www.keil.com/support/man/docs/uv4/uv4_gnucomp.htm#:~:text=Arm%20Keil%20MDK%20can%20be,Project%20Items%20%2D%20Folders%2FExtensions.
Başlık: Ynt: GCC
Gönderen: Tesla.25 - 01 Haziran 2020, 21:04:07
Hemen hemen tüm gömülü sistem derleyicileri GCC tabanlı oluyor. Debian tabanlı bir Linux kullanıyorsanız
sudo apt-get install gcc build-essentialkomutu ile sistemine kurabilirsiniz.

Windows kullanıyorsanız ya MinGW indirip gerekli sistem yolu falan ayarlamaları yapacaksınız ya da özel bir yazılım kullanıyorsanız kendi sitesindeki gerekli talimatları uygulayacaksınız.
Başlık: Ynt: GCC
Gönderen: mr.engineer - 01 Haziran 2020, 23:34:18
Alıntı yapılan: sımışka - 01 Haziran 2020, 20:42:44GCC bilgisayarınızda olması gerekiyor.

Open the dialog Project - Manage - Project Items - Folders/Extensions.

Prefix: arm-none-eabi-
Folder: C:\Program Files (x86)\GNU Tools ARM Embedded\6 2017-q2-update\

http://www.keil.com/support/man/docs/uv4/uv4_gnucomp.htm#:~:text=Arm%20Keil%20MDK%20can%20be,Project%20Items%20%2D%20Folders%2FExtensions.

Evet oldu. ARM Compiler ile GCC arasındaki fark nedir? GCC ücretsiz olduğu için daha çok kullanılıyor demişler. Başka bir sebep var mı?
Başlık: Ynt: GCC
Gönderen: sımışka - 02 Haziran 2020, 07:55:30
Aynı optimizasyon seviyesinde daha düşük boyutta kod çıkarıyor arm compiler. Ücretli olmasının en büyük sebebi bu. Ticari ve işlemci bellek kullanımının kritik olduğu projelerde genelde kullanılıyor.
Başlık: Ynt: GCC
Gönderen: mr.engineer - 02 Haziran 2020, 10:58:37
Hocam aynı C kodunu iki derleyici ile ayrı ayrı derledikten sonra oluşan assembly kodları ve en son oluşturulan hex dosyaları farklı mı oluyor?
Başlık: Ynt: GCC
Gönderen: mozkan87 - 02 Haziran 2020, 16:10:03
Evet farklı oluyor.
Hatta bazı pic te veya atmel de revizyon değişince bile aynı c kodu için bazen farklı hex kodları üretiliyor.
Başlık: Ynt: GCC
Gönderen: mr.engineer - 02 Haziran 2020, 17:26:43
Alıntı yapılan: mozkan87 - 02 Haziran 2020, 16:10:03Evet farklı oluyor.
Hatta bazı pic te veya atmel de revizyon değişince bile aynı c kodu için bazen farklı hex kodları üretiliyor.

Hocam şöyle bir sorunla karşılaştım. Normal ARM compiler ile ürettiğim hex dosyasını proteusta çalıştırabiliyorken, GCC ile ürettiğim dosyayı proteusta çalıştıramadım, hata verdi. Bunun sebebi farklı hex dosyaları olması mı? STM32 mikro-denetleyici kullanıyorum.
Başlık: Ynt: GCC
Gönderen: mozkan87 - 02 Haziran 2020, 20:41:54
Birçok etmen olabilir. Optimizasyon seviyesi bile etkili olabilir. Özellikle geçmişten hatırladığım proteus timer vb gibi yüksek hız isteyen simülasyonlarda çakılıyordu. Açıkçası son zamanlar da proteus kullanmıyorum artık.
Başlık: Ynt: GCC
Gönderen: mr.engineer - 03 Haziran 2020, 12:02:01
Optimizasyon seviyesi düşükde kullanıyorum. Hız gerektiren bir şey yapmıyorum. Sadece LED yakıyorum ama hiç simülasyon başlamıyor direk hata veriyor. Farklı hex dosyası kullandığımdan kaynaklanıyor muhtemelen.
Çok önemli de değil merak ettim sadece.
Teşekkürler.