CooCox Örnek Proje Kurulumu

Başlatan memo333, 27 Ekim 2012, 00:55:37

memo333

CoIDE Eclipse tabanlı ücretsiz bir IDE. bazı ek özellikleri sayesinde Cortex-M tabanlı MCUlar için öne çıkıyor. Derleyici olarak arm-gcc kullanıyor yani tüm özellikleri ile ücretsiz.

Ayrıca Eclipse Kod tamamlama gibi ek özellikleri sayesinde hızlı kod geliştirebiliyorsunuz. Keil'in 4000$ olduğunu düşünürsek bence gayet makul.

Öncelikle indirmek için

http://www.coocox.org/CooCox_CoIDE.htm

Not: "download directly" deyin CoCenter can sıkabiliyor :)

Daha sonra GCC kurulumu ve CoIDE'ye tanıtımı

http://www.coocox.org/CoIDE/Compiler_Settings.html

Şimdi yeni bir proje oluşturalım.

1. CoIDE açın ve Project/New Project



2. Çip Üreticisi Seçimi.



3.STM31f103RB seçiyorum Siz elinizdeki işlemciye göre seçin



4. Burası Önemli... CMSIS_CORE ARMın sağladığı core_cm3.c/.h dosyalarını ekliyor. CMSIS_BOOT ise STnin CMSIS dosyalarını VE GCC için Gerekli olan Startup dosyasını yüklüyor. Bu adımı atladığınız zaman 0bytelık derleme oluyor.



4,5. Gördüğünüz gibi burada iki adım daha var Drivers ve Others. Buralarda çeşitli kütüphaneler var. Ekleyip çıkarabilir hatta CoIDE ile paylaşmak istediğiniz kütüphaneleri gönderip buradan yayınlayabilirsiniz. Ben kullanmıyorum, Örneğin STDLIBi buradan da yükleyebilirsiniz ama ben STnin sitesinden indirip ekliyorum

5. Project/Configuration



6. Buradan include klasörleri, Tüm proje için gerekli defineler optimizasyon seviyeleri ayarlanabiliyor. Örneğin USE_STDPERIPH_DRIVER bende tanımlı geldi tanımsız ise buradan tanımlayacaktık...



7. Bir kere derleme yapın. ( F7 kısayol )
    Daha sonra main.c açalım. #include "stm32f10x.h" ekleyelim. (ctrl+space kullanın o kadar uğraştık demi :) )
    Derleme Yapın




8. Şuan kayıtçılar ile proje yazılabilir halde. STDLIB'in sadece *.c ve *.h dosyalarını yükleyip projenizde kullanabilirsiniz.
Gömülü Linux Notları --> http://linuxedu.xyz/

muhittin_kaplan


memo333

9. STM32F10x_StdPeriph_Lib_V3.5.0\Libraries içindeki STM32F10x_StdPeriph_Driver Klasörünü Proje Klasörüne Kopyalayın.
    CoIDE'de Project üstünde Refresh yapın Klasör eklenecek.




10. Project/Configuration/Include Paths...Add/Workspace/ seçin ve yeni ekledeğimiz klasör içindeki "inc" klasörünü gösterin. Artık STDLIB'in *.h dosyalarınıda ekledik.



11. stm32f10x_conf.h dosyasını açın ve kullanmak istediğiniz kütüphane dosyalarının *.h dosyalarını uncomment yapın.

12.Şöyle birşeyler göreceksiniz. İyi çalışmalar :)

Gömülü Linux Notları --> http://linuxedu.xyz/

demket

S.A. CoX hakkında bilginiz var mı?

memo333

Gömülü Linux Notları --> http://linuxedu.xyz/

teknikelektronikci

Hocam elinize saglik
adminimiz basligi sabitleyip yorumlara kapatsa iyi olur diye düsünüyorum böylece egitim icerikli baslik olmus olur ve sayfalarca gereksiz yazilar olusmaz ne dersiniz ?
Ey Türk istikbalinin evlâdı! İşte, bu ahval ve şerâit içinde dahi, vazifen; Türk İstiklâl ve Cumhuriyetini kurtarmaktır! Muhtaç olduğun kudret, damarlarındaki asil kanda mevcuttur!

muhittin_kaplan

Hocam Bence Devamı da gelmeli. Beleş sirke bu.

teknikelektronikci

Alıntı yapılan: muhittin_kaplan - 29 Ekim 2012, 16:16:14
Hocam Bence Devamı da gelmeli. Beleş sirke bu.

sanirim yanlis anladiniz memo333 yani basligi acan hocam yazilarina devam etsin bu baslik altinda ama diger üyelere kapali olsun demek istedim yoksa gene 10-20 sayfa sif tesekür mesaji dolcak :D
Ey Türk istikbalinin evlâdı! İşte, bu ahval ve şerâit içinde dahi, vazifen; Türk İstiklâl ve Cumhuriyetini kurtarmaktır! Muhtaç olduğun kudret, damarlarındaki asil kanda mevcuttur!

muhittin_kaplan

