CCS C derleyicisi Son Sürüm ...

Başlatan ipek, 05 Ekim 2006, 03:16:25

zafzaf82

Mikroişlemci bi araçtır, amaç değil.....

byka

DWIN LCD Satış Türkiye email:info@kamantek.com  web:http://www.kamantek.com/shop/index.php

diot

Bu dspic ler için ccs nin derleyicisi varmıdır acaba. (PCWHD)
4.38 yapmıyorda.

remzi


DumrulBey

Alıntı yapılan: "CCS PIC C v4 başından geçenler hakkında"4.001  Initial release of the version 4 compiler, see www.ccsinfo.com/V4
4.004  An error 103 for some installations when using within MPLAB is now fixed
4.004  Some error messages relating to overloaded functions are fixed
4.004  Some missing Wizard files are now included in the build
4.004  The IDE no longer saves files not modified for a save-all or compile
4.004  Various glitches reported for both the IDE and compiler have been corrected
4.005  Reported bugs have been fixed concerning default parametters, and overloaded functions
4.005  A problem with arithmetic on fixed point data types is fixed
4.006  Some wizard bugs have been fixed
4.006  Some issues with the debugger windows is now fixed
4.006  A problem with initializers is fixed
4.007  The debugger mouse-over problem is fixed
4.007  Some syntax errors with #USE are fixed
4.008  A "Can not focus" error when starting PCW is fixed
4.009  An internal error message is now fixed
4.009  Several IDE issues have been cleaned up
4.009  A problem dealing with constants in a switch statement is fixed
4.009  An error for large constant arrays in PCM is now fixed
4.010  Fixed a bug with the RS232 timeout feature
4.010  A memory allocation bug involving local bit arrays is fixed
4.010  Support for real tabs added to the IDE
4.011  A number of error messages have been improved
4.011  Some reported problems with the IDE have been corrected
4.011  A problem passing bit arrays is now fixed
4.012  A number of IDE issues have been fixed, more are comming
4.012  A type conversion problem with some >> operations is fixed
4.012  A new method to calcualte a ROM checksum for PIC16 is added (see ex_checksum.c)
4.013  Fixed a bug in PCM concerning some bit arrays
4.013  Configuration word for 12 bit parts has been moved for MPLAB
4.013  A post increment problem with 1 bit data types is fixed
4.014  A problem using ZERO_RAM and ICD=TRUE together on some PIC18 parts is fixed
4.014  Sending a constant string to functions with a char param no longer sends an extra byte
4.014  The reserved bits in the configuration words are now set correctly
4.014  Constant data structure names now appear in the .SYM file in the ROM section
4.015  A number of IDE issues have been fixed, more are comming
4.015  An error message problem with very large programs is fixed
4.016  An access violation error in the IDE is fixed
4.017  Several IDE issues have been fixed
4.017  Updates made for the newest chips
4.018  A problem with the registers used by SETUP_CCPx for some chips is fixed
4.019  More IDE issues have been delt with
4.019  WDT setup has been clarified for several chips, check the header file if you get a compile error
4.020  Some problems with arrays of function pionters have been fixed
4.020  The cursor disapearing on blank lines in the IDE is fixed
4.020  A Linux version has been released
4.021  More IDE issues have been fixed
4.021  Linker error messages have been clarified
4.021  Some command line linker issues have been resolved
4.021  A bug dealing with pointers to constants is fixed
4.021  The & unary operator by default no longer returns a generic (int8 *)
4.022  An interface problem to MPLAB is fixed
4.023  An IDE problem building some projects is fixed
4.024  A problem with the floating point unary minus operator on some chips is now fixed
4.024  The IDE now includes an option to use clasic menus instead of the new ribbons
4.025  Updates made for the newest chips
4.026  A code optimization bug has been fixed
4.026  Problems with reading and writting to flash on some parts is fixed
4.026  Experimental code completion added to the IDE (defaults to off for now)
4.027  Removed an IDE query after compilation concerning file reloads
4.028  A run time error in CCSC for some users is fixed
4.029  An optimization problem dealing with bit arrays is fixed
4.029  Some issues with write_program_memory erasing too much or not enough are fixed
4.029  Updates made for the newest chips
4.030  Some IDE editor problems have been fixed
4.031  Some WDT issues on chips with a WDTCON register are fixed
4.031  A linker problem has been fixed dealing with matching overloaded functions
4.031  A problem with #define CCS3 setting the pointer size incorrectly is now fixed
4.032  Some linker warnings and error messages have been fixed and clarified
4.032  A problem with < and > for bit operands is fixed
4.033  A new #import option for binary files has been added
4.033  Some new GETENV options have been added added
4.033  Switch is fixed to work with over 128 cases
4.033  A multiple compilation unit example is now included (mcu.zip)
4.033  Some warnings in stdlib.h are removed
4.033  A problem with memset clearing too much RAM in PCH is fixed
4.033  Some issues with arrays of function pointers is fixed
4.033  Updates made for the newest chips
4.034  A problem with EXTERN on 1 bit variables is fixed
4.034  Some issues with data saved in ROM have been fixed.  See readme.txt for info on ROM data.
4.035  A problem with some constant strings in PCM is fixed
4.035  A bug in memcpy for large arrays in PCH is fixed
4.036  A problem with some PCM switch statements is fixed
4.037  PJT file is no longer overwritten on each compile
4.037  IDE updates for PCD beta testing
4.038  An RS232 problem for some configurations (since 4.037) is fixed
4.039  The IDE file slide out is fixed
4.039  A PCB problem with subtract in some complex expresions is fixed
4.040  A number of IDE issues are fixed including some build problems
4.040  Optimization improvements
4.040  Updates for the newest parts
4.041  A parametter passing bug recently introduced is fixed
4.042  COF debug files now include the full paths (instead of rel paths) to source files for MPLAB
4.043  A bug recently introduced concerning indirect bit assignments is fixed
4.044  A PCB math error subtracting from a constant is fixed
4.044  PCH was not allowing large constant arrays in 4.043, this is fixed
4.045  Bit to Bit assignments broke in 4.044 now fixed
4.046  Release of the PCD 24 bit compiler
4.048  A problem with PORT_B_PULLUPS is fixed
4.048  An issue with SIZEOF on ROM data is fixed
4.048  A number of updates for PCD, more to come soon
4.048  The 16F88x comparator function is fixed
4.049  I/O port registers for many chips were wrong in the 4.048 release, now fixed
4.050  An optimization bug has been fixed
4.050  A number of PCD bug fixes were made
4.050  An access violation in the PCW debugger has been fixed
4.050  #ROM now has a CHAR option to compress two characters into a 14 bit word
4.051  A number of PCD bug fixes were made
4.052  An ADC bug introduced in 4.051 is fixed
4.053  A problem with the conversion of constant integers in floating point expresions is fixed
Sürüm 4'den yeni haberim oldu. Ne zaman geçildi bilmiyorum ama bunca hataya şaşırdığımı gizleyemem. Gördüğüm kadarıyla çoğu önemli hatalar yeni mikrodenetleyici eklenmesinden çok geneli ilgilendiren hatalar.

