Jump to content

chuckj

EstablishedMember
  • Content Count

    24
  • Joined

  • Last visited

Community Reputation

0 Neutral

About chuckj

  • Rank
    Regular

Profile Information

  • Gender
    Male
  1. Using MPLabX ver 5.15 with SourceBoost 7.43. Working to compile an existing project with the Chameleon compiler, found these problems(which compiled OK with BoostC): 1)Got a strange error when trying to compile a switch statement using an enumeration: Attached file newmain.c failed with this error: newmain.c(28): error: missing closing curly bracket (1) Compile succeeds if the statement case SSStart: is replaced with case 0: **************************** 2)Definition of enum EN_TASK_STATUS in novo.h fails compile due to trailing comma: enum EN_TASK_STATU
  2. PROBLEM SOLVED, my PC needed msvcp120.dll from the Microsoft Visual C++ Redistributable Package for Visual Studio 2013. I have a 64 bit computer, so I installed both the 64 bit and 32 bit versions as recommended by Microsoft. I discovered the need for this dll by running the Chameleon compiler via c_pic18.exe command line interface. Hope this helps someone with a similar problem...
  3. Repeated test with MPLabX v5.15 and default C program generated by MPLabX. Results are the same as detailed in previous post - compiles fine with BoostC, using Chameleon compiler fails with 'recipe for target xxx failed' error. Error refers to line 101 of nbproject/Makefile-default.mk file which I have attached to this post. Has anyone else seen this? Makefile-default.mk
  4. Using BoostC 7.43 on MPLabX 4.00 on Windows 7 with PIC18F25K22. I newly installed version 7.43, standard BoostC compile works fine. I presume that the Chameleon compiler supports the PIC18F25K22. When I add -force_chameleon to compiler additional options, I get this result: ******************************************************************************************************************************************* CLEAN SUCCESSFUL (total time: 113ms) make -f nbproject/Makefile-default.mk SUBPROJECTS= .build-conf make[1]: Entering directory 'C:/PICProjects/GPS' make
  5. Running Windows XP SP3 MPLAB X ver 1.80 BoostC ver 7.20 I am getting these compilation errors that I was not getting before I updated Boostc: wallcontrol.c(751:26): error: failed to generate expression wallcontrol.c(751:26): error: invalid operand '&(lata)' wallcontrol.c(751:24): error: failed to generate expression wallcontrol.c(752:28): error: failed to generate expression wallcontrol.c(752:28): error: invalid operand '&(stEE.stVars.eWallAMode)' wallcontrol.c(752:26): error: failed to generate expression wallcontrol.c(753:31): error: failed to generate expression The er
  6. Jorge, Thanks for the reply, I was not aware about the need to add the library file to the project. I did try adding the library file to the project and yes, I did see the pathname problem in MPLAB X. I agree that it probably has to do with the space in the pathname. I have posted the path issue on the Microchip MPLAB X forum. Chuck
  7. I am running on MPLAB X ver 1.1 with SB ver 7.05.1 and ICD3. To help others, I will list stumbling blocks I had and the 1 issue I need help with(see bottom) Stumbling blocks overcome: 1)I installed MPLAB X after installing BoostC. If you want to do this, first read MplabX_Plugin.pdf in your SourceBoost root directory(C:\Program Files\Sourceboost). It tells you what you need to do. 2)To run NOVO RTOS, you need the -swsc linker option. To add linker options in MPLAB X, select File-Project Properties. Under categories, select "SourceBoost Linker for PIC...." Beside "Options catego
  8. Can someone point me to a document which gives the regular expression syntax for SouceBoost IDE search and replace? If it uses Regex, which flavor is it? Thanks, Chuck
  9. This is only a minor issue which is easily worked around. Using latest BoostC download Ver 7.04 on Windows XP SP2. Compiler gives invalid operand on: short sTest; sTest = -(20); sTest = -(20*10); In general, it looks the compiler does not like unary minus followed by a paren. Thanks, Chuck
  10. Thank you! I did not think to look in the linker options. The linker option -isrnocontext removes the extra code from the ISRs. Chuck
  11. Using BoostC compiler on a PIC18F2420. I have a very time critical application which requires an interrupt response on the order of 25 clocks. Is there any way to eliminate the saving and restoring of the PROD and FSR0 regs in the interrupt() routine? This would eliminate about 16 clocks from the routine. Or is there any way to code the entire interrupt() routine in assembly? Thanks, Chuck
  12. My apologies if this has been mentioned somewhere. For PIC 18F processors( and perhaps others) you can use CCP1 and Timer1 to get an accurate tick period without using a software counter. The key is using the CCP Compare Special Event Trigger to reload Timer 1. Here is a code snippet to illustrate setting up 1 millisecond tick on a 40 MHz processor: /**** Defines to make it easy to change clock frequency or prescaler ****/ //40 MHz clock #define FOSC 40000000 #define TIMER1_CLOCKS_PER_US ((FOSC/4)/1000000) //Prescaler value must reflect PS1:PS0 values in PRESCALER_MASK!! #defi
  13. Thanks for the replies, I will use both of the suggested methods!
  14. My apologies if this has been asked before! I have a C routine: void CalcCRC( unsigned char ucData ) { } that I would like to call from inline assembly. I found that calling the routine can be done by: asm { //This compiles fine in assembly without a leading underscore. call CalcCRC } My problem is how to access the parameter ucData to the CalcCRC procedure from inline assembly. I have tried: movwf ucData movwf _ucData movwf CalcCRC_ucData movwf _CalcCRC_ucData movwf CalcCRC_arg_ucData movwf _CalcCRC_arg_ucData I know I can declare ucData
  15. Thanks for the reply, I have already tried that. Putting double quotes around the entire path results in a similar error as in my first case: Unable to open input file: C:\Program Files\SourceBoost\include. My Extra compiler options line actually looks like: -O2 -I ..\..\modbus\rtu;..\..\modbus\include;port;"C:\Program Files\SourceBoost\include" It was working fine before I added the last path.
×
×
  • Create New...