Searching \ for '[PIC] Hitech PICC 7.87 and 8.0 release notes' in subject line. ()
Make payments with PayPal - it's fast, free and secure! Help us get a faster server
FAQ page: www.piclist.com/techref/microchip/devices.htm?key=pic
Search entire site for: 'Hitech PICC 7.87 and 8.0 release notes'.

Exact match. Not showing close matches.
PICList Thread
'[PIC] Hitech PICC 7.87 and 8.0 release notes'
2005\05\18@044147 by Chen Xiao Fan

face
flavicon
face
I have just dug out an old version of PICC (version 7.85 with 7.86pl2
patch). I would like
to know what had been fixed in version 7.87 and subsequent versions (maybe
up to
8.0). I can not find any information in Hitech website.

Does anyone have the release notes for PICC 7.87 and/or slightly later
version. I will
guess version 8.00 release notes will be good to have here as well.

Thanks.

Xiaofan

2005\05\18@074421 by Gerhard Fiedler

picon face
Chen Xiao Fan wrote:

> I have just dug out an old version of PICC (version 7.85 with 7.86pl2
> patch). I would like to know what had been fixed in version 7.87 and
> subsequent versions (maybe up to 8.0). I can not find any information in
> Hitech website.

I would contact HiTech. Their support is generally good. I think stuff like
this should be on their site, but apparently it isn't...

> Does anyone have the release notes for PICC 7.87 and/or slightly later
> version. I will guess version 8.00 release notes will be good to have
> here as well.

I'm not sure how the version progression was. After 7.87, my next version
is 8.00. And when I wanted to look at the release notes, I realized that I
only have a setup.exe and would have to install the program to get at the
release notes... I hate this when it happens :)

So ask HiTech... your best bet IMO.

Gerhard

2005\05\18@111607 by Bob Blick

face picon face
> I have just dug out an old version of PICC (version 7.85 with 7.86pl2
> patch). I would like
> to know what had been fixed in version 7.87 and subsequent versions (maybe
> up to
> 8.0). I can not find any information in Hitech website.
>
> Does anyone have the release notes for PICC 7.87 and/or slightly later
> version. I will
> guess version 8.00 release notes will be good to have here as well.

Here are the notes from 7.87:
    HI-TECH PIC C Compiler
    Bug fixes made since v7.86

DATE: 31 May 2001

Below is a list of some of the reported bugs that have been fixed since
version 7.86. Not all code generation bugs are listed since they do not
always directly correspond to a particular piece of code being compiled.


Command Line Driver:

-        When passing options via a command file, lines now may exceed 256
       characters. (7.86PL1)

-        Fixed problems with memory totals given at the end of
       compilation. (7.86PL1)

-        Fixed problem with -ROM option when upper range was 0xFFFF. (7.86PL3,7.87)

-        Fixed problem with linker options used for bit variables. This
       prevented bit variables from being cleared on startup. (7.86PL3)

-        Changed motorola output option to accept both -MOT and -MOTOROLA (7.87)


HPDPIC:

-        Fixed the warning message which is given when two address ranges
       can be merged in the external ROM ranges window. (7.86PL2)


Pre-processor:

-        Fixed a bug in evaluating a complex macro which resulted in giving
       a "Too much pushback" error. (7.86PL3)


Code Generator:

-        Fixed and extended the handling of far pointers for highend processors.
       It now correctly handles far pointers in different banks. (7.86PL1)

-        Fixed problem with carry bit in addition of longs on midrange
       processors. (7.86PL1)

-        Prevented parameter passing unnecessarily going via temporary locations
       on highend processors. (7.86PL1)

-        Calls to the structcopy routine used in assigning structures now copies
       correctly when source and destination structures are in different
       banks. (7.86PL1)

-        For highend processors, assignments from memory to FSR where banks
       differ has been fixed. (7.86PL1)

-        Signed char types now correctly handle the sign bit when being shifted
       right. (7.86PL1)

-        Union assignments didn't record having used W. This affected functions
       which passed a parameter via W but did not use it until after the union
       assignment. (7.86PL1)

-        Fixed bank select problem when library functions llmul or fttol were
       called. (7.86PL3,4)

-        Fixed problem with code being generated for negate on signed chars. Eg:
       singnedchar = -signedchar; (7.86PL3)

