CCS News RSS

The Code Optimizer, has just been released!

Monday 10 June, 2013

CCS, Inc. CCSC Version 5 with all of its new features and enhancements has just been released! Version 5 is the first release to include a very aggressive code optimizer, optimizing for space instead of speed. The new optimizer is able to search the entire compiled program to find repeating blocks of code whereby reducing all those repeating blocks into one shared sub-routine. Optimizer is executed during the final phase of the compile which presents the ability to cross a unit boundary when performing the optimization.

#opt compress: This new optimization level can be achieved by adding this line of code into your project.

The average size reduction of program memory is approximately 15%. In some cases we have seen program memory reduced by 60%. Provided below are examples of compression levels:

Optimization Level EfficiencyCompiler Versions 
V4.141V5.006
File / Processor(Program Memory Bytes)Reduction %
ex_modbus_master.c
PIC16F1937
3926306822.00%
ex_j1939.c
PIC18F4580
7552616618.00%
ex_st_webserver2.c
PIC18F4550 + ENC28J60
602825266412.00%
This new optimization level is supported on Enhanced PIC16 and PIC18 microcontrollers.


In the continuing evolution of new Version 5 we have added improved standardization and developed to follow conventional C standards:
  • The .h file for specific PIC® MCU are now prototyped. Now included are prototypes of the compiler's built-in functions and data-types. This is useful for programmers using tools that would have flagged the compiler's built-in functions and data-types with an error because they were not defined.
  • A new command-line parameter: sourceline. This now has been added to inject a C source-line into the file being compiled. Usage example:ccsc.exe +FH myfile.c sourceline="#device PIC16F887"
  • Standard C libraries iso646.h and stdbool.h have been added.

Version 5 also includes the following new capabilities: Multiple Compiler Versions, Project Notes, Identifier Explorer, Files Navigation Panel, File History, Show in Explorer, Save to Notes, Mouse-over Watch, Drag and drop "watch items", plus many more. For more information on all of the Version 5 enhancements and new features please visit: www.ccsinfo.com/version5.

Like us on Facebook and follow us on Twitter.

Yours sincerely,
CCS, Inc.

PIC® MCU, MPLAB® IDE, MPLAB® ICD2, MPLAB® ICD3 and dsPIC® are registered trademarks of Microchip Technology Inc. in the U.S. and other countries. REAL ICE, ICSP and In-Circuit Serial Programming are trademarks of Microchip Technology Inc. in the U.S. and other countries.

C-Compiler Version 5 Features - Part two!

Thursday 16 May, 2013

CCS, Inc. We are excited to announce CCSC Version 5 is set for full release next week! We are in the final stages of our successful beta testing and, over the last few weeks of development, we have added even more features and enhancements to the compiler and IDE. We would like to provide you with one last sneak peek into some of the key features that you will want to try for yourself.

Multiple Compiler VersionsMultiple Compiler Versions
Multiple Compiler Versions
Version 5 IDE now supports previous versions of compiler allowing you to choose amongst legacy versions to use. This feature provides for standardization on a specific version based on projects, testing or certifications.



Project Notes
Now, with each project, you'll be able to create a "Project Notes" file. This file allows you to create notes pertaining to each project. Each of these files can be associated to a particular project via the menu or Files navigation pane.
Project Notes



Identifier Explorer

Identifier Explorer
The new "Identifier Explorer" in Version 5 IDE allows for a quick and easy way to view the relationship between program identifiers. For example; which variables and functions are declared in each file, or to see all functions that access a global variable. This screen shot shows for a single function all global variables accessed, as well as, local variables and functions called.

Files navigation panel
Files navigation panel
The style and functionality of the "Files Navigation Panel" has been improved and simplified. For example; it is much easier to add units, for linking, or to add other C and H files in single compilation unit projects.



Project History
Version 5 now automatically maintains a history of source code changes. The IDE can be configured to specify how often and how many old files to be saved (maintain old file on every save, once an hour, once a day, etc). The File Compare utility inside the IDE also keeps this history and allows you to compare a current file to an older file from history.
File Compare
File Compare



Show in Explorer
Show in Explorer
The right-click 'Show in Explorer' is now available on the editor tabs. This allows you to open an explorer window at the destination of the file.



Version 5 is set to launch next week! We invite you to visit www.ccsinfo.com/version5 for more information. Also be sure to stay tuned for upgrade specials and promotional offers.