Doğrusunuz Konuyu Atlamışım Ben. Yazılsın, Kilitlensin, şişmesin bu konu.

Klein

dün gece kurdum. Bir süre "Toolchain path" ile boğuştuktan sonra doğru "yol" u buldum.
Ancak derleme haası alıyorum.


   [cc] D:\projects\CooCox\Projects\Stm32Test\cmsis_lib\source\stm32f4xx_syscfg.c:1: error: bad value (cortex-m4) for -mcpu= switch
       [cc] D:\projects\CooCox\Projects\Stm32Test\cmsis_lib\source\stm32f4xx_hash.c:1: error: bad value (cortex-m4) for -mcpu= switch
       [cc] D:\projects\CooCox\Projects\Stm32Test\cmsis_lib\source\stm32f4xx_hash_sha1.c:1: error: bad value (cortex-m4) for -mcpu= switch
       [cc] D:\projects\CooCox\Projects\Stm32Test\cmsis_lib\source\stm32f4xx_usart.c:1: error: bad value (cortex-m4) for -mcpu= switch
       [cc] D:\projects\CooCox\Projects\Stm32Test\cmsis_lib\source\stm32f4xx_hash_md5.c:1: error: bad value (cortex-m4) for -mcpu= switch
       [cc] D:\projects\CooCox\Projects\Stm32Test\cmsis_boot\startup\startup_stm32f4xx.c:1: error: bad value (cortex-m4) for -mcpu= switch
       [cc] D:\projects\CooCox\Projects\Stm32Test\main.c:1: error: bad value (cortex-m4) for -mcpu= switch
       [cc] D:\projects\CooCox\Projects\Stm32Test\cmsis_lib\source\stm32f4xx_rcc.c:1: error: bad value (cortex-m4) for -mcpu= switch
       [cc] D:\projects\CooCox\Projects\Stm32Test\cmsis_lib\source\stm32f4xx_adc.c:1: error: bad value (cortex-m4) for -mcpu= switch
       [cc] D:\projects\CooCox\Projects\Stm32Test\stdio\printf.c:1: error: bad value (cortex-m4) for -mcpu= switch
       [cc] D:\projects\CooCox\Projects\Stm32Test\cmsis_lib\source\stm32f4xx_gpio.c:1: error: bad value (cortex-m4) for -mcpu= switch
       [cc] D:\projects\CooCox\Projects\Stm32Test\cmsis_boot\system_stm32f4xx.c:1: error: bad value (cortex-m4) for -mcpu= switch
       [cc] D:\projects\CooCox\Projects\Stm32Test\syscalls\syscalls.c:1: error: bad value (cortex-m4) for -mcpu= switch
       [cc] D:\projects\CooCox\Projects\Stm32Test\cmsis_lib\source\stm32f4xx_spi.c:1: error: bad value (cortex-m4) for -mcpu= switch
       [cc] D:\projects\CooCox\Projects\Stm32Test\cmsis_lib\source\misc.c:1: error: bad value (cortex-m4) for -mcpu= switch
       [cc] D:\projects\CooCox\Projects\Stm32Test\cmsis_lib\source\stm32f4xx_tim.c:1: error: bad value (cortex-m4) for -mcpu= switch


NaMcHo

Klein hocam aynı sorun benide uğraştırdı baya şu şekilde çözdüm.

ToolCain yolu şu şekilde olucak : C:\Program Files (x86)\GNU Tools ARM Embedded\4.6 2012q2\bin

siz muhtemelen (benim daha önce yaptığım gibi) C:\Program Files (x86)\GNU Tools ARM Embedded\4.6 2012q2\arm-none-eabi\bin şöyle yaptınız.

X-Fi

GNU tools un lisans sorununu nasıl çözdünüz en son 30 gün derliyordu.
http://www.coskunergan.dev/    (Yürümekle varılmaz, lakin varanlar yürüyenlerdir.)

Klein

"C:\Program Files\CooCox\CoBuilder\gcc\arm-2009q3\bin" yol bu.  CooCox ile gelen tooldan başka bir ttol kurmadım. 

"GNU Tools ARM Embedded" klasörüm yok. bir de bu tool'u kurup deneyeyim.

Şimdi başka bir sorunum daha var. Proje ayarlarından derleyici parametrelerini sildim. yeniden oluşturmuyor.

NaMcHo

Alıntı yapılan: Klein - 30 Ekim 2012, 18:30:10
"C:\Program Files\CooCox\CoBuilder\gcc\arm-2009q3\bin" yol bu.  CooCox ile gelen tooldan başka bir ttol kurmadım. 

"GNU Tools ARM Embedded" klasörüm yok. bir de bu tool'u kurup deneyeyim.

Şimdi başka bir sorunum daha var. Proje ayarlarından derleyici parametrelerini sildim. yeniden oluşturmuyor.

Hocam http://www.coocox.org/CoIDE/Compiler_Settings.html buradan GCC ARM Embedded inidirip kurun.Sonra benim yazmış olduğum dizin oluşacak.

erolca

merhaba,
kod optimizasyonu nasıl?
eroool