-        Fixed bank selection problem involving assignment of bit variables in
       different banks. Eg: bank0bit = !bank1bit; (7.86PL3)

-        Fixed bottle-neck causing slow compilation of functions that had many
       parameters. (7.86PL3)

-        Fixed and optimized code generated when adding/subtracting many char
       array elements.  Eg:  intvar = char_array[0] + char_array[1] +
       char_array[2] + etc... (7.86PL3)

-        Fixed a problem with assignments on highend processors done via fsr when
       source and destination variables are in different banks. (7.86PL3)

-        Fixed interrupt context saving where some temporary locations were not
       being saved. This mainly occurs on highend processors where a math
       library call is made on a 32-bit data type. (v7.86PL4)

-        Fixed a problem with the '~' operator which occured when objects were in
       different banks. (7.86PL4)

-        Fixed a problem with non-const arrays of function pointers which were
       indexed by a variable. (7.86PL4)

-        Fixed a bank selection problem involving indirect assignment to an
       expression which swaps upper & lower nibbles of a byte. (7.86PL4)

-        Fixed a problem where an 8 bit banked pointer gets converted to a 16 bit
       pointer when calling functions which take a const pointer. (7.87)

-        Fixed a bank problem when calls were made to multiply or divide library
       routine. (7.87)

-        Fixed a problem with expressions which toggle a volatile bit type. (7.87)

-        Fixed a problem where not enough memory was being allocated for initialized
       structures. (7.87)

-        In certain combinations of code which involved static local enumerated
types,
       a symbol was being used without memory being allocated for it. This has
       been fixed. (7.87)

-        For highend processors, when assigning to an array indirectly, the
result of
       a library operation where all objects are in the same bank didn't
       end up in the correct location. This has been fixed. (7.87)

-        Initialization of const and far pointers to objects in other banks was
       incorrect. The has now been rectified. (7.87)

-        Bit variables that were qualified as persistent were being allocated a
whole
       byte instead of a bit. Now only the necessary number of bits are
       allocated. (7.87)

-        Fixed a problem with complement operator for baseline processors. (7.87)

-        ANDing two bit variables which were in different banks to another bit
variable
       could incorrectly select the wrong bank. This has been fixed. (7.87)

-        Fixed a comparison problem with signed char's and unsigned char's. (7.87)


Assembler:

-        Fixed a bug in bit test operation where altering FSR could affect a target
       in indf. (7.86PL1)

-        Fixed an optimization bug which affected functions that ended with a
function
       call inside an 'if' statement that have no 'else' part. (7.86PL1)

-        Fixed an optimization that was leaving two 'return' instructions at the end
       of functions. (7.86PL3)

-        Fixed a problem with the -v option which caused erroneous line number
       information in the symbol file. (7.86PL3)

-        Fixed an optimization bug which affected baseline processors where
       use of FSR changed the bank. (7.86PL4)

-        Fixed an optimization problem which affected highend processors using the
       addwfc and subwfb instructions. In some cases these were incorrectly being
       optimized out. (7.87)

-        Prevented optimization which turned a call/return into a jump when the
       return is a retfie instruction. (7.87)


Linker:

-        Now issues "Function never called" warning even if it has no local
       data. (7.86PL1)


Cromwell:

-        Can produce floating point symbol information that can be used in MPLAB
       via the fakelocal switch. (7.86PL1)

-        Fixed problem which caused cromwell to issue: "Unknown prefix PIC12" when
       compiling for a PIC12CE519 (7.86PL3)


Libraries:

-        Library functions correctly select temp bank if required. This caused some
       problems with floating point variables in different banks. (7.86PL1)

-        Fixed special case of byte division by 1 or 2 which sometimes produced an
       incorrect answer.  (7.86PL1)

-        The codecopy routine now correctly checks for a structure being in ROM or
       RAM. (7.86PL1)

-        Changed library makefile so that 16F87x processors can use the library
       versions of eeprom_read, eeprom_write. Changed macro version of EEPROM_READ,
       EEPROM_WRITE to set EEPGD to zero. (7.86PL1)

-        Updated the ICD ROM and RAM ranges (in picinfo.ini) for processors other
       than the 16F877 and 16F876. (7.86PL2)

-        Fixed a problem in copy.as which did not correctly copy initialized data on
       Highend devices using external memory. (7.86PL3)