Biliyorsunuz kod opimizasyonu diye bir şey var. Yani derlediğimiz kodlardan bahsetmiyorum. Yazılımın kendi kodundan bahsediyorum. Genelde hatasız yazılım olmaz ama kod üreten bir yazılımda bu kadar çok hatayı fazla görüyorum.

Aslında hata düzeltmek yazılımı yeniden yazmaktan zor olduğu da söylenir. Hatta normal bir kullanıcının yazılımın tüm kodları ile muhatap olmadığı için tüm hatalarız düzeltmenin gereksiz olduğu sosyal bir teori ile bağdaştırılır. Bunlar doğrudur ama derleyicilerin bu kadar hatalar ile boğuşması insanların şüpheye götürüyor.

Bence en babası assembly ile yazmak. Zaten asıl programcılık bu. Yoksa bu yazılımlar metin çeviri programları gibiler. Nasıl edebi bir şiiri başka dile gerçek manasıyla çeviremiyorsanız burada da bir sürü sorunla boğuşmanız gerekir. Amanın assembly'e sırtınızı dönmeyin.

Alıntı yapılan: "remzi"http://rapidshare.com/files/51140833/CCS_PCWH_4.049.rar

buda yenisi...

10 gün sonra diğeride gelir :lol:
:)

Başarılar...
Bilgi paylaştıkça bir bakmışız; kar topu olmuş ve çığ gibi üzerimize geliyor...:)

zafzaf82

Mikroişlemci bi araçtır, amaç değil.....

remzi

DumrulBey in dediği gibi bence de en iyisi assembly. Ama assemly de kod yazarken programcı çok fazla zaman kaybediyor ve neredeyse zamanlıkta iğne arıyor. Biraz daha üst düzey derleyiciler özellikle matematiksel işlemlerde programcıya çok zaman kazandırıyor. Assembly de PIC 16 serisinde iki registerı çarpmak satırlarca kod sürüyor ama C de a=bxc; dediğimizde işlem tamamlanıyor.

Mesela karşılaştırma komutlarıda aynı şekilde. A nın B ye eşit olup olmadığını bir kaç satırda yazıyoruz, Ama C de if(a==b) dersek işlem bitmiş oluyor. Ben derleyici olarak CCS kullanıyorum fakat hiç memnun değilim.( Sağlam bir derleyiicinin  15 günde bir yeni versiyonu çıkmaz.)

CCS den önce bir kaç ay hi-tech ile uğraştım. Oda ayrı bir garip. ana programda bir hangi fonksiyona girmişseniz o fonksiyonu kesmenin içinde kullanamıyorsunuz. (o zamanlar benim kullandığım versiyonda öyle idi.)

Geriye bir iki derleyici kaldı C ile. onlarıda zamanla kullanıp öğreneyim onlar hakkındada yorum yaparım...

