Jump to content


  • Content Count

  • Joined

  • Last visited

Community Reputation

0 Neutral

About MrB

  • Rank
  1. It's all that is available for the BoostC compiler. I'm guessing that this will be improved in future revisions. If you change the compiler to C2C (Settings>Toolsuite..>C2C-plus) and open the project wizard again, you will see it has many more features, but is still limited.
  2. Thats a good point, I'm not sure how CC5X addresses this issue as I've never encountered it. Their compiler probably just uses two nop's instead of the goto if it detects it will cross a page boundary. Sorry to mention competitor's products here, I just think that the function is very handy for these memory starved devices.
  3. Yes I agree. I've abandoned using CC5X(except for pic10f2xx devices) in favour of BoostC which I consider a superior product on many levels, but this is a very annoying issue. BoostC's compile is Veeeerrry slow on my Pentium3 desktop and P2 laptop(2 or 3 mins) compared to CC5X on my very old Dx2 66MHz 486 laptop!!(30-45sec!) I don't see it as a major issue and I can live with it, but it is pretty frustrating.
  4. Reducing code size. Hi, just wondering if a simple new function could be added to the BoostC compiler? It's well known that for time critical code, nop's are frequently used to pad-out code to meet a certain time requirement. For any code needing two or more nop's in series, an improvement in code memory usage is to use a goto for every two nop's. Both use the same code memory(1), but where a nop is a single cycle instruction, the goto is a two cycle instruction and is safe because, like the nop, it doesn't change any status bits. for example: ... ... nop nop nop nop nop nop nop ... ... (7 bytes ROM for 7 cycle delay) could be replaced with: ... ... goto label1 label1 goto label2 label2 goto label3 label3 nop ... ... (4 bytes ROM for same 7 cycle delay) Could a new function to compliment the existing nop() be included for this? Maybe nop2() (like CC5X) or nopnop() or something? Cheers, Simon Edit: more clear and readable, hopefully.
  5. MrB


    I feel like an idiot. I can't believe I missed that in the reference manual PDF! My eyes must be painted on! Thanks heaps Pavel
  6. MrB


    Tables/Computed goto's Hello, I'm not a guru at C programming, but I'm starting to get the hang of it. I've just started experimenting with SourceBoost and BoostC and like what I see so far. Unfortunately, I've been spoilt with CC5X's #pragma return[] statement and and skip() function to build tables in ROM. I can't find any equivalent in BoostC so was wondering if anyone can point me in the right direction?. I've looked at using Strings, Arrays and Structures(never used them before) but it looks like they get placed in RAM?. The only option I can think of is to embed some assembler? Something like: .... Data = Table(offset); .... asm { Table CLF PCLATH MOVF offset,W ADDWF PCL,1 RETLW 0x04 RETLW 0x04 RETLW 0xFC RETLW 0x94 RETLW 0x48 } ..... Or is there an easier way? Thanks heaps, Simon
  • Create New...