Follow us on Facebook and Twitter

Yours sincerely,
CCS, Inc.

C-Compiler Version 5 Features - Part one!

Monday 13 May, 2013

CCS, Inc. CCSC Version 5 beta testing is underway and we are receiving exemplary reviews from our testers. Due to successful testing we are set to launch Version 5 on the week of May 20th, 2013! CCS would like to thank the hundreds of loyal customers who have agreed to beta testing Version 5. This large response has helped make Version 5 a solid development tool. At this point we would like to provide you with a sneak peek into some of these improvements.

Save to notes
Save to notes
The option to "Save to notes" has been added to the right-click menu of multiple debug windows which will append the selected data (such as break log or RAM data) to the end of the notes file associated to the project.



Mouse-over Watch
Hovering over any structure or array variable while debugging will now allow you to expand or collapse a pop-up note in the "watch window".
Mouse-over Watch



Drag and drop "watch items"
Drag and drop "watch items".
Have an important watch variable that is in the middle or at the bottom of your watch list? You can now drag and drop watch items within the watch window to reorder them by your preference.



Be on the watch, later this week, for part two of the sneak peek! Version 5 is set to launch on the week of May 20th, 2013!

Just a reminder: May 16th is the last day to enroll for beta testing. To participate in beta testing and for more information on Version 5 we invite you to visit www.ccsinfo.com/version5. Also be sure to stay tuned for upgrade specials and promotional offers.

Follow us on Facebook and Twitter

Yours sincerely,
CCS, Inc.

We're so excited, and we just can't hIDE it!

Monday 25 March, 2013

CCS has been hard at work improving our IDE Compiler. We can barely hold back our excitement to show our users the enhancements we have made to our IDE compiler to improve their projects. Many aspects of the IDE have been polished to give the IDE a more sleek and modern look and to provide more powerful tools for our users.

The Superbar has been slightly re-arranged to emphasize more commonly used items. Our C editor has been updated with instant syntax checking, column editing, smart highlighting and searching with regular expressions. Debugger improvements make it easier to watch complicated variables like arrays and structs.

IDE Screenshot

Statistic Viewer
The convenient Statistic viewer graphically displays the percentage amount of program memory, data memory and stack space. The Functions section graphically shows which functions use the most program memory or data memory in a pie chart. This is very useful for quickly determining which functions the user might need to review if the user is looking for ways to optimize the program to use less memory.



The revamped Tree viewer shows the call tree graphically. Each function of the call tree is represented by a block. Now the user can drag-and-drop the placement of the blocks. It is also possible to hide branches of the call tree and only inspect the calls out of one function.
Tree Viewer



Live Syntax Checker
The Editor now has a live syntax checker. Any code errors that would prevent the project from compiling will be displayed with a red-underline under the offending syntax. This check is done live while you are typing. To view the syntax error, simply hover the mouse over the underling.



Use our Copy project tool to copy all relevant files in your project to a new directory or ZIP file.
Copy Project



Find and Search Tool
The sharpened Find and Search tool can now use regular expressions. Regular expressions allow the user to enter complex parameters into the search field for matching specific combinations of characters, digits or phrases. In the example screenshot, foob([0-9]|a+)r is entered which would find 'foob0r', 'foob1r', 'foobar', 'foobaar', etc.



Find Tools
The Editor has an improved 'Find all References' and 'Find Delcaration' tool. These unique new tools can be selected by right clicking on an identifier in the editor. 'Find All References' finds all the references of this identifier, while intelligently skipping over any commented references or similar identifiers that don't match because of overloading. 'Find Declaration' will find the location where the identifier was declared.


Bookmark Tool
The advanced Bookmark tool is now project specific and spans all files in the project. The menu will also show you the locations where bookmarks were set.



Our Compile menu now has a new 'Build and Run' tool that will compile the program and program it to the microcontroller with one simple mouse click.
Build and Run Tool



Column Editing
The Editor tool also has a column editing feature. This is useful if there are several lines that start or contain the same block of text but need to be replaced or edited. To use this feature, press the CTRL key on the keyboard while using the left mouse button on the mouse to select a block of text. Pressing DEL will delete that block of text, or typing will replace block of text with new text.



Find out for yourself how the new IDE enhancements can strengthen your productivity and get you ahead of the curve on your product development.

Take a look at the Version 5 page for additional features that will be in Version 5.

