The Godfather talking
This is god damn my place! Capisci?
Sonsivri
 
*
Welcome, Guest. Please login or register.
Did you miss your activation email?
November 23, 2024, 12:20:38 12:20


Login with username, password and session length


Pages: [1]
Print
Author Topic: Hi-Tech PICC problem  (Read 10957 times)
0 Members and 1 Guest are viewing this topic.
preatorian
Junior Member
**
Offline Offline

Posts: 44

Thank You
-Given: 16
-Receive: 18


« on: December 20, 2008, 10:43:02 10:43 »

Hi all,
I'm using Hi-tech PICC PRO v9.60 and i have a problem using it for PIC12F675. In the interrupt service routine the W register is saved automatically by compiler, but in wrong address - 0x7F, which is invalid RAM address. Is it a bug or I am doing something wrong? No matter what code I write - whatever is main, with some ISR function which change the W register, the compiler saves it at invalid address. Can anyone confirm that and is there a solution?
Thanks
Logged
FriskyFerret
Hero Member
*****
Offline Offline

Posts: 560

Thank You
-Given: 513
-Receive: 360


Put it in, take it out.


WWW
« Reply #1 on: December 20, 2008, 02:36:38 14:36 »

Are you using a cracked version? If yes, have you tried this with the trial or Lite version for confirmation of the behavior?
Logged

Dancing pants and leotards, that's what I'm talkin' about!
preatorian
Junior Member
**
Offline Offline

Posts: 44

Thank You
-Given: 16
-Receive: 18


« Reply #2 on: December 20, 2008, 02:43:27 14:43 »

I've tried on v9.51 which is not "PRO" - the code is generated correctly there. The problem is showed on 9.60 PRO, which is cracked. I haven't tried on lite or trial one.
« Last Edit: December 20, 2008, 02:49:18 14:49 by preatorian » Logged
newboy
Junior Member
**
Offline Offline

Posts: 94

Thank You
-Given: 42
-Receive: 20


« Reply #3 on: December 21, 2008, 05:27:27 05:27 »

Which crack do you use ?

Is it from Bunion ... at 'http://www.sonsivri.com/forum/index.php?topic=935.75' ?
Logged
preatorian
Junior Member
**
Offline Offline

Posts: 44

Thank You
-Given: 16
-Receive: 18


« Reply #4 on: December 21, 2008, 08:24:48 08:24 »

yes, it is actually the HCPICP-pro-960PL3...Full  ******UPDATED*****   one.
Logged
bunion
Hero Member
*****
Offline Offline

Posts: 701

Thank You
-Given: 660
-Receive: 4122


« Reply #5 on: December 21, 2008, 08:34:03 20:34 »

preatorian try using the lite version of 9.60 pl3 and eval using untouched exes...

itll be hard for my patched exes to mess stuff up themselves as i havnt changed any jumps etc..how my crack works is this....

EDITED by bunion Smiley,

i did notice however that that version your talkin about and only that version always seemed to run as lite when i was testing it in hitide ide even though it ran as pro eval in mplab...i found out that the place where i had stored code ( in an area only used for memory buffer overun errors ) somehow was messing with my code so i relocated the code to unused areas and that solved it...i then redone all the exes just to make sure...if it doesnt happen on legit eval of same version then no prob i can shift the code along somemore to free up memory your project might be trying to use...pleas check first tho ok Smiley....tip...u can also try my ist patch of 960p3 BEFORE i updated it as that uses diff memory location...if your not using hitide ide that is Smiley

bunion
« Last Edit: December 21, 2008, 09:07:09 21:07 by bunion » Logged
preatorian
Junior Member
**
Offline Offline

Posts: 44

Thank You
-Given: 16
-Receive: 18


« Reply #6 on: December 21, 2008, 10:00:17 22:00 »

preatorian try using the lite version of 9.60 pl3 and eval using untouched exes...

OK bunion I'll try that, will report the results later... thanks

Posted on: December 21, 2008, 10:39:05 22:39 - Automerged

OK, I uninstalled the cracked one. Installed it again with 45 days evaluation period. Recompiled the very same code and the error remains. I am attaching screenshot for visualization of the problem.
Logged
bunion
Hero Member
*****
Offline Offline

Posts: 701

Thank You
-Given: 660
-Receive: 4122


