Jump to content

jartim

EstablishedMember
  • Content Count

    39
  • Joined

  • Last visited

Community Reputation

0 Neutral

About jartim

  • Rank
    Regular

Recent Profile Visitors

922 profile views
  1. Hi Pavel You are 100% correct, I was changing the coding from assembler to C and wasn't concentrating! Please disregard my original post. Regards Tim
  2. Bug description: Compiler hangs indefinitely with the following source - Steps to reproduce: This file is "TClass.hpp" - unsigned char ReadFlash(unsigned int FlashAddr) { asm { _tblptru = 0 _tblptrh = _FlashAddr _tblptrl = _FlashAddr+1 tblrd* } return tablat; } Expected behaviour: This should compile with no errors Is the problem 100% reproduceable: 100% every time IDE version: MPLAB-X V4.20 Compiler: BoostC++ Compiler version: V7.43 Target dev
  3. Hi Jorge No, not yet, I will do this today. I assumed that the forum was the first place to go to report an issue? Regards Tim
  4. Bug description: Compiler generates incorrect code from mixed C++ and inline assembler - Steps to reproduce: The following is a sample section of code that generates the wrong address for _TestTemp+1 - void CPUTest() { unsigned char TestTemp[3]; asm { CPUTest_9: movlw 0xff ; set up locations ready to change movwf _TestTemp movwf _TestTemp+1 movwf _TestTemp+2 lfsr 0, _TestTemp+1 ; set up a pointer movlw 0x55 movwf _pos
  5. Thanks Pavel. Unfortunately the Chameleon compiler does not support C++ (does it?) Regards Tim
  6. Bug description: The compiler generates incorrect code for the following statement - while (c -= 1) Steps to reproduce: My source code is this - #define BSIZE 120 unsigned char RxBuffer[BSIZE]@0x100; unsigned char TxBuffer[BSIZE]@0x200; unsigned char RamSwapArea[16U]@0x300; void main() { asm lfsr 1, _RxBuffer asm lfsr 2, _TxBuffer unsigned char c = BSIZE; while (c -= 1) { asm movff _postinc1, _postinc2 } } The bug is the statement "while (c -= 1)" generates an INFSNZ instruction, even though variable c is being decremented. Here is the disassembly
  7. Thanks Pavel, that was the problem. Cannot believe I missed it, it was a long day. Rgds Tim
  8. Hi, Does anyone have any insight into how to access a function parameter from in-line assembler? I am doing the following - void type24Var::add(const unsigned long src) { asm { movf _src, W } } But this will not compile and I get the message - failure type24Var.cpp(68:2): error: error in built-in assembly make[2]: [build/default/production/type24Var.o] Error 1 (ignored) It's driving me crazy, nothing I do seems to clear the error!
  9. Hi guys, I'm getting this message when I build my project - Coff generation: Internal Warning: Member Var:currentCrcRomPtr Unrecognised type id:0xF000000F Coff generation: Internal Warning: Member Var:currentCrcRomPtr Unrecognised type id:0xF000000F Coff generation: Internal Warning: Member Var:currentCrcRomPtr Unrecognised type id:0xF000000F Coff generation: Internal Warning: Member Var:currentCrcRomPtr Unrecognised type id:0xF000000F Coff generation: Internal Warning: Member Var:currentCrcRomPtr Unrecognised type id:0xF000000F Coff generation: Internal Warning: Member Var:currentCrc
  10. Thanks Jorge, pretty much what I had decided to do as well. It just would be easier to have the compiler and linker do all the work for me, rather than have to build the code twice. Regards Tim
  11. Hi Jorge All I'm trying to do is calculate a CRC checksum for the ROM, starting at 0x0000 and ending at the last used address of my program, hence I need to know the last address used. I can't CRC the entire ROM because I will be using the top end for non-volatile storage, and for that I also need to know the last used address. Normally I would edit the linker control file and add a label after the used code section, but this compiler doesn't appear to use a control file, I guess it has the parameters hard-coded in. All I can do at the moment is build the code with a 0x0000
  12. Hi guys, Is there any easy way of identifying the last used address in rom using BoostC or BoostC++ compilers? I cannot find a linker control file to add a label, is there any way to guarantee that a label defined in the source code ends up as the last addressed object? Thanks Tim
  13. Another request, not much luck with enhancements so far but worth a punt... Please can you add support for friend functions for classes? Thanks.
  14. A long shot I know, but what are the chances of the source code being moved to an open-source licence? That way maybe there could be more third-party improvements and bug fixes etc. Just a thought. (I would certainly be interested in adding new features, i.e. 12-bit support, true template support, overloaded constructor support etc.) Regards Tim
  15. Please can you add support for the 12-bit baseline devices to BoostC and BoostC++? Some of these have relatively large FLASH and register memories but have a 12-bit instruction-width core, which the current compiler doesn't support! Regards Tim Jarrett
×
×
  • Create New...