-        Carry bit was not being cleared first in the conversion of float's to
long's
       which sometimes caused erroneous results. (7.86PL3)

-        Fixed a problem where certain combinations of variables in different banks
       being cleared prevented other variables being initialized. (7.86PL4)

-        Fixed a bank problem affecting baseline pics using 24bit floats that
call the
       storeback_3 library function. (7.87)

-        Certain calls to library functions did not change banks correctly. New
       libraries have now been created to cater for processors with or without
       common memory. (7.87)

-        Added interrupt strategy for newer 16F73,4 chips. (7.87PL1)

-        Fixed MPLAB-ICD ROM/RAM requirements for 16F870,871,872 (7.87PL1)

-        Changed ram clear routine to work faster. (7.87PL1)

-        Compiled libraries with full optimizations. (7.87PL2)


Header files:

-        Removed references to 18Cxxx processors in PIC.H. Even though they were
       #ifdef'ed out, it prevented MPLAB from doing incremental compiles. (7.86PL2)

-        Fixed typo in pic1677x.h which affected some USB definitions for the
       16c745 (7.86PL3)

-        For some midrange processors, the default setting for PWRTD/PWRTE is the
       reverse of other processors. The #define now has the appropriate
       setting. (7.86PL4)

-        Fixed ifdef/endif typo in header files: PIC1665.H, PIC166X.H and
       PIC1674.H (7.87)

-        Added missing header file: PIC1655X.H (7.87PL1)



2005\05\18@111701 by Bob Blick

face picon face
> I have just dug out an old version of PICC (version 7.85 with 7.86pl2
> patch). I would like
> to know what had been fixed in version 7.87 and subsequent versions (maybe
> up to
> 8.0). I can not find any information in Hitech website.
>
> Does anyone have the release notes for PICC 7.87 and/or slightly later
> version. I will
> guess version 8.00 release notes will be good to have here as well.

Here are the notes from 8.01:

------------------------------------------------------------------------------
                               HI-TECH PICC Compiler
                       Bug fixes and limitations for v8.01PL3

DATE: 7 November 2002

Monitor http://www.htsoft.com for information on patches, and/or subscribe to our
announcement mailing list - send email to spam_OUTannounce-requestTakeThisOuTspamhtsoft.com
for more information.
------------------------------------------------------------------------------

Limitations:
===========

-        For Highend devices, a function cannot return a copy of structure
       which resides in ROM.

-        For Highend processors, certain indirect function calls with more than
       one byte of argument may produce incorrect code.

-        The argument list to printf or sprintf should not include function
       calls.  For example, the following will not produce the desired
       result:

printf("x = %f, sin(x) = %f\n", x, sin(x*3.141592/180.0));

       This code demonstrates a workaround:

y = sin(x*3.14592/180.0);
printf("x = %f, sin(x) = %f\n", x, y);

-        The result of the sizeof preprocessor operator when applied to a
       pointer will always return 1. Use of the C sizeof operator will return
       the correct value.

-        Any structure using bitfields within a structure or union cannot be
       initialized. For example, using the following types where a structure
       is a member of the union, initialization of the structure's bitfields
       will generate a compiler error.

typedef struct {
       unsigned    b0:1, b1:1, b2:1, b3:1, b4:1, b5:1, b6:1, b7:1;
} byte_bits;

typedef union {
       byte_bits        bits;
       unsigned char    byte;
} byte_or_bits;

       The following will give a compiler error:

byte_or_bits example = { {1,0,1,1,0,1,0,0 } };

       Instead, use a single value:

byte_or_bits example = { 0b10110100 };


-        Functions which have variables declared within multiple blocks where
       code within the block requires the use of temporary memory may be get
       corrupted when compiled with global optimizations. A work around is
       to move the variable outside of the block.


------------------------------------------------------------------------------

Bugfixes:
========


Command Line Driver:
~~~~~~~~~~~~~~~~~~~

Fixed in version 8.01PL3:

-        When specifying a binary output file, the filename extension
       was incorrectly specified as ".hex". It is now ".bin".

Fixed in version 8.00PL4:

-        Fixed bug when using the -RESROM option and an address of zero.

Parser:
~~~~~~

Fixes in version 8.00PL4