Keep your eyes peeled for V5 upgrade specials and deals.
Visit ccsinfo.com/enhance to purchase our feature rich IDE Compiler, Maintenance or Upgrade.

Follow us on Facebook and Twitter

You Stream, I Stream, we can all C++ Stream!

Friday 02 November, 2012

Why should you try the C++ Stream I/O operator support in the CCS Compiler? As you know, in standard C, basic I/O are handled by functions like getc(), putc() and printf() and the formatting of data is handled by functions like atoi(), atof(), strotul() and sprintf(). For example, reading a floating point number from the user over RS232 would require a combination of gets() followed by atof(). While CCS includes an input.c library that accomplishes many of these tasks, the input.c library uses a fixed RS232 stream and does not work with Keypad/LCD or USB without modification. Introducting in Version 5 of the CCS C Compiler, there is added support for the C++ stream operator. C++ streams provided a unified interface for I/O and data formatting.

The two new opreators added are the extraction operator and the insertion operator:



Operator SymbolOperator Name
>>Extraction
<< Insertion


When used, these operators show the direction of data. For example:


ExampleComment
x>>yData read/parsed from x and saved/sent to y
x<<yData read/parsed from y and saved/sent to x


The beauty of these operators is that the x and y in the above examples can be any combination of function, RS232 serial stream, variable, string and more.

One of the key features of this new feature in the CCS C Compiler is the way it automatically handles the conversion based upon the data types of the variables passed. These conversions are done automatically, no other helper functions like atof() need to be called. For example, if a variable is of float type the compiler will properly convert it from string to float on an input or convert float to string on an output.

Read all the additional details on output and see examples of C++ Streaming by clicking through to: Version 5

A few examples:


cout << fvar << endl;// Display a floating point variable
cin >> fvar;// Read in a float
lcd_putc << "count=" << count;// send to LCD
string1 >> fvar;// string to float conversion


Additional configurations and control options will also be available in Version 5. Feel free to contact us with any comments or questions about the serial library upgrades.....(support@ccsinfo.com)
Want to be a beta tester* for Version 5.... or make suggestions on what you would like to see in Version 5....click thru to the above link!

*All customers with active maintenance are eligible to apply for V.5 betas.
All customers with active maintenance when V.5 is released will receive V.5 at no additional cost.

Resources
To learn more about CCS's C Compiler, visit: Our Compiler Page

To see more helpful hints and tips, visit: Our FAQ Page or Our Customer Forum


Follow us on Facebook and Twitter

Get Caught Red-handed and Use the New Capture/Compare and PWM Libraries!

Wednesday 24 October, 2012

CCS has added new #use capture() and #use pwm() libraries that makes it easier to use the PIC® MCU capture/compare/PWM, input capture and output capture peripherals. There are sometimes challenges in using these peripherals when designing the PWM to operate at a desired frequency and resolution, or configuring the capture peripheral to measure events at a known time duration. Another challenge is that the configuration is generally only valid for certain PIC families and one oscillator speed; changing the PIC® or the oscillator would mean reviewing and updating the way those peripherals are configured.

CCS’s new #use capture() and #use pwm() libraries solve these problems by making it easy to use these peripherals and making the code portable to different PIC® MCUs and oscillator speeds.


  • #use capture() is when the input capture peripheral samples and holds a timer value when the peripheral’s input pin reaches the desired level. This peripheral is useful for measuring the time duration between two events.

  • #use pwm() is for Pulse-width modulation (PWM), the method of pulsing a digital signal on/off to represent an analog signal. A PWM’s two properties are its frequency and duty cycle. A duty cycle is the ratio the digital signal is on versus off.


See examples of these libraries with further details by clicking through to: Version 5

Additional configurations and control options will also be available in Version 5. Feel free to contact us with any comments or questions about the serial library upgrades.....(support@ccsinfo.com)
Want to be a beta tester* for Version 5.... or make suggestions on what you would like to see in Version 5....click thru to the above link!

*All customers with active maintenance are eligible to apply for V.5 betas.
All customers with active maintenance when V.5 is released will receive V.5 at no additional cost.

Resources
To learn more about CCS's C Compiler, visit: Our Compiler Page

To see more helpful hints and tips, visit: Our FAQ Page or Our Customer Forum


Follow us on Facebook and Twitter

Rolling out in Version 5.....Add Flow Control and Buffering to Serial Routines

