Jump to content


  • Content Count

  • Joined

  • Last visited

Everything posted by gbgb

  1. Is there a way to mark a code section and have it commented out n "one click" I know it is possible to /* at the begining and and then */ at the end but what I am looking for is a "one click" way to insert // at the beginning of each line in the section (an then removing it) This is a feature found in all IDEs that I know, so I either missed how to do this or it does not exist in the SB IDE editor.
  2. OK - my big mistake. Although I have been using SB more than 10 years and installed it several times over this period I simply forgot to press the "integrate" button after selecting the MPLAB folder.
  3. I have integrated successfully into MPLAB-X and have been working for several months. Due to a problem with a PICKIT3 that I am trying to resolve i installed also MPLAB 8.92 (It worked for me over there but for some reason does not work with X) The problem is that SB is not integrating and I cannot set up the toolsuite location for it. What I already did: I reinstalled SB with specification of the MPLAB directory. Result - SB does not appear in the list of tools I saw that the files were not copied so copies them to the Core/MTS directory. Result - still not showing. While copying manually I was asked to do it as administrator and thought that this could have prevented something else from working so Installed SB again as administrator - still files were not copied. Copying them again manually did not help. Any idea how to solve this? If I understand correctly the integration procedure also writes into the registry - anybody know what and where?
  4. Thanks, This did the job - I was almost sure I did run it as administrator since I had also a problem with preg.exe which was solved by running as admin, seems I forgot to run as admin for this one.
  5. Hi, Bought the Pro License (7.42). Ran preg.exe Selected the goodies option Entered the license info and got a message that the key is valid and was stored Then ran goodies.exe Got the following message: "Failed to extract file c:\programfiles(x86)\sourceboost\lib\novolib_pic18t6e4ts2.lib How do I get the goodies?
  6. Thanks, Was about to go through the 6.X installation path but decided to try again. Did the same procedure (administrator, command prompt) several times and suddenly on one of the occasions it worked. Have no idea what caused it to work (or caused it not to work on all the previous trials).
  7. Having a licensing problem and support has not yet responded to my mail (they used to reply within ~24 hours - not this time, and I am stuck) Had to replace my PC and I am trying to install version 7.3 Pro Ran Preg (as administrator as advised above) but still get an error message that I am using the Lite version) Any advice? Note: On the previous PC I had a 6.X version that was later upgraded to 7.X with an upgrade license. Is it possible that I need first to install an old 6.X version with its key and then install 7.3 with the new key?
  8. Worked. I must say I do not understand how I missed this command line parameter - I went through the documentation when i tried to solve this issue. After providing the proper paths I only had to change one register name that did not match my PIC ("baudcon1" instead of "baudctl")
  9. Thanks, I will look into this. Regarding NOVO I am not concerned because I am not so worried. This project should work also without NOVO. There is one #define for this in the project so if I comment it all code related to NOVO will (hopefully) be ignored.
  10. I made a totally new project but still get errors. example: In the main file (demo.c) there is #include "mb.h" however, mb.h is not in the same directory as demo.c so during compilation it says that this file cannot be found. Do I have to explicitly edit all files so that the included files are specified by their relative path to the calling file (or absolute path) or is there a way to define at the project level search paths for include files in the project even if they are scattered between various directories? Otherwise I guess my only option will be to move all files to the same directory.
  11. Thanks. Will try to either re-define the project or edit the project file
  12. I downloaded the Modbus example project, extracted it to a directory and opened the Sourceboost project file - All files seem to be listed in the project with their proper relative directories. Trying to compile - I get errors that the include files cannot be found. Any ideas what else I should configure? Edit - I assume that there should be somewhere to define search paths for the compiler but do not seem to find them
  13. Thanks,I do not use any of the libraries. I will explore it a bit.
  14. Thanks. If any of the developers is reading this I hope they will shed some light over this issue.
  15. Is there an expected behavior for a division by zero? Will the PC jump to a certain location? If not - is there a way that I can catch this exception so that I can handle this situation?
  16. Tried to get answer form support but no response (in previews years answers were given within 1-3 days). I have been using Sourceboost C for several years now together with MPLAB 8. I am trying to make a move to MPLAB X. I imported the project that I work on to MPLAB X and tried to compile it. Compilation works OK Linker fails. In the MPLAB 8 project tree I have the file libc.pic18.lib under the LIBRARY FILES folder I see that it is also listed in the project tree that was imported to MPLAB X When compiling in MPLAB X I get the following error: Failed to open:(x86)/SourceBoost7/Lib/libc.pic18.lib or C:\Program Files (x86)\SourceBoost7\lib/(x86)/SourceBoost7/Lib/libc.pic18.lib Any idea what is the problem and what should be done?
  17. Thank you. Then I guess I will use "if" statements in a certain part of my code - more cumbersome but will do what I need.
  18. Cosider the next code: a=1; switch (a) { case 1: a = a + 1; case 2: do_something(); a = a + 1; case 3: do_another_thing(); } Typically a "break" statement is inserted for each case so that once the condition is satisfied the code does not check further cases. Obviously if it is not inserted then all cases will be checked, however I could not find documentation for the following - If the tested variable changes value within one of the cases in the switch, will the new value be used on the next case satement or does it maintain the entry value. Or in this example will "a" only increase to 2 or will it also do_something(), increase to 3 and do_another_thing()?
  19. Thanks, Although I am using SourceBoost C I am trying to keep my code as clean as possible from "vendor specific" libraries in case a switch to a different compiler will be required. So the question still remains - is it simply and inline asm CLRWDT? I will try, but your statement about the prescaler is opposed to what is written in the device datasheet.
  20. I am using the 18F6527 (18F8722 family) I want to implement a watchdog timer This seems simple enough: enable the WDT either by enabling WDTEN in CONFIG2H, or keep WDTEN disabled and do it in code by manipulating SWDTEN in WDTCON. However some things are not clear to me: 1. How do I reset the watchdog? is it simply an asm CLRWDT within the c code? 2. It says in the maual that reseting the watchdog also clears the prescaler. Does this mean that after each clear I have to reload the prescaler? 3. Which brings me to - can the configuration registers be manipulated at run time via c code? I think that for the 18 family it is possible but am not sure. If so - is it simply writing to them like any other SFR or is there a special procedure? And if not - how do you reload the prescaler if it is cleared at runtime (or prevent form clearing)?
  21. Thanks, Looked a bit into the memory code and noticed that two division functions are created: div_32_32 and div_16_16 So I assume that the compiler selects the correct function according to the longest variable and if required casts the shorter one into a longer one
  22. I am using version 6.97 I have some division operations in my code Is there a requirement that both numerator and denominator be of the same type or is it possible to divide a certain type by a shorter type, say, a long by int (I assume the result will be presented as long). Obviously I do not intend to divide a any type by a longer type
  23. 1 - workarounds are always possible (and I use them). I just thought a "built in" linker mecahnism would make life simpler. 2 - I agree that your idea is more flexible than what I suggested, yet again this is meant for somebody who simply wants to use the -rb flag, but still have the program work without manual intervention (e.g - when developping/debugging a program that will later be loaded by a bootloader that resides in low memory)
  24. If this can already be done, I did not find any reference to it in the manual. 1. When you build a program that does not use any interrupts, and do not use the "-rb" flag to relocate it, the resulting code starts immediately after the reset entry point, and uses th area that is otherwise reserved for interrupts. Even if using #pragma sentences that try to force data into this area is disregarded. Suggestion - add a flag to tell the linker to start code after the reserved memory space 2. When using the "-rb address" flag the reset/interrupt vector area is left blank. One has to manually place the correct data (using "#pargama DATA" or other method) so that the code is invoked correctly on reset/interrupt. Suggestion - add a sub-flag to the -rb flag that will tell it to automatically add the correct "goto" commands. e.g (for 18F family) - if using -rb 0x300" than the reset entry point of the program is at 0x300, interrupt entry is at 0x308 and low priority interrup entry is at 0x318. Have the linker add a "goto 0x300" at location 0x0000, "goto 0x308" at location 0c0008 and "goto 0x318" at location 0x0018.
  • Create New...