« Reply #7 on: December 21, 2008, 10:29:33 22:29 »

preatorian try same project in mplab ide...if u read my post above youll see that i discovered some bugs in latest hitide ide that dont happen in mplab

...also to remove any doubts about whats causing the error it be best if u can get a new key officially as im guessing u used my tip in pm ?

bunion
Logged
preatorian
Junior Member
**
Offline Offline

Posts: 44

Thank You
-Given: 16
-Receive: 18


« Reply #8 on: December 22, 2008, 09:41:14 09:41 »

yes bunion, I was using you instructions in pm. Now I tried with mplab. The result is the same.
Logged
bunion
Hero Member
*****
Offline Offline

Posts: 701

Thank You
-Given: 660
-Receive: 4122


« Reply #9 on: December 22, 2008, 02:15:33 14:15 »

preatorian does the error happen with all chips or just the one u r using?

if u can plz attach complete project so i can try here bro

bunion
Logged
preatorian
Junior Member
**
Offline Offline

Posts: 44

Thank You
-Given: 16
-Receive: 18


« Reply #10 on: December 22, 2008, 06:46:23 18:46 »

Sure bunion, I'll try to isolate the problem and post a simpler code that shows exactly what's all about. Will compile the simpler code for 12F629 and will post the results here.

Posted on: December 22, 2008, 07:05:12 19:05 - Automerged

OK, I created a new project with only 2 empty functions - main and Isr. Compiled them in mplab for 12F675 and 12F629, where 0x7F is invalid address for both chips. Results are attached.
« Last Edit: December 22, 2008, 07:01:31 19:01 by preatorian » Logged
si_bin
Guest
« Reply #11 on: December 23, 2008, 02:06:11 02:06 »

it's seem to be picc's bug
« Last Edit: December 23, 2008, 06:21:58 06:21 by si_bin » Logged
bunion
Hero Member
*****
Offline Offline

Posts: 701

Thank You
-Given: 660
-Receive: 4122


« Reply #12 on: December 23, 2008, 02:23:59 02:23 »

preatorian im getting same result as you using a completely legit version od picc pro 963

  _T1SYNC 0082             _INTEDG 040E             _PCLATH 000A  
           _INTCON 000B             _OSCCAL 0090             _TMR1GE 0086  
           _TMR1IE 0460             _TMR1IF 0060             _TMR1CS 0081  
           _TMR1ON 0080             _OPTION 0081             _STATUS 0003  
           _TRISIO 0085        __end_of_Isr 0018             saved_w 007F  
        __Hrdata_0 0001          __Hramdata 0001  


so...you are either reading it wrong or youve found a bug and best bet is to talk to them via there forum

if it is a bug then i couldnt use it as id lose all trust in it working correctly Sad

bunion

ah just seen si bins post so he read it wrong si_bin?

« Last Edit: December 23, 2008, 02:27:13 02:27 by bunion » Logged
preatorian
Junior Member
**
Offline Offline

Posts: 44

Thank You
-Given: 16
-Receive: 18


« Reply #13 on: December 23, 2008, 08:43:21 08:43 »

I added a simple counter to the code that increments by 5 in the Isr. The results showed the disassembly in mplab is not complete, for full dissasembly you have to open the *.lst file generated by PICC. Attaching the results.

Posted on: December 23, 2008, 09:25:46 09:25 - Automerged

OK, I've made a post in hi-tech forum, here is the link:
http://forum.htsoft.com/all/showflat.php/Cat/0/Number/90642/an/0/page/0#Post90642
« Last Edit: December 23, 2008, 08:51:50 08:51 by preatorian » Logged
preatorian
Junior Member
**
Offline Offline

Posts: 44

Thank You
-Given: 16
-Receive: 18


« Reply #14 on: December 23, 2008, 11:15:03 11:15 »

Hah, Hi-tech have posted this bug as issue:
Quote
Variables in unimplemented memory (Build 2685)
description: Midrange devices which have more than one RAM bank but GPR memory in only implemented in bank zero, and the limit of GPR memory was less than 07Fh, could have allocated temporary variables into an unimplemented region of bank zero.
More info:
http://forum.htsoft.com/all/showflat.php/Cat/0/Number/69352/an/0/page/0/gonew/1#UNREAD

Posted on: December 23, 2008, 11:56:28 11:56 - Automerged