herkese iyi çalışmalar...

zafzaf82

bi program sürekli güncelleniyorsa gelecek var demektir remzi kardeş. CCS C olmasa istediğin pice kod yazmak için 100lerce sayfa datasheet okuman lazım bu derleyici o külfetten kurtarıyor; bu özelliği için bile kullanmaya değer.
Mikroişlemci bi araçtır, amaç değil.....

remzi

100 lerce sayfa datasheet okumaktan kurtarıyor ama mimaridende iyice koparıyor. Bir hata olduğunda hatayı bulmamız oldukça zorlaşıyor...

Bunuda göz ardı etmemiz gerekir...

Erol YILMAZ

Problem olduğunu düşündüğünüz anda,
LST dosyasından gayet rahat bir şekilde
C ye karşılık gelen ASM kodlarını okumanız mümkündür.

Ziya

Alıntı yapılan: "remzi"CCS den önce bir kaç ay hi-tech ile uğraştım. Oda ayrı bir garip. ana programda bir hangi fonksiyona girmişseniz o fonksiyonu kesmenin içinde kullanamıyorsunuz. (o zamanlar benim kullandığım versiyonda öyle idi.)
CCS de kullanabilirsin ama bu durumda o fonksiyona girerken kesmeleri iptal edip, çıkarken tekrar etkinleştiriyor. Eğer 18F serisindeki extended kod setini etkinleştirirseniz belki reentrant kodlara müsaade edecektir.
Bu günden sonra hiç kimse sarayda, divanda, meclislerde ve seyranda Türk dilinden başka dil kullanmaya. (13 Mayıs 1277) Karamanoğlu Mehmet Bey

Digimensch

bu  4.049  versionu install ettim
Fakat Compiler dedigimde I/OError 103  uyarisi geliyor.
Zaten yukardad bu version icin
4.049 I/O port registers for many chips were wrong in the 4.048 release, now fixed  denilmis.
Ama nedese fixed olmamis.
Bu versionu baska deneyen arkadaslar varmi?

titanium

Alıntı yapılan: "remzi"Oda ayrı bir garip. ana programda bir hangi fonksiyona girmişseniz o fonksiyonu kesmenin içinde kullanamıyorsunuz. (o zamanlar benim kullandığım versiyonda öyle idi.)

Aynı şey mikroC için de geçerli. Nedenini merak ettim doğrusu.

Ziya

Alıntı yapılan: "titanium"
Alıntı yapılan: "remzi"Oda ayrı bir garip. ana programda bir hangi fonksiyona girmişseniz o fonksiyonu kesmenin içinde kullanamıyorsunuz. (o zamanlar benim kullandığım versiyonda öyle idi.)

Aynı şey mikroC için de geçerli. Nedenini merak ettim doğrusu.
Cevabı basit. Örneğin seri eepromdan bir bilgi okuyorsunuz ve işin yarısında kesme rutinine gittiniz. Kesme rutininde de seri eepromdan bir bilgi okumak istediniz ve seri eeproma start+control+adres+veri+stop komutlarını göderdiniz. Kesme işlemi bitti ve kaldığınız yere geri döndüğünüzde seri eepromdan veri beklerken yada ack sinyali beklerken hiç bir şey gelmeyecek. Programınız belki de sonsuza kadar oradan veri bekleyecek... Bu istenmeyen bir durum. Bu sorunu çözmek için CCS kesme rutinlerinde de kullanılan fonksiyonlarda başta kesmeleri devre dışı bırakıyor ve fonksiyon sonunda tekrar etkinleştiriyor.
Bu günden sonra hiç kimse sarayda, divanda, meclislerde ve seyranda Türk dilinden başka dil kullanmaya. (13 Mayıs 1277) Karamanoğlu Mehmet Bey

titanium

"Örneğin seri eepromdan bir bilgi okuyorsunuz ve işin yarısında kesme rutinine gittiniz. Kesme rutininde de seri eepromdan bir bilgi okumak istediniz ve seri eeproma start+control+adres+veri+stop komutlarını göderdiniz. Kesme işlemi bitti ve kaldığınız yere geri döndüğünüzde seri eepromdan veri beklerken yada ack sinyali beklerken hiç bir şey gelmeyecek.Bu sorunu çözmek için CCS kesme rutinlerinde de kullanılan fonksiyonlarda başta kesmeleri devre dışı bırakıyor ve fonksiyon sonunda tekrar etkinleştiriyor."

Nedenin bu olması ilginç. Programcı kodlamada mantık hataları yapabilir ve bu da bir mantık hatası gibi geldi bana. Derleyici denince ise benim aklıma, sözdizimi vs. ile ilgili hataların olup olmadığına bakan ve bir hata yoksa yazılan kodu derleyen ortam geliyor. Sonuçta kodlama yaparken birçok yerde böyle hatalar yapabilirsiniz ve derleyicinin bunların hepsini saptaması mümkün değil. Bilgisayar programlamada böyle birşey görmediğim için biraz şaşırdım. :)