|
|
View previous topic :: View next topic |
Author |
Message |
kender
Joined: 09 Aug 2004 Posts: 768 Location: Silicon Valley
|
Multiple compilation units |
Posted: Tue Jun 10, 2008 3:50 pm |
|
|
Franck26 wrote: | Was it working before V4? |
Versions before the V4 were not supporting multiple compilation units. It could be work-in-progress in V4 at this point.
UPDATE: Here's a thread that has some sample code for function pointer (v4.066) : http://www.ccsinfo.com/forum/viewtopic.php?t=33458 _________________ Read the label, before opening a can of worms.
Last edited by kender on Thu Jun 26, 2008 10:55 pm; edited 1 time in total |
|
|
Franck26
Joined: 29 Dec 2007 Posts: 122 Location: Ireland
|
|
Posted: Wed Jun 11, 2008 12:40 pm |
|
|
Thanks Kender,
It explain a lot of things!!!
So very long work-in-progress...
Franck. |
|
|
Guest
|
|
Posted: Tue Nov 04, 2008 2:25 pm |
|
|
I don't know if this is still open or not, but I just updated to version 4.081 and so far I haven't had any issues with my code. However, it is irritating that I have to reconfigure the User Toolbar and debugger tabs everytime I enable the debugger and resize both debugger and output windows everytime I open the compiler. That's a bit on the annoying side, if they could fix this, I think things could be near perfect. |
|
|
Benjamin
Joined: 11 Jan 2006 Posts: 21 Location: Quebec (Canada)
|
|
Posted: Tue Nov 04, 2008 3:29 pm |
|
|
Guest: you can save your configuration in the Options ribbon. |
|
|
Guest
|
|
Posted: Tue Nov 04, 2008 4:20 pm |
|
|
I was trying to figure out where to save things in the Options ribbon and somehow it is now a submenu of itself. I'm not sure how that happened, but now if I click on Options in the main title bar, instead of the ribbon, it shows a Options button with a down arrow, click on that and there is the ribbon. Again, I don't know how that happened or how to fix it. Any ideas on what the heck I did? |
|
|
eskimobob
Joined: 07 Feb 2009 Posts: 40
|
|
Posted: Sat Feb 07, 2009 10:31 am |
|
|
I've been trying multiple compilation units for some time. In recent versions they seem to produce working code (currently 4.085).
There is something odd with debugging code that has been compiled this way - COFF does not seem to reliably find the right source file when stepping through code - Expanded COD is better in this respect but does not always allow inspection of variables if they are not in the same unit as main.
Still some improvements to be made but IMHO getting to a point where it can be used. If more of us start using it, perhaps improvements to solve the minor issues will speed up.
I use the IDE with the old style menus (don't like ribbons) and there is a huge amount of flickering and window resizing that goes on when enabling or disabling Debug - no idea what is going on - I just shut my eyes and count to 10 |
|
|
andrewg
Joined: 17 Aug 2005 Posts: 316 Location: Perth, Western Australia
|
|
Posted: Sun Apr 12, 2009 8:56 pm |
|
|
I'm just wondering what the general consensus is with recent versions of the CCS compiler? I'm currently using 4.042 (out of maintenance), and I'm pondering spending the money so I can upgrade.
I've just finished 3+ hours isolating and working around another CCS compiler bug. It was a doozy. I'd been hours programming a new feature, when a completely separate part of the app stopped working. It turned out that during the development, I'd deleted an unused variable from a global configuration structure. That RAM layout change altered code throughout my app! My new code was fine. Grrrr.
Almost every project I've worked on with the CCS compiler has had multiple compiler bugs. The one exception was a 30-line SPI-to-LED display interface. These bugs have resulted in many, many wasted hours trying to work out whether the problem is me, or the compiler.
As a comparison, I've spent probably 15 years working with Borland C/C++ compilers, every version from Turbo C 2.0 through to recent C++ Builders. In all that time, I've encountered exactly one compiler bug - an incorrectly calculated switch jump table in BC++ 4.53.
From anecdotal evidence reading these forums, it seems to me that upgrading the CCS compiler is merely swapping one set of compiler bugs for a whole new set. Eliminating the amount of time and effort expended in the past dealing with compiler bugs is worth something to me. I'm just wondering if I'm better off spending the money on maintenance, or on a completely different compiler?
Also of interest - does anyone know if the latest CCS TCP/IP stack is more recent than v3.75? If I do purchase maintenance, can I download compiler versions other than the most recent?
Thanks. _________________ Andrew |
|
|
libor
Joined: 14 Dec 2004 Posts: 288 Location: Hungary
|
|
Posted: Wed Apr 29, 2009 2:12 am |
|
|
andrewg wrote: | Almost every project I've worked on with the CCS compiler has had multiple compiler bugs. ...As a comparison...
| ...as a comparison:
I have been working with CCS for years (writing not too complicated code though), recently I took a journey to the Microchip C18 (I envy all those up-to-date libraries, those like a hundred versions-newer TCP/IP stack 4.55, the graphics library, etc... ...the immediate support for the new chips, the less bugs(?) etc.)
...Now I am just debugging my first SPI program written in C18, I think it is some hw error, so I hooked up my logic analyzer (Intronix Logicport rules!) ...and to my surprise I almost cannot tune the zoom to see two consecutive bytes sent on SPI on one screen (I have a huge 24" LCD with 1920 pixels in horizontal). When I zoom enough so I can read the data, I almost cannot see the next byte on the same screen.
Compiling the following C18 code (the WriteSPI() functions are supplied with their compiler):
...
WriteSPI(0x01);
WriteSPI(0x02);
...
make an astonishing intrabyte-time of 12us on a PIC running at 16Mhz (that's a time for 48 assembly instructions to do what... ? ..are they calculating the cosine of my data, just in case i will need it in the next line ??)
...the very same compiled with CCS (spi_write(literal)) takes 4-5 us intrabyte on the SPI bus.
..so ok, they might mean I should write my own WriteSPI() function in assembly.. (although I was contemplating switching compilers right because of the broader support of features in their libraries.., and not to fuss around with assembly writing a simple function needed by thousands other programmers) ...now I am reading the C18 manual:
"It is generally recommended to limit the use of inline assembly to a minimum. Any functions containing inline assembly will not be optimized by the compiler."
..so they think I do not deserve compiler optimization even when using just one assembly instruction in a function, so even when using their own macros (written in assembly by them) like Nop() ClrWdt() Sleep() Reset() in my code ?
...now I really feel lost... ..so lets port that TCP/IP stack v.4.55 to CCS, or what ? |
|
|
andrewg
Joined: 17 Aug 2005 Posts: 316 Location: Perth, Western Australia
|
|
Posted: Fri May 01, 2009 6:33 am |
|
|
I've ended up purchasing maintenance and jumped from v4.042 to v4.092. Except that CCS shipped v4.091 and I immediately hit the CCP bug and therefore found myself downloading an update before the shipped CD had even left my drive!
Then I've hit three separate bugs in device definitions and header files that each prevented my current projects compiling. These are projects that were compiling and working fine with v4.042. Seriously, there are *NO* excuses for these sorts of compilation regressions. An automated test running the compiler against a suitably wide range of projects would have automatically detected these problems.
Not so easy to detect is a #module bug that silently replaced a call to the internal @MUL1616 with a call to getc()! Does nobody else use #module?
I find these bugs disappointing, but sad to say, not surprising. I planned for two days to upgrade my compiler and work out the new bugs and issues that that will have created. So far it's one day down, one to go (I hope).
I have also emailed CCS with the issues I've encountered so far, so hopefully, one day, they might get fixed. _________________ Andrew
Last edited by andrewg on Fri May 01, 2009 9:11 am; edited 1 time in total |
|
|
messenger Guest
|
|
Posted: Fri May 01, 2009 7:44 am |
|
|
I have had the same experience. I am running 4.092 and I ran into a device .h file not compiling. Another thing that irks me is that some of the drivers that they provide will not compile with #case. That is just sloppy!
Also, compiling mulitiple *.c files does not work yet. After compiling the object files, the ccsc will hang. |
|
|
TopLoser Guest
|
Problems with multiple compilation units after 'upgrading' |
Posted: Tue May 05, 2009 6:43 am |
|
|
I posted this on the main forum, but I think it probably belongs in this V4 thread instead.
I have several projects that consist of multiple C files that used to compile and link just fine using 4.085 version of the PCM compiler. Each module has an
Quote: |
#EXPORT (FILE=filename)
|
directive at the start. The compiler used to compile each module without error and then did a final link phase at the end to link all the .O files together and create a .HEX file.
Version 4.092 seems to behave in a different way. It still compiles each modules without error, but the final link produces a 'Not found' error when it tries to create the .HEX file. All the .O files are present, it's just the link part that fails.
Quote: |
"C:\Program files\Picc\CCSC.exe" +FM LINK="Converter.hex=ec1.o,ec2.o,main.o,timer.o,eeprom.o" +DF +LN +T +A +M +Z +Y=9 +EA
|
The above line produces the error message
Quote: |
Not found - Converter
|
All the .O files exists, the compilation part went ok.
I've reported this is CCS but haven't had any response for over a week so here I am asking for ideas...
Reading through previous comments it seems that other people were ok with 4.085, I wonder if they are now scratching their heads after 'upgrading'? |
|
|
krasi
Joined: 17 Jun 2009 Posts: 9 Location: Bulgaria
|
Lost "Show Desktop" Icon |
Posted: Fri Oct 16, 2009 3:03 am |
|
|
Hi everybody,
I have used version 4.088 for few months and after its installation I saw something strange. When I open any window in any program for "Save", "Open" or "Browse", the "Show Desktop" icon on the left side is missing. The other ones like "My Computer", "My Network Places" and etc are still there. I've tried also to install it on another PC, and the effect is appear again. It is very annoying situation, because I used to work very often with my "Desktop".
So, does anybody know how to fix this problem?
Thanks in advance,
Krasi |
|
|
bungee-
Joined: 27 Jun 2007 Posts: 206
|
|
Posted: Fri Oct 16, 2009 3:23 am |
|
|
Rename Registry key: HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\ComDlg32
To something else, like:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\ComDlg32_old
And see the result |
|
|
krasi
Joined: 17 Jun 2009 Posts: 9 Location: Bulgaria
|
Re: Lost "Show Desktop" Icon |
Posted: Fri Oct 16, 2009 6:30 am |
|
|
@bungee-: Thank you very much!!! It's working! It was so annoying, but now it is OK. Thank you again.
Regards. |
|
|
tom84 Guest
|
Re: Problems with multiple compilation units after 'upgradin |
Posted: Sun Nov 15, 2009 9:26 pm |
|
|
TopLoser wrote: | I posted this on the main forum, but I think it probably belongs in this V4 thread instead.
I have several projects that consist of multiple C files that used to compile and link just fine using 4.085 version of the PCM compiler. Each module has an
Quote: |
#EXPORT (FILE=filename)
|
directive at the start. The compiler used to compile each module without error and then did a final link phase at the end to link all the .O files together and create a .HEX file.
Version 4.092 seems to behave in a different way. It still compiles each modules without error, but the final link produces a 'Not found' error when it tries to create the .HEX file. All the .O files are present, it's just the link part that fails.
Quote: |
"C:\Program files\Picc\CCSC.exe" +FM LINK="Converter.hex=ec1.o,ec2.o,main.o,timer.o,eeprom.o" +DF +LN +T +A +M +Z +Y=9 +EA
|
The above line produces the error message
Quote: |
Not found - Converter
|
All the .O files exists, the compilation part went ok.
I've reported this is CCS but haven't had any response for over a week so here I am asking for ideas...
Reading through previous comments it seems that other people were ok with 4.085, I wonder if they are now scratching their heads after 'upgrading'? |
Same problem here. I'm using the version 4.088 and when it comes to the part where the .hex is generated (with the .o files), same error appears.
Quote: |
Executing: "C:\PROGRA~1\PICC\Ccsc.exe" +FH "led.c" +EXPORT I+="%I" +LN -T -A -M -Z
Executing: "C:\PROGRA~1\PICC\Ccsc.exe" +FH "main.c" +EXPORT I+="%I" +LN -T -A -M -Z
Executing: "C:\PROGRA~1\PICC\Ccsc.exe" +FH LINK="pca.hex=led.o,main.o" +LN -T -A -M -Z
Link step failed.
BUILD FAILED: Mon Nov 16 07:30:14 2009
|
I also tried v4.093 with no luck.
Can anyone tell me how I can fix this? Is there a bug in these versions? |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|