Just downloaded the latest hotfix and installed it - 9.60PL4 build 3206. It seems everything is fine now, they have fixed that bug.
Logged
bunion
Hero Member
*****
Offline Offline

Posts: 701

Thank You
-Given: 660
-Receive: 4122


« Reply #15 on: December 23, 2008, 06:53:20 18:53 »

Nice one we sorted it in the end ...ok preatorian next step is to share the hotfix as i dont see it anywhere ta bro nice job Smiley

bunion
Logged
godblessu
V.I.P
Junior Member
*****
Offline Offline

Posts: 73

Thank You
-Given: 133
-Receive: 297


« Reply #16 on: December 23, 2008, 07:06:49 19:06 »

Great works preatorian and bunion. In the link below is the hotfix setup file only.
http://www.htsoft.com/forum/attachments/HCPICP-pro-9.60PL4.3206.exe

If you are thinking download this file visits this topic before.
http://www.sonsivri.com/forum/index.php?topic=935.msg69555#msg69555

« Last Edit: December 24, 2008, 10:53:26 10:53 by godblessu » Logged
preatorian
Junior Member
**
Offline Offline

Posts: 44

Thank You
-Given: 16
-Receive: 18


« Reply #17 on: December 23, 2008, 07:40:54 19:40 »

Bunion, guys,
you can get the latest hotfix at http://forum.htsoft.com/all/postlist.php/Cat/0/Board/picissues/page/0 . But I think you have to register in the forum to get to that page.

Regards
Logged
bunion
Hero Member
*****
Offline Offline

Posts: 701

Thank You
-Given: 660
-Receive: 4122


« Reply #18 on: December 23, 2008, 10:48:16 22:48 »

lol thats y i asked you to get us it pretorian :p

thanks

bunion
Logged
preatorian
Junior Member
**
Offline Offline

Posts: 44

Thank You
-Given: 16
-Receive: 18


« Reply #19 on: December 24, 2008, 08:48:15 08:48 »

But registration is free bunion

regards
Logged
mitsos
Hero Member
*****
Offline Offline

Posts: 860

Thank You
-Given: 3086
-Receive: 4596


« Reply #20 on: December 25, 2008, 06:11:58 18:11 »

hi

in the net I find also this link
www.htsoft.com/forum/attachments/HCPICP-pro-9.60PL4.2729.exe

is this patch from hitech, a previous version than HCPICP-pro-9.60PL4.3206.exe?

Please make clear to use or not this official patch.

regards
mitsos
Logged
preatorian
Junior Member
**
Offline Offline

Posts: 44

Thank You
-Given: 16
-Receive: 18


« Reply #21 on: December 25, 2008, 06:45:34 18:45 »

Hi, here is what hi-tech say about the different builds:
Quote
Fixes are now available for HI-TECH C PRO for PIC10/12/16 MCU Family Compiler Version 9.60PL3.

The fixes are distributed in the form of a complete compiler installer. The compiler to be installed is a release candidate for the PICC PRO V9.60PL4 build 3206 compiler. The installed compiler will identify its build number when run.

DISCLAIMER: Please note that the installers posted here may not have been subjected to the same level of testing as the production releases. Installation of this product shall be done at your own risk.

Select the compiler installer corresponding to your operating system from the list below:

    * For Windows installer click here
    * For Linux installer click here
    * For Mac OSX installer click here


NOTE: The above Windows installer includes v1.26 of the MPLAB toolsuite plug-in.

The details of the fixes in this build are as follows:

Driver

    * Additional RAM ranges (Build 3001)
      description: When using the additional RAM ranges feature, the additional ranges were only being added to BANK linker classes. This has been corrected so that the additional ranges are also added to the RAM linker class.
    * IRP bit after startup (Build 2729)
      description: In some circumstances the IRP bit may have been left set prior to entering main(). The main() function assumes that it is clear and therefore indirect accesses in this function may have been affected.
    * Printf in Lite-mode (Build 2685)
      description: When compiling in Lite mode, Error [712] C:\Program Files\HI-TECH Software\PICC\PRO\9.60\lib\doprnt.c; 741. can’t generate code for this expression may have resulted if a project used printf or sprintf library routines, and the %s format specifier was not used in the program.
    * Variables in unimplemented memory (Build 2685)
      description: Midrange devices which have more than one RAM bank but GPR memory in only implemented in bank zero, and the limit of GPR memory was less than 07Fh, could have allocated temporary variables into an unimplemented region of bank zero.