-        An error is now produced if an enumeration member is redeclared.
       Previously this caused the parser to hang or generate erroneous output.

Code Generator:
~~~~~~~~~~~~~~

Fixed in version 8.01

-        Fixed a problem with addition and subtraction of long's when the
       FSR register was involved.

Fixed in version 8.00PL4

-        With certain values using a "long" data type, addition and subtraction
       could give an inaccurate result. This has been fixed.

Assembler:
~~~~~~~~~

Fixed in version 8.01:

-        Fixed a problem with a code merging optimization when applied to
       volatile objects.

Fixed in version 8.00PL4:

-        Fixed a problem with the ORG directive which was causing a "Bad object
       file format" error.

-        Fixed problem with IRP directive followed by an assembler comment
       containing whitespace.

Linker:
~~~~~~

Fixed in version 8.01PL1

-        Fixed a bug which may have caused the linker to crash when displaying
       error messages.

Libraries:
~~~~~~~~~

Fixed in version 8.01PL3

-        Fixed a bug in the fast double math routines used by highend devices
       when there was a zero parameter.


Header files:
~~~~~~~~~~~~

Fixed in version 8.01PL3

-        Changed config mask definitions for all midrange/baseline devices so
       that the config. word canot exceed 3FFFh (midrange) and 0FFFh
       (baseline). Formerly configuration word values that exceeded these
       limits caused problems during hex file download on certain device
programmers.

-        pic12f6x.h: Fixed PWTEN/DIS config mask definitions, also fixed
       EEPROM macro.

-        pic1672.h: Corrected config mask definitions relating to PWRTE bit.

-        pic1677x.h: Corrected config mask definitions for 16C770 and 16C771
       devices.

-        pic169xx.h: ADIF/E bit corrected so defined for all devices in this
       file except the 16C923.

-        pic16f81x.h: Updated PIEx and OSCCON definitions. Volatile
       declarations added to some SFRs.

Fixed in version 8.00PL4

-        Typo corrected in pic1687x.h which affected PIC16F87xA
       devices.

------------------------------------------------------------------------------


2005\05\18@194821 by Chen Xiao Fan
face
flavicon
face
Thanks a lot, Bob. I also find that they
have a Linux version in the CD as well.

Xiaofan

2005\05\19@023813 by Chen Xiao Fan

face
flavicon
face
Thanks a lot to Bob for posting the content of the
file BUGFIXES.TXT from version 7.87 and 8.01.

Could you also post the content of the readme file
(READ.ME)? That document talks about the new chips
supported, new features and problems remaining.
Thanks in advance.

Xiaofan


2005\05\19@032940 by Jan-Erik Soderholm

face picon face
Chen Xiao Fan wrote :

> Thanks a lot to Bob for posting the content of the
> file BUGFIXES.TXT from version 7.87 and 8.01.
>
> Could you also post the content of the readme file
> (READ.ME)? That document talks about the new chips
> supported, new features and problems remaining.
> Thanks in advance.

Hi.
Please do not waste my (and others) internet and mail
bandwidth with this. Isn't this available directly from the
producer of the tool ?

At least put them up on some web and post links instead.
Or mail the files privatly off-list...

Jan-Erik



2005\05\19@034156 by Chen Xiao Fan

face
flavicon
face
Sorry about that but I thought the files are pretty small.
I will send an email to Bob off-list.

-----Original Message-----
From: Jan-Erik Soderholm [.....jan-erik.soderholmKILLspamspam@spam@telia.com]
Sent: Thursday, May 19, 2005 3:30 PM
To: piclistspamKILLspammit.edu
Subject: RE: [PIC] Hitech PICC 7.87 and 8.0 release notes


Chen Xiao Fan wrote :

> Thanks a lot to Bob for posting the content of the
> file BUGFIXES.TXT from version 7.87 and 8.01.
>
> Could you also post the content of the readme file
> (READ.ME)? That document talks about the new chips
> supported, new features and problems remaining.
> Thanks in advance.

Hi.
Please do not waste my (and others) internet and mail
bandwidth with this. Isn't this available directly from the
producer of the tool ?

At least put them up on some web and post links instead.
Or mail the files privatly off-list...

Jan-Erik

More... (looser matching)
- Last day of these posts
- In 2005 , 2006 only
- Today
- New search...