Monday 08 October, 2012

The next new item to try when Version 5 Beta is released, is the powerful #use rs232() library that has added transmit buffering, receive buffering, and flow control. While the API for the serial library remains unchanged ( getc(), putc(), printf() ), existing code using this API allows for buffering and flow control by simply modifying the #use rs232() parameters. A user may specify:

- size of transmit buffer
- size of receive buffer
- interrupt usage or no interrupt usage
- pin for CTS and pin for RTS

Click through to: Version 5
to review a usage example of the #use rs232() and additional details on each new usage. Additional configurations and control options will also be available in Version 5. Feel free to contact us with any comments or questions about the serial library upgrades.....(support@ccsinfo.com)

Want to be a beta tester* for Version 5.... or make suggestions on what you would like to see in Version 5....click thru to the above link!

*All customers with active maintenance are eligible to apply for V.5 betas.
All customers with active maintenance when V.5 is released will receive V.5 at no additional cost.

Resources
To learn more about CCS's C Compiler, visit: Our Compiler Page

To see more helpful hints and tips, visit: Our FAQ Page or Our Customer Forum


Follow us on Facebook and Twitter

Rumor has it CCS is developing Version 5.....what? when? how do I get it?

Thursday 27 September, 2012

Just when you thought the CCS C Compiler could not get any better, you thought wrong! CCS will launch Version 5 for beta in the upcoming one to two months. During the beta testing period, new features will be continuously announced and rolled out in new beta versions.

One brand new and exciting feature newly added for Version 5 is the C Profiler. While the PIC® MCU is running, information about the program that is executing, is continuously logged and analyzed to give a profile of the program.

You can easily obtain information while using the C Profiler and ICD-U64, such as:
- Profile only certain blocks of code
- Transmit special debug messages
- Log certain variables

There is quite a bit more to the C Profiler than a news announcement can do justice, as well as the many more additions to Version 5....keep looking for additional news stories, as well as updates to the Version 5 page on our website.

Version 5

Want to be a beta tester* for Version 5.... or make suggestions on what you would like to see in Version 5....click thru to the above link!

*All customers with active maintenance are eligible to apply for V.5 betas.
All customers with active maintenance when V.5 is released will receive V.5 at no additional cost.

Resources
To learn more about CCS's C Compiler, visit: Our Compiler Page

To see more helpful hints and tips, visit: Our FAQ Page or Our Customer Forum


Follow us on Facebook and Twitter

Extra! Extra Libraries! Look for the New #use delay(), #use timer(), and #use touchpad()

Monday 23 July, 2012

There can never be enough built-in functions in a programmers library. CCS has once again added new libraries like #use timer(), #use delay(), and #use touchpad() that wil save you valuable time and space.

The new #use timer() library makes it easy to set-up a tick timer in your project. The library allows for setting up both an interrupt driven and non-interrupt driven tick timer.

The #use delay() library has new options added for configuring PIC devices with a USB peripheral. When using this function for the new USB options, the #use delay() library will set-up all necessary configuration and oscillator settings for the device to use the USB peripheral.

Updates have been made to the #use touchpad() library to support devices with a Charge Time Measurement Unit (CTMU) peripheral. Use this in addition to the already supported Capacitive Sensing Module (CSM) peripheral.


Resources
To learn more about CCS's C Compiler, visit: Our Compiler Page

To see more helpful hints and tips, visit: Our FAQ Page or Our Customer Forum


Follow us on Facebook and Twitter

New Devices, New Peripherals...New Built-in Functions

Monday 23 July, 2012

Many of the new devices from Microchip include new peripheral support. The question you ask yourself, "How do I use these peripherals?"

CCS has answered that question by adding new Built-in Functions to the compiler. Version 4.135 of the compiler now include support for Configurable Logic Cell (CLC), Pulse-Width Modulation (PWM), Complementary Waveform Generator (CWG), Numerically Controlled Oscillator (NCO) and Data Signal Modulator (DSM).

Download a new version or update your compiler today!

Resources
To learn more about CCS's C Compiler, visit: Our Compiler Page

To see more helpful hints and tips, visit: Our FAQ Page or Our Customer Forum


Follow us on Facebook and Twitter

 Displaying 51 to 60 (of 150 articles)   Result Pages: [<< Prev]  ... 6  7  8  9  10 ...  [Next >>]