Code Generator

    * Bit Objects (Build 3206)
      description: A missing bank select instruction was found to occur in some circumstances dealing with operations involving bits. For example: banked_bit_object ^= 1;
    * Pointers to Functions (Build 3206)
      description: In some circumstances where a function is only called via a function pointer, no entry was entered into the jump table to access it. This resulted in an undefined label error. This tended to occur mostly when the function pointer was defined as a local variable (auto).
    * Indirectly accessing objects (Build 3206)
      description: A problem was identified that caused the IRP bit to get out of synch with indirectly accessing objects in some circumstances.
    * Externally defined pointers (Build 3001)
      description: The compiler will now allow externally defined pointers (defined in assembly) to be two bytes in size.
    * FNALIGN error (Build 2740)
      description: In complex applications using function pointers to many functions which have no parameters, the compiler may have given an FNALIGN error. This has been corrected.
    * Error message for auto bits (Build 2740)
      description: An error message is now emitted if a bit variable has been declared not static or global.
    * Indirect access with 2-byte pointers (Build 2740)
      description: In some expressions involving multiple indirect accesses via two-byte pointers to RAM objects, the IRP bit could get set incorrectly. This has been corrected.
    * Return value on base-line devices (Build 2729)
      description: In some circumstances on base-line devices (eg: 10Fxxx/12Cxxx) that had a non-fastcall function that returned a byte, the return value may have been incorrect. This has been fixed.
    * Uninitalized Objects (Build 2685)
      description: If a program had bit variables defined and these happened to be allocated in a separate region to other uninitialized objects within a bank, then only one of these regions would get cleared. This has been fixed so that all uninitialized objects are kept in the same region within a bank and therefore the startup code has only one range per bank to clear.
    * Indirect access to 16 bit object (Build 2685)
      description: Fixed a sequence of code used in some circumstances to provide indirect access to a 16 bit data object. The indirect selection would have always operated on bank 0 and 1 which would have caused a problem if the target was in bank 2 or 3.
    * Integer to long conversion (Build 2685)
      description: Fixed bank selection problem with conversion of int to long.
    * Bit operations in Lite mode (Build 2685)
      description: Fixed bank selection bug with assignments to bit objects – this bug is more likely to occur when in Lite mode as more efficient productions can be used in Pro mode.
    * Indirect access to 32 bit object (Build 2685)
      description: Fixed a typo in code for dereferencing a pointer to 32bit object.



Assembler

    * Optimizations on direct switch code (Build 2729)
      description: C code that used the #pragma switch direct on switch statement(s) may have caused the assembler optimizer to incorrectly remove some instructions. This has been corrected.



Libraries

    * Flash library routines (Build 3001)
      description: The library routines provided for accessing flash memory has been update. This is to correct a problem which was preventing them for working correctly.
    * Writing to EEPROM in Lite mode (Build 2685)
      description: Previously, the library function, eprom_write() would fail if building in Lite mode.



Header files

    * EEPROM_WRITE in Lite mode (Build 2685)
      description: Rewrote the EEPROM_WRITE routine so that the timing-critical sequence is observed. Previously, this routine would not succeed if compiled in Lite mode.



Processor definition file (PICC.INI)

    * Incorrect RAM bank ranges for 16F726/727 & 16LF726/727 (Build 3001)
      description: There is an additional 16 bytes of RAM available for these devices in banks 2 & 3 which was missing from the definition.



HI-TIDE plug-in

    * HI-TIDE v3.13 compatibility (Build 3206)
      description: The HI-TIDE plug-in has been updated to support the previous v3.13 HI-TIDE.
Regards
Logged
Pages: [1]
Print
Jump to:  


DISCLAIMER
WE DONT HOST ANY ILLEGAL FILES ON THE SERVER
USE CONTACT US TO REPORT ILLEGAL FILES
ADMINISTRATORS CANNOT BE HELD RESPONSIBLE FOR USERS POSTS AND LINKS

... Copyright © 2003-2999 Sonsivri.to ...
Powered by SMF 1.1.18 | SMF © 2006-2009, Simple Machines LLC | HarzeM Dilber MC