Jump to content

DoubleA

EstablishedMember
  • Content Count

    6
  • Joined

  • Last visited

Community Reputation

0 Neutral

About DoubleA

  • Rank
    Newbrie
  1. Hi Pavel, I have since tried rebuilding my product with source boost 6.31 with subdir. This complies but you must delete the all obj & makefile.gen files if won't compile the first time. You must have changed something in last couple of versions of the complier. Regards Andrew
  2. Questions on the build process with Make.exe. I notice boostc IDE creates a makefile.gen file for building the project. I found issue when I was rebuilding a project, it would not compile. I want to have all C driver files in directory all my projects are in subdirectory with there own matching header files (*.h). For now I have all my c and header files in the project directory to get the project to complie. This is not the best, if you make a change to a driver C file, then you have to copy it to other project directories. Also my one of software engineers did not like the way makefile.gen was building the project. Could you explain how I could do this using your make.exe ? I tried to help for your make program- C:\Electron\SourceBoost>make -h FATAL: Usage: 'make [-f fname] [-aedDinprstv] [target...] [macro=value...]' Andrew
  3. BoostC 1.8 now surpports "rom char*" Complier give no errors, but linker gives the following warnings //////////////////////// Linking... Warning: cannot symbolize, no COFF equivalent data type for variable: 'test' Building CASM file /////////////////////// example code /////////////////////// void main(void) { rom char *test = "testing"; }
  4. I found a problem in the assembled code, used MPLAB simulator. The complier code generated for the const char *"xxx" strings is generating the wrong offsets to some of the strings, this because when the a project code size is over a 2k page, the complier adds page switching code, but const char code account for extra two instructions for this therefore the address constant offset to the strings are incorrect by 2. I found with my project in the simulator that code ends up in a 4 instruction endless loop, because of this. Here is the code exmaple from main asm code ;;;;;;;; if( string_match(manager) == 1)//check for " > " manager prompt movlw D'9' ;; incorrect offset!!! Should be D’11’ movwf param00_string_match call _string_match bcf PCLATH, 3 bcf PCLATH, 4 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; const_param__code movwf __const_ptr__W movf PCLATH, W movwf __const_ptr__PCLATH movf __const_ptr__W, W addlw LOW($+D'7' ) movlw HIGH($+D'6' ) btfsc STATUS, C addlw 1 movwf PCLATH movf __const_ptr__W, W addwf PCL, F movf __const_ptr__param00, W ;;access arr020 string addlw LOW(arr020+D'1' ) ;; , offset to this address is 0 works fine movlw HIGH(arr020+D'1' ) btfsc STATUS, C addlw 1 movwf PCLATH movf __const_ptr__param00, W call arr020 bcf PCLATH, 3 bcf PCLATH, 4 goto const_ptr_finish movf __const_ptr__param00, W ;;access arr000 string addlw LOW(arr000+D'1' ) ;; , offset to this address is wrong off by -2 movlw HIGH(arr000+D'1' ) ;;addresses “bcf PCLATH, 4” two lines up btfsc STATUS, C addlw 1 movwf PCLATH movf __const_ptr__param00, W call arr000 bcf PCLATH, 3 bcf PCLATH, 4 goto const_ptr_finish
  5. Bug description: Complied code does not work correctly, when assembled code is near 2K or over in size. With optimization on max. code fits within 2K , the code work fine. Turn all optimization off the code is over 2K, and code does not work, starts running random pieces of the code. I think program memory page selecting is not correctly. Steps to reproduce: As long as the complied code is at least 2K or over the code will fail to work correctly, if at all. Even if the optimization is fully on or off. My current and previous project have accessed const char *”xxx” all the way through the code, I think this maybe a caused. I will try debug assembled code in few weeks, (Going to do the project’s PCB) with a Microchip ICD2. Pavel – I can send you code if want ? Target: PIC16F88 & PIC16F628 IDE version: 5.6 Compiler: Compiler C2C++ Compiler version: 5.6e OS: Windows 2000 SP4 Comments: Has anyone had this problem ? java script:emoticon('') smilie
  6. I just Had the same problem, the project I have been working on & off, for 6 months. The project is now quite large. I have 5 include files, most of these functions only having 1-2 char 's. All was fine until I decided to tidy-up my code in "main" creating a function for each task. Then it failed to complie so I have just went back to my old code, which is bit untidy. The complier seems to do ok until the message Adding page switching ...... And then gives errors messages like can't find the PIC header file Pavel I can sent you the source files, if want. I just tried it with 5.4v no luck.
×
×
  • Create New...