Code Composer Studio "Unresolved symbol" hatası.

Başlatan Logan, 26 Şubat 2010, 10:29:56

Logan

Günaydın arkadaşlar.

TI marka DSP'ler ile dün itibariyle çalışmaya başladık. Genel olarak çok fonksiyonel olmalarına rağmen, arabirim ve derleyici olarak aynı şeyleri söylemek pek mümkün değil. CCS 4 versiyonunda Java tabanlı Hi-Tide arabirimini kullanmışlar. Fakat bu noktadan sonra birçok iş kullanıcıya kalmış. Henüz tam anlamıyla çözemedim, bu sebeple fazla detaya inemiyorum. Pazartesi günü almış olduğumuz eğitim son derece yetersizdi. Sadece işlemcinin özellikleri, neler yapabildiği, Code Composer programı ve mimarisi dışında birşey görmedik. Bütün günümüz bu konular üzerine geçti. Çok ısrar etmeme rağmen sıfırdan herhangi bir porttaki herhangi bir pini giriş-çıkış atayıp, belli aralıklarla ledi yakıp söndüren bir program yazamadık. Hal böyle olunca ve eğitime gelen kişi Code Composer 4 programına hakim olamayınca istediğimiz tarzda bir eğitim alamadık. Uzun lafın kısası iş başa düştü.

Yoğun çalışmalar sonunda proje ve main.c dosyası oluşturup ilk projem olan  "blink" programını yazmaya başladım. Bütün header dosyalarını tanımlamama ve bütün hedef ayarlarını yapmama rağmen aşağıdaki hatadan bir türlü kurtulamıyorum.



Yukarıdaki resimde görüldüğü üzere "GpioCtrlRegs" isimli değişkeni çözümlenmemiş sembol olarak görüyor. Esasen "GpioCtrlRegs" bir değişken değildir. Bütün giriş çıkış registerleri bir başlık altında toplanmıştır ve o başlıkta GpioCtrlRegs'dir. Program içerisinde herhangi bir porta atama yapılacağı zaman, yukarıda da görüldüğü gibi ilk önce başlık, sonra register ismi, sonra ne yapmak istediğimiz ve arkasından da değer yazılıyor. Yapı olarak tamamen alışık olmadığımız bir biçim. Hi-tech'te olduğu gibi ADON=1 diyemiyoruz. Bunun yerine "AdcCntrlRegs-Register ismi-Bit-Bit ismi= değer" şeklinde yazıyoruz. Derleyiciyi yazan mühendis arkadaşlar header dosyaları içerisinde bu bit ve register tanımlamalarını yapmamışlar. Eğer oturup ilgili işlemci için bütün bit ve register tanımlamalarını yaparsak, o zaman program içerisinde direk bit ismini yazarak erişim sağlayabiliriz.

Arkadaşlar konumuza dönecek olursak, acaba aramızda bu problem ile daha önce karşılaşmış herhangi biri ya da konu hakkında herhangi bir önerisi olan var mı? Bu problemi nasıl aşarım???
İmza.

z

Su an karsilastigin sorunun cevabi basit olabilir birsey diyemeyecegim.

Uzun zamandir TI cipleriyle calisiyorum. Code Composerla tanistim tanisali bana cok karsik geldi ve rastladigim buglardan bezdim. Update vs ler icin TI sitesini takip etmen lazim.

En son lanet olsun diyip terkettim. C derleyicisini de kullanmiyorum.
Kendi IDE mi yazdim yillardir asm ile devam ediyorum.

Code compoeser icin kurs faydali olabilir.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

Logan

Evet üstad haklısınız, baş edilecek gibi değil, karmakarışık. Bildiğimiz, beğendiğimiz Hi-tech ile alakası yok. En iyisi Asm ile yazmak. Fakat Asm dilide son derece karışık diye biliyorum. Biraz göz attık epey karışık geldi. Fakat 4 sene Asm kullanmış biri olarak üstesinden gelemeyeceğimi düşünmüyorum.
İmza.

z

Evet TI DSP icin assembly dili son derece zor.  Isaretli ve isaretsiz sayilar icin komut setinin farkli olmasi, sign extension modu, Shift product degeri, komut icine gomulu barel shifter degeri, direct adreslemede page kontrol takibi, overflow aritmetigi isleri tumden zorlastiriyor. Ancak bu zorluklari astinmi muthis kisa ve hizli kosan kodlar yazabiliyorsun.

