Haberler:

Foruma Resim Yükleme ve Boyut Sınırlaması ( ! )  https://bit.ly/2GMFb8H

Ana Menü

GCC

Başlatan mr.engineer, 01 Haziran 2020, 17:32:02

mr.engineer

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?

sımışka

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.

Tesla.25

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-essential
komutu 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.

mr.engineer

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ı?

sımışka

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.

mr.engineer

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?

mozkan87

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.

mr.engineer

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.

mozkan87

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.

mr.engineer

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.