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
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
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
> 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
> 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-requestTakeThisOuT
htsoft.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
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
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
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
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.soderholmKILLspam
@spam@telia.com]
Sent: Thursday, May 19, 2005 3:30 PM
To: piclist
KILLspammit.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...