Fakat zorluklari bildigim icin onerim, yapabiliyorsan Code Composer olayini coz derim benim gibi hemen pes etme.

Ister composer kullan ister kullanma, onemli konulardan birisi de cmd dosyasini dogru olarak olusturmak.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

Logan

Cmd dosyasını Code Composer otomatik olarak oluşturuyor. Yani içerisinde default olarak hazırlanmış ".cmd" dosyaları mevcut. Eğer bugün bu problemi çözemezsem hafta sonu deneme bordunu ve bütün CD'leri eve götürüp (CCS3.3 ve CCS 4 ) "blink" programını yazana kadar evden dışarı çıkmayacağım. Son derece sinir bozucu bir durum haline geldi. Sabahtan beri girmediğim site, okumadığım pdf kalmadı. Adam gibi bir açıklamaya henüz ulaşamadım. Varsa yoksa example projeleri üzerinden anlatım yapmışlar. "Example klasörümüzü import ediyoruz. Hedef configürasyonu oluşturuyoruz ve derliyoruz. Hoop program hazır."

Vasat, son derece vasat...
İmza.

z

Section lar icin warning aldigin icin cmd dosyandan suphelendim. Bu arada aldigin hata mesaji islemcinin header dosyalarinin bulunamamasindan kaynaklaniyor olabilir.

Ben source kodumun tepesine kendim cpu dosyalarini include ettiriyordum.

Birde yazdigin delay rutini, dsp icin cok komik olur. Dsp uctugu icin o delayin etkisini gozle goremezsin.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

Logan

Alıntı Yap
Ben source kodumun tepesine kendim cpu dosyalarini include ettiriyordum.

Üstad nasıl yapacağız örnek verebilir misin?
İmza.

z

.include "cpureg.asm"

Yalniz bu yazim, asm yazilan kod icin gecerli.

Burada cpureg.asm kullandigin cpunun register tanimlamalarinin yapildigi dosyanin kendisi olacak.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

Logan

Arkadaşlar dünden beri ben ve bilgisayar programcısı bir arkadaşım yoğun bir şekilde uğraşıyoruz. Neredeyse yapmadığımız şey kalmadı. Bütün sistem ayarlarını, derleme ayarları ve adını sayamadığım daha birçok şeyi değiştirdik. Yine olmadı. Aynı hata aynı yerinde duruyor.  :?
İmza.

bymrz

hocam bu derleyicide asm kod gömülebiliyor mu,

Eğer bu mümkünse bu kodları bir de asm olarak yazıp deneseniz?

serdar1973

Merhaba ben size  göre epey geride sayılırım. ilk önce bu  Code Composer Studio  programını nasıl temin edebilirim.

Logan

Merhaba serdar1973,

Google'da aratınca çıkıyor. Fakat ben yine de linki buraya yazıyorum. İsteyen olursa CCS 4'ü buradan çekebilir.

Code Composer Studio 4
İmza.

HARMONYC

Merhaba,

Code Composer Studio ile bir proje hazılıyorum. Bu projede yaptığım önemli değişikler için kodu farklı keydediyorum. Daha sonra eski kodları açarken aynı workspace üzerinden açıyor. Eski kod-yeni kod karışıyor. Bunu istemiyorum. Bu durumu nasıl düzeltebilirim? 
Yoq

kralsam

Alıntı yapılan: HARMONYC - 03 Ocak 2011, 16:21:29
Merhaba,

Code Composer Studio ile bir proje hazılıyorum. Bu projede yaptığım önemli değişikler için kodu farklı keydediyorum. Daha sonra eski kodları açarken aynı workspace üzerinden açıyor. Eski kod-yeni kod karışıyor. Bunu istemiyorum. Bu durumu nasıl düzeltebilirim?
Arkadaşım bende yeni kullanmaya başladım.Şu tavsiyeleri verebilirim. Başta workspace adresini sabitlemeni (proje kütüphanen gibi) ve ana değişimlerde yeni proje başlatarak adım adım gitmen kullanım açısından kolaylık sağlayacaktır. Daha temiz ve güvenli oluyor. Bu arada diğer projelerde işlem yapman için proje ana başlığına  geçiş olayını yaparsan pek sıkıntı oluşturmaz(Aktif proje seçeceksin- Set as Active Project-)
İnşallah yardımı olur.Kolay gelsin.